All tasks fail with error Could not find a suitable constructor

119 views
Skip to first unread message

Eric Moore

unread,
Mar 16, 2015, 5:59:45 PM3/16/15
to druid...@googlegroups.com
I am trying to complete the Loading Batch Data Tutorial.  In order to get dependencies to load I compiled from source and set remote repositories to [].  I have 0.7.1 compiled from source running with an indexer, historical and coordinator node with default/tutorial configs.  I tried to submit the tutorial wikipedia file and I also created a noop_task.json file like so:

{

    "type": "noop",

    "id": "123"

}


Whether I submit the wikipedia or the noop, I get the following error:


2015-03-16T21:21:25,612 INFO [main] io.druid.initialization.Initialization - Loading extension[io.druid.extensions:druid-examples] for class[io.druid.initialization.DruidModule]
2015-03-16T21:21:25,614 INFO [main] io.druid.initialization.Initialization - Adding extension module[class io.druid.examples.ExamplesDruidModule] for class[io.druid.initialization.DruidModule]
2015-03-16T21:21:25,614 INFO [main] io.druid.initialization.Initialization - Loading extension[io.druid.extensions:mysql-metadata-storage] for class[io.druid.initialization.DruidModule]
2015-03-16T21:21:25,615 INFO [main] io.druid.initialization.Initialization - Adding extension module[class io.druid.metadata.storage.mysql.MySQLMetadataStorageModule] for class[io.druid.initialization.DruidModule]
Exception in thread "main" com.google.inject.CreationException: Guice creation errors:

1) Could not find a suitable constructor in io.druid.indexing.common.config.TaskStorageConfig. Classes must have either one (and only one) constructor annotated with @Inject or a zero-argument constructor that is not private.
  at io.druid.indexing.common.config.TaskStorageConfig.class(TaskStorageConfig.java:29)
  while locating io.druid.indexing.common.config.TaskStorageConfig
    for parameter 0 at io.druid.indexing.overlord.HeapMemoryTaskStorage.<init>(HeapMemoryTaskStorage.java:60)
  at io.druid.cli.CliPeon$1.configureTaskActionClient(CliPeon.java:189)

1 error
	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:448)
	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
	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:369)
	at io.druid.cli.GuiceRunnable.makeInjector(GuiceRunnable.java:55)
	at io.druid.cli.CliPeon.run(CliPeon.java:205)
	at io.druid.cli.Main.main(Main.java:88)

It seems like I am missing something simple, but I can't figure out what.  Any suggestions?

Thanks,

Eric

Fangjin Yang

unread,
Mar 16, 2015, 9:14:36 PM3/16/15
to druid...@googlegroups.com
Hi Eric,


We will fix this before 0.7.1 is declared stable.

Fangjin Yang

unread,
Mar 16, 2015, 9:18:12 PM3/16/15
to druid...@googlegroups.com
As a workaround, you can use 0.7.0 or branch from that tag if you have commits of your own.

Xavier Léauté

unread,
Mar 17, 2015, 1:16:32 PM3/17/15
to druid...@googlegroups.com
Eric, I filed a github issue for you here https://github.com/druid-io/druid/issues/1212
Reply all
Reply to author
Forward
0 new messages