Commit Graph

376 Commits

Author SHA1 Message Date
cheddar c47fe202c7 Fix HadoopDruidIndexer to work with the new way of things
There are multiple and sundry changes in here.

First, "HadoopDruidIndexer" has been split into two pieces, (1) CliHadoop which pulls the hadoop version and builds up the right classpath with the proper hadoop version to run the indexer and (2) CliInternalHadoopIndexer which actually runs the indexer.

In order to work around a bunch of jets3t version conflicts with Hadoop and Druid, I needed to extract the S3 deep storage stuff into its own module.  I then also moved the HDFS stuff into its own module so that I could eliminate the dependency on Hadoop for druid-server.

In doing these changes, I wanted to make the extensions buildable with only the druid-api jar, so a few other things had to move out of Druid and into druid-api.  They are all API-level things, however, so they really belong in druid-api instead.

Lastly, I removed the druid-realtime module and put it all in druid-server.
2013-10-09 15:15:44 -05:00
cheddar 5712b29c8c Fix issues with bindings and handling extensions
The way the Guice bindings were setup previously, each process only had bindings
for the things it cared about.  This became problematic when adding extension modules
that bound everything that they could possibly need expecting that the processes would
only instantiate what they actually do need.  Guice tries to fail-fast and verifies that all
 bindings exist before it does anything, which is a problem because the extension bind
 some objects that don't necessarily have all of their dependencies bound in all processes.

The fix for this is to build a single Injector with all bindings in it and let each of the
 processes only load the things that they care about.  This also requires the use of
 Module overrides and other such interesting things, which are node done.

 In doing the fix, I also swapped out the way that the DataSegmentPusher/Puller stuff is bound, as well as made the Cassandra stuff fail if its settings are not provided.  This all of a sudden made all of the things require Cassandra's settings, so I migrated the Cassandra deep storage stuff into its own module.

 In doing these changes, I also discovered that some properties weren't properly converting for the ConvertProperties command (specifically, the properties related to data segment loading and pushing), so I fixed that.
2013-09-20 17:45:01 -05:00
cheddar dc728b5721 Update versions of poms and make IncrementalIndexStorageAdapterTest compile 2013-09-18 17:01:03 -05:00
cheddar 6bfe2310bb Merge branch 'master' into guice
Conflicts:
	client/pom.xml
	client/src/main/java/com/metamx/druid/query/segment/LegacySegmentSpec.java
	indexing-common/pom.xml
	indexing-service/src/main/java/com/metamx/druid/indexing/common/TaskToolbox.java
	indexing-service/src/main/java/com/metamx/druid/indexing/common/TaskToolboxFactory.java
	indexing-service/src/main/java/com/metamx/druid/indexing/common/task/RealtimeIndexTask.java
	indexing-service/src/main/java/com/metamx/druid/indexing/worker/executor/ExecutorNode.java
	indexing-service/src/test/java/com/metamx/druid/indexing/coordinator/RemoteTaskRunnerTest.java
	indexing-service/src/test/java/com/metamx/druid/indexing/coordinator/TaskLifecycleTest.java
	indexing-service/src/test/java/com/metamx/druid/indexing/coordinator/TaskQueueTest.java
	realtime/src/main/java/com/metamx/druid/realtime/RealtimeNode.java
	realtime/src/main/java/com/metamx/druid/realtime/firehose/IrcFirehoseFactory.java
	realtime/src/main/java/com/metamx/druid/realtime/firehose/WikipediaIrcDecoder.java
	realtime/src/main/java/com/metamx/druid/realtime/plumber/RealtimePlumberSchool.java
	server/src/main/java/com/metamx/druid/BaseServerNode.java
	server/src/main/java/com/metamx/druid/http/ComputeNode.java
	server/src/main/java/com/metamx/druid/index/v1/IncrementalIndexStorageAdapter.java
	server/src/main/java/com/metamx/druid/query/group/GroupByQueryEngine.java
