Готовый перевод Coder Lee Yongho / Кодер Ли Ёнхо: Глава 18

Глава 18. Регулярный мониторинг (2)

После проведения мониторинга оставался еще час до конца рабочего дня. Ким Вонхо сказал, что у него есть некоторые дела, которые ему надо закончить, так что остальные могут уйти пораньше; И помощник Пак сказал Сумин и Ёнхо подождать в ближайшем кафе.

«Как прошел день?»

«Честно говоря, я ничего не понимаю».

Это была незнакомая среда и ряд новых слов. Для Ёнхо и Сумин, которые даже не изучали shell-команды, серверная была неизведанной сферой.

«А вы, мисс Сумин?»

«Тоже...»

«Ну, так всегда сначала. Честно говоря, для новичков, которые даже не изучали java как следует, трудно свободно использовать shell-команды».

«Нам нужно узнать, что такое shell?»

«Конечно, shell является обязательным, если вы хотите работать с такими серверами, как Linux или Unix».

«Реально, это одна трудность за другой»

«Но все же, если вы изучали раньше только один язык программирования, то остальные освоите быстрее, поэтому лучше знать хотя бы один».

«Я понимаю».

«Не слишком быстро работайте и не переутомляйтесь; но и не работайте слишком медленно и не отставайте».

«……»

«Давайте, отпускаю пораньше, так что идите».

Сумин и Ёнхо были рады этим словам.

***

Ёнхо, вернувшись домой, увидел своего лежащего отца.

«Я дома».

«Хорошо».

Возможно, у него была дневная смена, но он находился дома. Однако он был бледным, как будто очень болен.

«Что-нибудь болит?»

Вместо отца ответил кто-то другой.

«Он не спит последние дни»

«Из-за стресса? Кажется, это первые симптомы бессонницы. Может, в больницу?»

«Какая больница... Вероятно, мне станет лучше, если я просто останусь здесь».

Отец спросил Ёнхо, как будто сын его беспокоит больше, чем собственное здоровье:

«Ну, как на работе?»

«Я делаю все возможное»

«Всегда оказывай почтение своим начальникам»

«Конечно».

«Всегда соглашайся, когда они дают тебе работу»

«Хорошо».

«Ладно. Я верю в тебя, сын».

Слово «верить» опустилось тяжестью на плечи Ёнхо.

***

Работа, которую давал ему Ким Вонхо, была бесконечной. Когда он думал, что уже конец, он был еще в начале, как будто лента Мёбиуса. Сегодня Ёнхо снова проверял исправления на домашней странице управления продажами на коммерческом сервере.

Но ошибка, которую он вчера не видел, появилась в окне багов.

«Что за черт? До вчерашнего дня таких ошибок не было».

Вчера точно не было ошибок на домашней странице, но теперь появилась ошибка оповещения. В этот момент в офисе зазвонил телефон.

* Дзинь *

Лицо помощника Пака, поднявшего трубку, исказилось.

«Простите? ЧТО?»

-В настоящее время ваш веб-сервер использует более 90% своего лимита. Я думаю, вы должны быстрее прийти сюда и проверить его.

«Нет, нет, нет. Как это могло произойти?».

-Мы не знаем точную причину. Пожалуйста, придите быстрее сюда и исправьте, удалите или сделайте что-нибудь.

«Конечно».

Менеджер Чхве начал спрашивать помощника менеджера Пака, как только тот положил трубку.

«Что случилось?»

«Ну... Вы знаете сервер, где находится страница управления?»

«Что с ним?»

«Сказали, что используется более 90% лимита оборудования»

«Что? С чего бы?»

«Это то, что я хочу узнать. Проклятие».

«Быстрее проверь это».

После того, как Пак Чольун отправился в серверное помещение, менеджер Чхве позвал Вонхо, Ёнхо и Сумин.

«Вы вчера что-нибудь трогали в серверной?»

«……»

Ёнхо и Сумин не знали, что сказать, поэтому просто молча стояли. Единственное, к чему они вчера прикасались в серверной, была ручка для записи в журнале регистрации. Они даже не трогали клавиатуру и просто смотрели в монитор до конца рабочего дня.

«Помощник менеджера Ким?»

Менеджер Чхве спросил Ким Вонхо.

«Разве не вы говорили, что исправите некоторые баги?»

«Я использовал кое-что... этого не было в условиях контракта на техническое обслуживание».

«Проблема возникла из-за этого?»

«Не было никаких проблем во время теста, который я проводил со стажерами...»

«Помощник Пак подтверждает проблему, поэтому, помощник Ким, тоже проверьте источники, которые вы загрузили вчера».

«Конечно».

«Ёнхо и мисс Сумин, тоже посмотрите соответствующие коды и поищите какие-нибудь проблемы. Сейчас!»

