mesos / chronos

Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules
http://mesos.github.io/chronos/
Apache License 2.0
4.38k stars 529 forks source link

Chronos will never start if Zookeeper is starting around the same time #234

Open lingmann opened 10 years ago

lingmann commented 10 years ago

If Zookeeper is not not running around the time Chronos starts, a situation occurs where Chronos will throw an exception and never fully start. This is almost identical to Marathon issue 146.

To reproduce:

  1. Make sure Zookeeper and Chronos are stopped
  2. Start Chronos
  3. Wait ~30 seconds
  4. Start Zookeeper

Here is an example of the exception thrown by Chronos:

https://gist.github.com/lingmann/ecfb4f29bc326fca9ed4

lingmann commented 10 years ago

Here is the exception from the gist link in the description:

Exception in thread "main" com.google.inject.CreationException: Guice creation errors:

1) Error in custom provider, java.util.concurrent.TimeoutException: Futures timed out after [2 seconds]
  at com.airbnb.scheduler.config.MainModule.provideFrameworkInfo(MainModule.scala:47)
  at com.airbnb.scheduler.config.MainModule.provideFrameworkInfo(MainModule.scala:47)
  while locating org.apache.mesos.Protos$FrameworkInfo
  at com.airbnb.scheduler.config.MainModule.provideMesosSchedulerDriverFactory(MainModule.scala:61)
  at com.airbnb.scheduler.config.MainModule.provideMesosSchedulerDriverFactory(MainModule.scala:61)
  while locating com.airbnb.scheduler.mesos.MesosDriverFactory
    for parameter 0 at com.airbnb.scheduler.mesos.MesosJobFramework.<init>(MesosJobFramework.scala:21)
  while locating com.airbnb.scheduler.mesos.MesosJobFramework
  at com.airbnb.scheduler.config.MainModule.configure(MainModule.scala:35)
  while locating org.apache.mesos.Scheduler