2013-09-18 16:46:54 -05:00
Gian Merlino 163fa14e62 [maven-release-plugin] prepare for next development iteration 2013-09-13 19:02:46 -07:00
Gian Merlino a20f3fc6dd [maven-release-plugin] prepare release druid-0.5.58 2013-09-13 19:02:40 -07:00
fjy d0b0adbb68 [maven-release-plugin] prepare for next development iteration 2013-09-13 18:57:25 -07:00
fjy 23c5fdb107 [maven-release-plugin] prepare release druid-0.5.57 2013-09-13 18:57:20 -07:00
fjy b0a09ba1f1 [maven-release-plugin] prepare for next development iteration 2013-09-13 18:45:20 -07:00
fjy b17f5c403b [maven-release-plugin] prepare release druid-0.5.56 2013-09-13 18:45:14 -07:00
Gian Merlino 22a99c7589 [maven-release-plugin] prepare for next development iteration 2013-09-13 17:59:03 -07:00
Gian Merlino 542d564453 [maven-release-plugin] prepare release druid-0.5.55 2013-09-13 17:58:56 -07:00
fjy e03c623467 [maven-release-plugin] prepare for next development iteration 2013-09-05 13:48:21 -07:00
fjy 552d0c061a [maven-release-plugin] prepare release druid-0.5.54 2013-09-05 13:48:11 -07:00
fjy 5a64e2a64a [maven-release-plugin] prepare for next development iteration 2013-09-04 14:24:04 -07:00
fjy 523355d00b [maven-release-plugin] prepare release druid-0.5.53 2013-09-04 14:23:56 -07:00
fjy 567168330b [maven-release-plugin] prepare for next development iteration 2013-09-04 14:06:33 -07:00
fjy 39bda32b81 [maven-release-plugin] prepare release druid-0.5.52 2013-09-04 14:06:25 -07:00
fjy f08b8287a4 [maven-release-plugin] prepare for next development iteration 2013-09-04 13:22:19 -07:00
fjy cf9038abb4 [maven-release-plugin] prepare release druid-0.5.51 2013-09-04 13:22:11 -07:00
cheddar dadd9bc5ce 1) Rename MetricSelector(Factory) to ColumnSelector(Factory)
2) Hard coded plugin as a first pass, won't actually work for anyone else.
2013-09-04 11:19:46 -05:00
cheddar 56e2b956d0 OMG!!! A lot of stuff has been moved. Modules have been created and destroyed, but everything is compiling and unit tests are passing, OMFG this is awesome.! 2013-08-30 18:21:04 -05:00
cheddar 2e26a4d8b9 1) Add back segment-related interfaces and classes to new druid-segment module 2013-08-29 17:23:16 -05:00
cheddar 386cc79420 [maven-release-plugin] prepare for next development iteration 2013-08-29 17:20:10 -05:00
cheddar 83e5e5434e [maven-release-plugin] prepare release druid-0.5.50 2013-08-29 17:20:05 -05:00
cheddar 5ad023cd3f Merge branch 'master' into guice 2013-08-29 13:59:59 -05:00
cheddar d9a8340dc7 [maven-release-plugin] prepare for next development iteration 2013-08-29 13:29:54 -05:00
cheddar 5118e1da12 [maven-release-plugin] prepare release druid-0.5.49 2013-08-29 13:29:49 -05:00
cheddar 5fa944dd26 Merge branch 'master' into guice
Conflicts:
	client/src/main/java/com/metamx/druid/coordination/BatchDataSegmentAnnouncer.java
	client/src/main/java/com/metamx/druid/curator/announcement/Announcer.java
	client/src/main/java/com/metamx/druid/query/filter/SelectorDimFilter.java
	client/src/main/java/com/metamx/druid/query/search/SearchQueryQueryToolChest.java
	indexing-service/src/main/java/com/metamx/druid/indexing/common/tasklogs/S3TaskLogs.java
	indexing-service/src/main/java/com/metamx/druid/indexing/coordinator/ForkingTaskRunner.java
	indexing-service/src/main/java/com/metamx/druid/indexing/coordinator/RemoteTaskRunner.java
	indexing-service/src/main/java/com/metamx/druid/indexing/worker/WorkerCuratorCoordinator.java
	indexing-service/src/test/java/com/metamx/druid/indexing/coordinator/RemoteTaskRunnerTest.java
	pom.xml
	server/src/main/java/com/metamx/druid/http/MasterMain.java
	server/src/main/java/com/metamx/druid/http/MasterServletModule.java
	server/src/main/java/com/metamx/druid/master/DruidMasterConfig.java
	server/src/test/java/com/metamx/druid/master/DruidMasterTest.java
	server/src/test/java/com/metamx/druid/query/group/GroupByQueryRunnerTest.java
2013-08-27 14:27:32 -05:00
cheddar b897c2cb22 1) IndexCoordinator appears to work as the CliOverlord now, yay! 2013-08-23 14:11:34 -05:00
cheddar 344ec1ec2f [maven-release-plugin] prepare for next development iteration 2013-08-23 13:20:09 -05:00
cheddar 5b0de6eb5c [maven-release-plugin] prepare release druid-0.5.48 2013-08-23 13:20:02 -05:00
fjy 4102dbd1e0 [maven-release-plugin] prepare for next development iteration 2013-08-21 21:50:55 -07:00
fjy 0daa2a95fe [maven-release-plugin] prepare release druid-0.5.47 2013-08-21 21:50:46 -07:00
fjy b1d0f989ec [maven-release-plugin] prepare for next development iteration 2013-08-21 20:28:15 -07:00
fjy ab467bf42a [maven-release-plugin] prepare release druid-0.5.46 2013-08-21 20:28:06 -07:00
fjy 1037a48a8e [maven-release-plugin] prepare for next development iteration 2013-08-21 18:55:49 -07:00
fjy 6b9ec95f01 [maven-release-plugin] prepare release druid-0.5.45 2013-08-21 18:55:40 -07:00
fjy ed666d9d5f [maven-release-plugin] prepare for next development iteration 2013-08-20 19:37:52 -07:00
fjy 66dcfe8c3e [maven-release-plugin] prepare release druid-0.5.44 2013-08-20 19:37:44 -07:00
fjy baedacf970 [maven-release-plugin] prepare for next development iteration 2013-08-20 19:29:05 -07:00
fjy a4eb025ba7 [maven-release-plugin] prepare release druid-0.5.43 2013-08-20 19:28:56 -07:00
Gian Merlino a3793eeba4 [maven-release-plugin] prepare for next development iteration 2013-08-20 17:58:28 -07:00
Gian Merlino b792bf2ba5 [maven-release-plugin] prepare release druid-0.5.42 2013-08-20 17:58:22 -07:00
fjy 47ec240703 [maven-release-plugin] prepare for next development iteration 2013-08-15 13:47:57 -07:00
fjy 33e2fb3e21 [maven-release-plugin] prepare release druid-0.5.41 2013-08-15 13:47:48 -07:00
Gian Merlino a0fcd02b3c [maven-release-plugin] prepare for next development iteration 2013-08-14 17:03:40 -07:00
Gian Merlino b6c445c726 [maven-release-plugin] prepare release druid-0.5.40 2013-08-14 17:03:28 -07:00
fjy 36d02ab943 [maven-release-plugin] prepare for next development iteration 2013-08-14 14:05:49 -07:00
fjy 8c841e90a4 [maven-release-plugin] prepare release druid-0.5.39 2013-08-14 14:05:39 -07:00