2015-05-28 3 views
0

Я создаю Empheral node с помощью метода CuratorFrameworkFactory.newClient, который принимает, znodes адреса, sessiontimeoutinms, connectiontimeoutinms, Retry). У меня есть 5 * 1000 как sessiontimeoutinms и 15 * 1000 как connectiontimeoutinms. Этот метод способен создать узел EPHEMERAL в моем zookeeper, но этот узел EPHEMERAL не удаляется до запуска приложения.Почему узел empheral не удаляется из zookeeper после значения sessiontimeout

Почему это происходит, поскольку время сеанса составляет 5 секунд.

ответ

0

Наиболее вероятной причиной является установка вашего биения для Zookeeper (aka tickTime) выше, а минимальный тайм-аут сеанса не может быть ниже 2 * tickTime.

0

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

, когда клиент, которому принадлежит узел, в журналах Zookeeper, вы должны получить следующую строку:

INFO [ProcessThread (с.и.д.: 0 cport: 2182) :: PrepRequestProcessor @ 486] - плавленых сессии прекращение для sessionid: 0x161988b731d000c

В этом случае эфемерное устройство было 0x161988b731d000c. Если вы этого не сделаете, у вас будет некоторая ошибка. В моем случае это было исключение EOF, которое было вызвано несоответствием клиентской библиотеки и сервера.

 Смежные вопросы

  • Нет связанных вопросов^_^