All tasks fail with error Could not find a suitable constructor

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

Hi Eric,

This was a regression introduced by https://github.com/druid-io/druid/commit/23545fc01c07730938b55701244bdf36e9a54a84.

We will fix this before 0.7.1 is declared stable.

As a workaround, you can use 0.7.0 or branch from that tag if you have commits of your own.

Eric, I filed a github issue for you here https://github.com/druid-io/druid/issues/1212