«Мне нужно как-то сказать об этом».
Теперь Ёнхо знал, что за баг произошел. Но что-то связанное с SQL... это было исключением. Все, что он знал, было из курса по базам данных, который читали год назад.
«Надо как-то намекнуть об этом Сонгю-хёну».
Сначала он хотел бы подтвердить это у Сонгю. Даже сейчас память использовалась на 100%. Они смогли пообедать только после 2-х перезапусков.
Ёнхо тихо позвал Сонгю, который собирался войти в конференц-зал.
«Хён, подожди секунду».
«Что такое?»
«Просто давай поговорим секундочку».
«Зачем? Я сейчас занят».
«Это из-за этого. Мне нужно уточнить только один момент».
«Хён, случайно, ты не знаешь, что такое Table Lock?»
«Table Lock?»
«Да. Ты знаешь, как ошибка вытекает из строки 107?»
«Ну?»
«Оператор запроса (сокращенный вариант SQL, видимо), который выполняется в этой строке, содержит что-то, запускающее SELECT FOR UPDATE.»
«SELECT FOR UPDATE?»
«Я поискал об этом в Интернете и узнал, что это та же система используется для бронирования билетов в кинотеатрах. Кажется, мы используем её для системы регистрации на курсы.
«В этом проблема, ты думаешь?»
«Я обнаружил, что суть Table Lock такая: когда я использую таблицу, никто другой не может делать тоже самое. Если ты хочешь использовать её, то нужно подождать, пока я не закончу».
«Хм...»
«Поэтому пока я не закончу работать с таблицей, остальные будут ждать бесконечно долго».
«Так ты говоришь, память заполняется, потому что один человек не закончил работать с таблицей и другие люди ждут его?»
Казалось, что Сонгю получил представление о ситуации.
«Ты прав. Из-за ожидания скорость использования памяти продолжает увеличиваться все это время. Так что даже несмотря на то, что все прекрасно работает после перезапуска, память будет продолжать заполняться.
«У тебя есть идеи?»
«Чтобы избавиться от статуса ожидания, надо вставить запрос WAIT 3 для автоматического завершения сеансов пользователей».
«Это все было в Интернете?»
Сонгю был очень удивлен, слушая Ёнхо эти несколько минут. Он не знал об этих навыках Ёнхо.
«Ты знаешь? «Stack Overfly». Но на самом деле, я реально не знаю, что это значит...»
«Говоришь, Stack Overfly... я пользовался им. Давайте поговорим об этом с работником».
Stack Overfly (*пародия на Stack Overflow - популярная система вопросов и ответов о программировании).
Как крупнейший в мире веб-сайт вопросов и ответов он может похвастаться 1.7 миллионами пользователей и более 5 миллионами вопросов. Сонгю часто использовал его, когда работал с программами на подработке.
«Пойдем скорей».
Ёнхо последовал за Сонгю в офис поддержки студентов.
Уже много раз БД перезапускали. Все были измучены из-за звонков, которые обрушивались после каждого перезапуска.
«Простите, сэр, вы обнаружили проблему?»
Сонгю осторожно спросил помощника менеджера Ким Вонхо. Но ему не ответили. Помощник менеджера Ким по-прежнему смотрел на экран. Он просто что-то пробормотал.
«Вот дерьмо... Почему оно не работает».
«Помощник менеджера Ким».
«Нет никаких проблем со строкой 107».
Помощник менеджера Ким продолжал смотреть на протокол сервера. В протоколе было сказано, что ошибка происходит в строке 107.
«ПОМОЩНИК МЕНЕДЖЕРА КИМ!»
Когда Сонгю говорил тихо, помощник его не слышал. Поэтому Сонгю позвал его громче. Наконец, помощник менеджера Ким обернулся к Сонгю.
«Я занят, поговорим позже».
Он обращался к Сонгю, как будто он его не существует. Он не думал, что студент колледжа поймет что-то из этого.
«Я посмотрел протокол, и думаю, что это из-за блокировки таблицы».
«Вы меня не слышали? Просто идите и проводите мониторинг».
Сонгю даже не дали договорить до конца.
Глава 9. Регистрация на курсы (4)
После обеда в офис поддержки студентов зашел мужчина средних лет.
«О? Профессор».
«Здравствуй, Сонгю».
«Почему вы здесь, сэр? Сегодня же выходной...»
«Я пришел посмотреть, как идет работа, но кажется, я выбрал неудачное время для этого».
Профессор Чон Хёншик пришел в поисках рабочей группы регистрации на курсы в офис поддержки студентов. Профессор был куратором SUC и предложил им эту работу.
«Н... Нет, сэр».
«Я слышал, что была проблема с системой регистрации курса»?
«Да».
«Понятно, так что, вы нашли причину?»
Посмотрев на помощника Кима краем глаза, Согю начал решительно рассказывать все профессору. Они больше не доверяли помощнику Киму, который даже не выслушал их и просто продолжал перезапускать систему.
«Это... Я думаю, что это проблема блокировки таблицы».
«Table Lock?»
В глазах профессора Чона загорелся интерес. Сонгю сказал ему то, что он слышал от Ёнхо. Выслушав его, профессор заговорил.
«Это разумно... Что вы думаете, помощник менеджера Ким?»
«Э... Это...»
«Может, стоит попробовать?»
После слов профессора помощник Ким торопливо открыл браузер. Помощник менеджера Ким все неправильно понял.
«Помощник менеджера Ким».
«Д... Да?»
Профессор Чон сразу понял, что собирается делать помощник Ким. Он ничего не знал об ошибке.
«Студенты не подсматривают в свои лекции, а вы ищете в интернете?»
«П... Профессор!»
«Пожалуйста, позовите сюда ответственного менеджера прямо сейчас».
«П... Профессор... это...»
«Быстро!»