Вернувшись на свое место, Ёнхо открыл страницу управления на экране.

«Это из файла, который мы загрузили вчера».

Ёнхо посмотрел на окно багов. Там появились подробности.

Название: throw new Exception.

Подробнее: throw new Exception происходит в строке 735 в SalesAvgControl.class. Это намеренная ошибка программиста, поэтому упомянутые строки должны быть прокомментированы.

Решение: Комментирование строки 735

Ёнхо открыл нужный файл и с помощью окна багов посмотрел на строку 735.

«Что за черт? Там нет ничего. Как можно говорить, что это ошибка программиста...»

Ёнхо, открыв файл, который он писал локально, не мог ничего найти.

«Черт, ошибки есть и в самом окне багов?»

Ёнхо вдруг подумал, что это возможно, если баги возникнут в окне багов. И хотя оно до сих пор определяло ошибки с точностью до 100%, но это было возможно. Он не нашел ошибку в своем файле, просмотрев его много раз.

«В строке 735 точно ничего нет...»

Более того, строка была пустой. Однако даже когда он запустил снова, результат был таким же.

* Вздох * «Что, черт возьми, это за проблема?» Даже если это ошибка, почему используется более 90% от лимита оборудования?»

Это была целая куча всего, что он не понимал; Почему такая ошибка вдруг произошла и почему используется более 90% от лимита оборудования.

***

Позвонил помощник Пак, который был в серверной. Проблема была в системном журнале - чрезмерно увеличен размер файла системного журнала веб-сервера.

«Эй, почему размер файла стал таким большим?»

-Мы не знаем. Мы удалили этот файл, но размер стремительно увеличился сразу после удаления.

«Проклятие, это убивает меня».

- Сейчас я удалю файлы журнала, а пока все сотрудники компании подрядчика доделают свою работу на резервном сервере, так что будет лучше, если вы быстро выясните причину.

«Может, в протоколе было указано, где произошла ошибка?»

- Ох, я не рассказал вам об этом. Это похоже на ошибку, которая у нас возникла в минувшие выходные. Ничего не выводится, нет никакого протокола печати из оператора try-catch или информации, где произошла ошибка. В файле журнала одни пробелы.

«...Я хочу убить того, кто это сделал».

-Убьете кого-нибудь позже, решение проблемы на первом месте.

«Хорошо. Помощник менеджера Ким говорит, что он установил источник вчера, поэтому мы, вероятно, найдем проблему в нем. Так что побудьте там подольше».

-Да, менеджер.

Менеджер Чхве, закончив звонок, позвал Ким Вонхо.

«Помощник менеджера Ким, вы нашли что-нибудь?»

«Еще нет».

«Помощник менеджера Пак только что связался со мной. Видимо файлы журнала накапливаются и съедают аппаратное ограничение».

«Что он сказал о содержании ошибки?»

«По-видимому, нет никакого содержимого. Файлы пусты».

«Хм...»

Ким Вонхо поглаживал подбородок с не совсем понимающим видом.

«Кто редактировал код?»

«Мисс Сумин и г-н Ёнхо».

«Найди любые пробелы в отчете об ошибке throw new в источниках и отправь им обоим».

Строка, которая была в окне багов, мелькнула в голове Ёнхо, слышавшем разговор между менеджером Чхве и Ким Вонхо.

throw new Exception(“ “);

«Значит, окно багов показало правильно, так?»

Если файл журнала был пустым, значит, ошибка возникла из-за оператора throw new Exception, как и показало окно багов. Пробелы между двойными кавычками накапливались в лог-файле.

«Итак, throw new Exception означает, что программист сделал ошибку специально... это означает, что строка была добавлена к источнику».

Ёнхо проверил источник, который он загрузил в SVN. Он загрузил его перед отправкой Вонхо. Он узнал от помощника менеджера Со, что надо зафиксировать источники в SVN перед их загрузкой на коммерческий сервер.

Я не могу найти его, сколько бы ни смотрел...»

Но строки throw new Exception нигде не было.

http://tl.rulate.ru/book/587/15533

Обсуждение главы:

Всего комментариев: 4
#
Спасибо
Развернуть
#
Спасибо)))
Развернуть
#
Зачем этот раб остается там работать.
Решая проблемы для людей за деньги он бы зарабатывал намного больше .
Развернуть
#
Странное поведение компании... первая реакция при критических ошибках продакшена после изменения программы должна быть откат на прошлую стабильную версию. Потом можно хоть до посинения искать ошибку и искать кого побить. Чаще проще переписать изменения построчно заново чем искать где же опечатка.
Развернуть
Чтобы оставлять комментарии Войдите или Зарегистрируйтесь