broker can't be started because ExceptionInInitializerError which had worked for year

Hi friends,

Our druid broker has worked well for about one year, but not sure why the process on host is disappeared.

I failed to start it because of ExceptionInInitializerError as below. Seems that required file is missing, but I can get which one from the log

Our druid version is 0.8.1-rc2.

log4j:WARN No appenders could be found for logger (org.jboss.logging).

log4j:WARN Please initialize the log4j system properly.

Exception in thread “main” java.lang.ExceptionInInitializerError

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:270)

at com.fasterxml.jackson.databind.util.ClassUtil.findClass(ClassUtil.java:225)

at com.fasterxml.jackson.databind.DeserializationContext.findClass(DeserializationContext.java:462)

at com.fasterxml.jackson.databind.deser.std.FromStringDeserializer$Std._deserialize(FromStringDeserializer.java:213)

at com.fasterxml.jackson.databind.deser.std.FromStringDeserializer.deserialize(FromStringDeserializer.java:122)

at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:232)

at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:206)

at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:25)

at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:538)

at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:106)

at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:238)

at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:118)

at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:2754)

at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:2685)

at io.druid.guice.JsonConfigurator.configurate(JsonConfigurator.java:81)

at io.druid.guice.JsonConfigProvider.get(JsonConfigProvider.java:181)

at io.druid.guice.JsonConfigProvider.get(JsonConfigProvider.java:60)

at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)

at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)

at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:66)

at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)

at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)

at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1058)

at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)

at com.google.inject.Scopes$1$1.get(Scopes.java:65)

at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)

at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:1005)

at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1058)

at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1001)

at io.druid.guice.SupplierProvider.get(SupplierProvider.java:33)

at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)

at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)

at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:66)

at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)

at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:1005)

at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1058)

at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1001)

at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:90)

at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:90)

at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:90)

at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:99)

at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)

at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)

at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:66)

at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)

at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)

at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1058)

at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)

at io.druid.guice.LifecycleScope$1.get(LifecycleScope.java:49)

at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)

at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56)

at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)

at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1058)

at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)

at com.google.inject.Scopes$1$1.get(Scopes.java:65)

at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)

at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:205)

at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:199)

at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1051)

at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199)

at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180)

at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)

at com.google.inject.Guice.createInjector(Guice.java:96)

at com.google.inject.Guice.createInjector(Guice.java:73)

at com.google.inject.Guice.createInjector(Guice.java:62)

at io.druid.initialization.Initialization.makeInjectorWithModules(Initialization.java:412)

at io.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:55)

at io.druid.cli.ServerRunnable.run(ServerRunnable.java:37)

at io.druid.cli.Main.main(Main.java:91)

Caused by: java.lang.RuntimeException: java.io.IOException: No such file or directory

at com.google.common.base.Throwables.propagate(Throwables.java:160)

at com.metamx.metrics.SysMonitor.(SysMonitor.java:94)

… 70 more

Caused by: java.io.IOException: No such file or directory

at java.io.UnixFileSystem.createFileExclusively(Native Method)

at java.io.File.createNewFile(File.java:1006)

at java.io.File.createTempFile(File.java:1989)

at java.io.File.createTempFile(File.java:2040)

at com.metamx.metrics.SysMonitor.(SysMonitor.java:81)

… 70 more

Heap

par new generation total 9437184K, used 1677723K [0x00007f6231a00000, 0x00007f64b1a00000, 0x00007f64b1a00000)

eden space 8388608K, 20% used [0x00007f6231a00000, 0x00007f6298066e98, 0x00007f6431a00000)

from space 1048576K, 0% used [0x00007f6431a00000, 0x00007f6431a00000, 0x00007f6471a00000)

to space 1048576K, 0% used [0x00007f6471a00000, 0x00007f6471a00000, 0x00007f64b1a00000)

The last business log:

2016-05-25 11:25:34,828 INFO i.d.g.JsonConfigurator [main] Loaded class[class com.metamx.emitter.core.LoggingEmitterConfig] from props[druid.emitter.logging.] as [LoggingEmitterConfig{loggerClass=‘com.metamx.emitter.core.LoggingEmitter’, logLevel=‘info’}]

2016-05-25 11:25:34,883 INFO i.d.g.JsonConfigurator [main] Loaded class[class io.druid.server.metrics.DruidMonitorSchedulerConfig] from props[druid.monitoring.] as [io.druid.server.metrics.DruidMonitorSchedulerConfig@219dc879]

Please let me know I need provide more info.

It’s urgent, any advice is highly appreciated!

Thanks very much.

Junjie

Fix it with change the java.io.tmpdir.

在 2016年5月25日星期三 UTC+8下午7:49:55,Junjie写道:

Great!

BTW, you may want to upgrade as there are numerous improvements in Druid recently.