Перейти к содержимому

Troubleshooting

Подборка типовых проблем при эксплуатации GetOLT и проверенных способов их обойти.

Подключение к БД

MySQL недоступна или контейнер упал.

Окно терминала
docker-compose -f docker-compose.dev.yml ps
netstat -an | grep 3307
docker-compose -f docker-compose.dev.yml restart

Connection is closed

Connection закрылся раньше времени. Используйте try-with-resources при работе с DatabaseConnectionManager:

try (Connection conn = connectionManager.getConnection()) {
// работа с БД
}

OLT-соединения

Stream closed при сборе конфигурации

Telnet-сессия закрылась преждевременно. Решение — всегда работать через OltManager, чтобы корректно открывать и закрывать соединение:

OLT olt = oltManager.createAndAuthenticateOlt(ip);
try {
// работа с OLT
} finally {
oltManager.closeOltConnection(olt);
}

Таймаут аутентификации

Скорее всего на OLT уже висит вторая Telnet-сессия (с другого инстанса GetOLT или от вас вручную). За этим следит OltSessionManager — проверьте его статус:

Окно терминала
curl http://localhost:8088/api/olt-sessions/status

Веб-интерфейс

Порт 8088 уже занят

application-dev.properties
server.port=8089

Зависает массовое обновление

Массовые операции — асинхронные, UI просто ждёт taskId. Проверьте напрямую:

Окно терминала
curl http://localhost:8088/api/async/tasks/{taskId}

Production

Table doesn’t exist

БД не инициализирована (Liquibase/Flyway не отработал или volume не подмонтирован):

Окно терминала
docker compose down -v
docker compose up -d

Внимание: down -v удаляет данные. На проде так делать нельзя — поднимать миграции вручную.

Куда смотреть дальше

Если ничего из перечисленного не подошло — соберите и приложите:

  • логи приложения (docker compose logs app),
  • ответ GET /actuator/health,
  • содержимое OltSessionManager статуса,
  • последний snapshot конфигурации проблемного OLT (см. Анализ конфигов).

Нашли ошибку или нужно что-то дополнить? Напишите нам.

Разработка: gmasich.ru