soabase / exhibitor

ZooKeeper co-process for instance monitoring, backup/recovery, cleanup and visualization.

Home Page:https://groups.google.com/forum/#!topic/exhibitor-users/PVkcd88mk8c

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

exhibitor startup time will reach long time without errors.

xiaods opened this issue · comments

INFO  com.netflix.exhibitor.core.activity.ActivityLog  Exhibitor started [main]
Nov 13, 2015 5:39:03 AM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
INFO  org.mortbay.log  Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog [main]
INFO  org.mortbay.log  jetty-1.5.5 [main]
INFO  com.netflix.exhibitor.core.activity.ActivityLog  State: latent [ActivityQueue-0]

it take some minutes can start up the exhibitor jar. do you have any expecirents?

with testing, found the zookeeper will restart quickly, but the exhibitor is very slow to start the rest port service. don't know what reason.

commented

Over a year without any response. We should really stop using this.

Hi I'm a new maintainer for the project. I know this issue is absolutely ancient but I'd like to at least respond.
It looks like there are barely any logging to help debug issues like this.
I will try to add some logging at least as a first task #346.
I'm going to close this for now. You can re-open if this issue reproduces with newer versions of exhibitor.

I know this thread is very old, but I also came across this issue.
After some unsuccessful research, I decided to set the log level to DEBUG, which lead me to the step where the program hangs:

DEBUG org.mortbay.log  Init SecureRandom. [main]

Basically, the problem was that there was not enough entropy for the program to read, and because /dev/random blocks the read when there is no entropy, the program hangs.

The solution, as described in this stackoverflow answer, is to make the JVM read from /dev/urandom, which is unblocking:

java -Djava.security.egd=file:/dev/urandom -jar exhibitor-1.7.1.jar -c file

from back, yes, for java container, it should be add -Djava.security.egd=file:/dev/urandom to your dockerfile.