Commit Graph

375 Commits

Author SHA1 Message Date
Gian Merlino 65576cbade TaskStorageQueryAdapter: Rename some methods and tweak javadocs for clarity 2013-01-31 08:22:10 -08:00
Gian Merlino 779c54d8f2 TaskToolbox: Replace IndexerCoordinatorConfig with TaskConfig 2013-01-31 08:22:09 -08:00
Gian Merlino fe38ed2547 Introduce TaskExistsException, thrown by TaskStorage.insert when appropriate 2013-01-31 08:22:09 -08:00
Gian Merlino 0e469c6f4c TaskStatus: Fix javadocs 2013-01-31 08:09:22 -08:00
Fangjin Yang 00e6ac1e10 [maven-release-plugin] prepare for next development iteration 2013-01-30 17:09:23 -08:00
Fangjin Yang ef19de8270 [maven-release-plugin] prepare release druid-0.2.2 2013-01-30 17:09:18 -08:00
Fangjin Yang 26ed96f05d bug fix for autoscaling termination 2013-01-30 17:06:02 -08:00
Fangjin Yang fa733565e8 [maven-release-plugin] prepare for next development iteration 2013-01-30 16:28:28 -08:00
Fangjin Yang 0b116a8fe4 [maven-release-plugin] prepare release druid-0.2.1 2013-01-30 16:28:22 -08:00
Fangjin Yang 2a0de2090b [maven-release-plugin] prepare for next development iteration 2013-01-30 13:47:15 -08:00
Fangjin Yang 049ca2bad4 [maven-release-plugin] prepare release druid-0.2.0 2013-01-30 13:47:08 -08:00
Fangjin Yang 74057600f9 fix worker node still using db connection 2013-01-27 09:57:37 -08:00
Gian Merlino 1cff766e2a RemoteTaskRunner: Only cleanup paths during bootstrapping if task is complete 2013-01-25 16:01:17 -08:00
Fangjin Yang efdff7b9f1 fix unit test bug 2013-01-25 14:33:05 -08:00
Gian Merlino 0f4746450b RemoteTaskRunner: null check on workerData 2013-01-25 13:40:20 -08:00
Gian Merlino bb68091cef Index service: TaskConsumer tests 2013-01-25 13:15:55 -08:00
Gian Merlino 82d77a8b72 Index service: Fix kill task 2013-01-25 13:15:49 -08:00
Gian Merlino e6a618ca76 Merge branch 'killsegments' into task-stuff
Conflicts:
	merger/src/main/java/com/metamx/druid/merger/common/TaskStatus.java
	merger/src/main/java/com/metamx/druid/merger/common/task/DeleteTask.java
	merger/src/main/java/com/metamx/druid/merger/common/task/IndexGeneratorTask.java
	merger/src/main/java/com/metamx/druid/merger/common/task/IndexTask.java
	merger/src/main/java/com/metamx/druid/merger/common/task/MergeTask.java
	merger/src/main/java/com/metamx/druid/merger/coordinator/LocalTaskRunner.java
	merger/src/main/java/com/metamx/druid/merger/coordinator/TaskQueue.java
	merger/src/main/java/com/metamx/druid/merger/coordinator/exec/TaskConsumer.java
	merger/src/main/java/com/metamx/druid/merger/worker/TaskMonitor.java
	merger/src/test/java/com/metamx/druid/merger/coordinator/RemoteTaskRunnerTest.java
	merger/src/test/java/com/metamx/druid/merger/coordinator/TaskQueueTest.java
2013-01-25 11:30:10 -08:00
Gian Merlino a14200d779 Index service support for early returns and choice of commit semantics.
Task:
- Add TaskCallback to run method (for early returns)

TaskStatus:
- Remove CONTINUED status
- Add segmentsNuked (placeholder for future deletion support)
- Add more builder methods
- Add validations to constructor

TaskStorage:
- Add TaskStorageQueryAdapter, a concrete class that wraps TaskStorages and
  provides various read-only convenience methods
- Add getTask method for benefit of TaskStorageQueryAdapter

TaskQueue:
- Rename "done" to "notify"
- notify is responsible for deciding if we should commit
- Add optional commitRunnable to "notify", which gets called when it's time to commit
- Allow nextTasks and commits to run early (statusCode RUNNING)
- Move getStatus, collapseStatus functionality to TaskStorageQueryAdapter
2013-01-25 11:05:34 -08:00
Deep Ganguli cb845e6f09 Addresed Gian's code review 2013-01-24 17:54:06 -08:00
Deep Ganguli 017d4779d6 Implemented Hadoop Index Task which takes as input a HadoopDruidIndexConfig and
generates index segments.

The HadoopIndexTask run method wraps a HadoopDruidIndexerJob run method. The
key modifications to the HadoopDruidIndexerJob are as follows:

- The UpDaterJobSpec field of the config that is used to set up the indexer job
  is set to null. This ensures that the job does not push a list of published
segments to the database, in order to allow the indexing service to handle this
later.
- Set the version field of the config file based on the TaskContext. Also
  changed config.setVersion method to take a string (as opposed to a Date) as
input, and propogated this change where necessary.
- Set the SegmentOutputDir field of the config file based on the TaskToolbox,
  to allow the indexing service to handle where to write the segments too.
- Added a method to IndexGeneratorJob called getPublishedSegments, that simply
  returns a list of published segments without publishing this list to the
database.
2013-01-23 19:27:14 -08:00
Fangjin Yang 272d737517 cleaning up some interactions with RTR and workers 2013-01-22 16:21:38 -08:00
Fangjin Yang bab9ee8827 Merge branch 'master' into killsegments
Conflicts:
	merger/src/main/java/com/metamx/druid/merger/coordinator/http/IndexerCoordinatorNode.java
2013-01-21 14:47:49 -08:00
cheddar 07131c51ed Merge pull request #53 from metamx/autoscaling
Use a database to store configurations for indexer workers
2013-01-18 17:08:52 -08:00
Gian Merlino 7166534666 YeOldePlumberSchool: Tweak for IndexIO changes 2013-01-17 16:03:18 -08:00
Gian Merlino 5ce53eb2ac Merge branch 'master' into yops-descriptor-dimensions 2013-01-17 16:02:32 -08:00
Fangjin Yang 38b2041ad9 key/value config table 2013-01-17 14:56:48 -08:00
Fangjin Yang 21613bc73b initial commit to hard delete segments 2013-01-16 17:31:01 -08:00
Eric Tschetter c8cb96b006 1) Remove vast majority of usages of IndexIO.mapDir() and deprecated it. IndexIO.loadIndex() is the new IndexIO.mapDir()
2) Fix bug with IndexMerger and null columns
3) Add QueryableIndexIndexableAdapter so that QueryableIndexes can be merged
4) Adjust twitter example to have multiple values for each hash tag
5) Adjusted GroupByQueryEngine to just drop dimensions that don't exist instead of throwing an NPE
2013-01-16 17:10:33 -06:00
Gian Merlino 6fc350bfba YeOldePlumberSchool: Populate dimension metadata in segment descriptor 2013-01-16 11:30:24 -08:00
Fangjin Yang 3c0880fe28 Merge branch 'master' into autoscaling 2013-01-15 13:36:39 -08:00
Fangjin Yang 7e074e8158 fix pom breakage 2013-01-15 12:04:12 -08:00
Fangjin Yang d1f4317af7 updates to autoscaling config based on code review comments 2013-01-14 14:55:04 -08:00
Fangjin Yang 4c2da93389 bug fixes with ec2 auto scaling 2013-01-09 14:51:35 -08:00
Fangjin Yang 3685839376 Merge branch 'master' into autoscaling
Conflicts:
	merger/src/main/java/com/metamx/druid/merger/coordinator/http/IndexerCoordinatorNode.java
2013-01-07 18:04:14 -08:00
Fangjin Yang 79e9ff94a6 add missing headers 2013-01-07 14:07:47 -08:00
Fangjin Yang aff4a05ca3 db based configs for indexer workers 2013-01-07 13:41:26 -08:00
Eric Tschetter b184c46ae0 1) Introduce idea of value types and generic columns to the serialization format
2) Create SegmentLoader interface for the loading of segments!
3) Setup serialization of new format and conversion function inside IndexIO
4) Make some adjustments to the twitter demo to make it make a bit more sense based on some email feedback from someone kicking the tires.
2013-01-04 18:12:49 -06:00
xvrl 9627fdcd1c [maven-release-plugin] prepare for next development iteration 2013-01-03 10:09:52 -08:00
xvrl f2c2d3f4cf [maven-release-plugin] prepare release druid-0.1.25 2013-01-03 10:09:43 -08:00
xvrl 2a188996cd [maven-release-plugin] prepare for next development iteration 2012-12-31 14:56:10 -08:00
xvrl 6cdcc2becc [maven-release-plugin] prepare release druid-0.1.24 2012-12-31 14:56:03 -08:00
cheddar 438b85d2dd Merge pull request #46 from metamx/short-alerts
Merger: De-parameterize alert messages
2012-12-27 14:08:02 -08:00
Fangjin Yang 5137af0750 [maven-release-plugin] prepare for next development iteration 2012-12-18 16:17:44 -08:00
Fangjin Yang c579ba5a42 [maven-release-plugin] prepare release druid-0.1.23 2012-12-18 16:17:38 -08:00
Fangjin Yang 090a5a105d [maven-release-plugin] prepare for next development iteration 2012-12-18 14:19:09 -08:00
Fangjin Yang fb8f4f1f41 [maven-release-plugin] prepare release druid-0.1.22 2012-12-18 14:19:02 -08:00
Fangjin Yang 75d465aed0 [maven-release-plugin] prepare for next development iteration 2012-12-18 10:37:16 -08:00
Fangjin Yang decc4e4c0e [maven-release-plugin] prepare release druid-0.1.21 2012-12-18 10:37:08 -08:00
Fangjin Yang e34944b1c5 [maven-release-plugin] prepare for next development iteration 2012-12-15 00:52:01 -08:00
Fangjin Yang 24f0207fd8 [maven-release-plugin] prepare release druid-0.1.20 2012-12-15 00:51:54 -08:00
Fangjin Yang f9386c3623 [maven-release-plugin] prepare for next development iteration 2012-12-15 00:44:58 -08:00
Fangjin Yang 4bcc8d27fa [maven-release-plugin] prepare release druid-0.1.19 2012-12-15 00:44:50 -08:00
Fangjin Yang 5fff07a8b0 [maven-release-plugin] prepare for next development iteration 2012-12-14 22:56:49 -08:00
Fangjin Yang 2b2818dbaf [maven-release-plugin] prepare release druid-0.1.18 2012-12-14 22:56:43 -08:00
Fangjin Yang b0e1f90e35 [maven-release-plugin] prepare for next development iteration 2012-12-14 22:07:57 -08:00
Fangjin Yang ce8e02b5a3 [maven-release-plugin] prepare release druid-0.1.17 2012-12-14 22:07:50 -08:00
Fangjin Yang 0821dce8c1 [maven-release-plugin] prepare for next development iteration 2012-12-14 21:29:20 -08:00
Fangjin Yang a0d22a6646 [maven-release-plugin] prepare release druid-0.1.16 2012-12-14 21:29:14 -08:00
Gian Merlino 61afd0a46a Merger: De-parameterize alert messages 2012-12-14 18:14:44 -08:00
Fangjin Yang e37e24cc25 [maven-release-plugin] prepare for next development iteration 2012-12-14 17:19:59 -08:00
Fangjin Yang 4e78d8e734 [maven-release-plugin] prepare release druid-0.1.15 2012-12-14 17:19:53 -08:00
Eric Tschetter b4a1bb4a00 [maven-release-plugin] prepare for next development iteration 2012-12-14 11:37:17 -06:00
Eric Tschetter cb9b18c7c2 [maven-release-plugin] prepare release druid-0.1.14 2012-12-14 11:37:12 -06:00
Eric Tschetter 29a64f50e2 [maven-release-plugin] prepare for next development iteration 2012-12-13 17:57:46 -06:00
Eric Tschetter c82007973e [maven-release-plugin] prepare release druid-0.1.13 2012-12-13 17:57:42 -06:00
Fangjin Yang 6729f166d9 [maven-release-plugin] prepare for next development iteration 2012-12-12 15:38:58 -08:00
Fangjin Yang 578cf94bc0 [maven-release-plugin] prepare release druid-0.1.12 2012-12-12 15:38:37 -08:00
Gian Merlino 091ed069f5 RemoteTaskRunner: More robust task status listener
- Handle CHILD_ADDED and CHILD_UPDATED together, to cover the case where a worker
  reconnects to zk in the middle of a task (which makes the ephemeral status node
  disappear and come back as an addition)
- There's no need to retry on most exceptions that can occur here, so don't
2012-12-12 12:51:04 -08:00
Fangjin Yang 0105233fc3 [maven-release-plugin] prepare for next development iteration 2012-12-07 17:50:47 -08:00
Fangjin Yang 943fe5e6bf [maven-release-plugin] prepare release druid-0.1.11 2012-12-07 17:50:41 -08:00
Fangjin Yang da4b31c28f [maven-release-plugin] prepare for next development iteration 2012-12-07 15:18:19 -08:00
Fangjin Yang 6df32ac0b0 [maven-release-plugin] prepare release druid-0.1.10 2012-12-07 15:18:11 -08:00
Fangjin Yang 9eb28254f8 [maven-release-plugin] prepare for next development iteration 2012-12-07 14:49:13 -08:00
Fangjin Yang 9ce536e040 [maven-release-plugin] prepare release druid-0.1.9 2012-12-07 14:49:04 -08:00
Fangjin Yang 35362b3e6b [maven-release-plugin] prepare for next development iteration 2012-12-07 14:37:25 -08:00
Fangjin Yang bd3c05dddb [maven-release-plugin] prepare release druid-0.1.8 2012-12-07 14:37:18 -08:00
Fangjin Yang 50a28f827e [maven-release-plugin] prepare for next development iteration 2012-12-07 10:59:52 -08:00
Fangjin Yang b59361065e [maven-release-plugin] prepare release druid-0.1.7 2012-12-07 10:59:34 -08:00
Richard Benkovsky e950c6333d RemoteTaskRunner#run should fail on task with taskId from tasks.keys set 2012-11-29 09:42:28 +01:00
Gian Merlino cc8a14d5a1 IndexGeneratorTask: Log metrics when complete 2012-11-27 15:46:03 -08:00
Eric Tschetter 0390e7fa5c [maven-release-plugin] prepare for next development iteration 2012-11-21 22:13:15 -06:00
Eric Tschetter 93a9affa45 [maven-release-plugin] prepare release druid-0.1.6 2012-11-21 22:13:08 -06:00
Gian Merlino 5e447937e2 [maven-release-plugin] prepare for next development iteration 2012-11-21 16:09:14 -08:00
Gian Merlino 32d46a3eec [maven-release-plugin] prepare release druid-0.1.5 2012-11-21 16:09:08 -08:00
Gian Merlino 09669b6a2e TaskConsumer: Don't tell the queue we're done if we have been shut down 2012-11-21 12:20:38 -08:00
Fangjin Yang 4131063049 Merge branch 'master' into fjy 2012-11-19 15:07:00 -08:00
Fangjin Yang b228c053e5 bug fix for too much data to indexer 2012-11-19 15:06:46 -08:00
Eric Tschetter 701cc9562b 1) Adjust the StorageAdapters to lowercase names of metrics and dimensions before looking them up.
2) Add some docs to InputRow/Row to indicate that column names passed into the methods are *always* lowercase and that the rows need to act accordingly. (fixes #29, or at least clarifies the behavior...)
2012-11-19 17:01:17 -06:00
Fangjin Yang cf1c741f8a [maven-release-plugin] prepare for next development iteration 2012-11-13 15:10:12 -08:00
Fangjin Yang 06bd77fca7 [maven-release-plugin] prepare release druid-0.1.4 2012-11-13 15:10:00 -08:00
Fangjin Yang cd1a812fff construct registering nodes with lists 2012-11-13 15:00:55 -08:00
Fangjin Yang 0ef40171a8 nodes no longer inherit from interfaces but instead extend classes 2012-11-13 13:18:31 -08:00
Fangjin Yang 57468d39ef reverting some of the last changes 2012-11-12 16:14:48 -08:00
Fangjin Yang c20dccd0f4 modifying the way registering serdes works to hopefully be a bit easier to use 2012-11-12 13:58:43 -08:00
Fangjin Yang dd17992172 [maven-release-plugin] prepare for next development iteration 2012-11-09 15:50:24 -08:00
Fangjin Yang 47e71080db [maven-release-plugin] prepare release druid-0.1.3 2012-11-09 15:50:16 -08:00
Fangjin Yang e668660a9c fix strategy check in indexing coordinator 2012-11-09 15:48:26 -08:00
Fangjin Yang 5859599365 [maven-release-plugin] prepare for next development iteration 2012-11-09 13:41:04 -08:00
Fangjin Yang 56f2c15e21 [maven-release-plugin] prepare release druid-0.1.2 2012-11-09 13:40:57 -08:00
Fangjin Yang 0b7a3f259a [maven-release-plugin] prepare for next development iteration 2012-11-09 10:10:32 -08:00
Fangjin Yang baba4e7b75 [maven-release-plugin] prepare release druid-0.1.1 2012-11-09 10:10:26 -08:00
Fangjin Yang 03e5d74087 [maven-release-plugin] prepare for next development iteration 2012-11-09 09:33:06 -08:00
Fangjin Yang 8aff8decad [maven-release-plugin] prepare release druid-0.1.0 2012-11-09 09:32:57 -08:00
Fangjin Yang 88bb02963a fix compile breakage introduced by scaling strategies 2012-11-08 10:32:18 -08:00
Fangjin Yang 7083821fbf no param for scaling provision and minor fix for initialization 2012-11-08 10:08:40 -08:00
Fangjin Yang cdd9cdb2bd use PropUtils for indexer coordinator node 2012-11-08 09:31:22 -08:00
Fangjin Yang f39af83be4 make switching between scaling strategies config based 2012-11-08 09:30:32 -08:00
Fangjin Yang 52214d7355 additional improvements according to code review; unit tests; bug fixes for retry policies 2012-11-07 17:27:23 -08:00
Fangjin Yang 51cd361fbe some changes to how handlers are registered 2012-11-05 13:39:16 -08:00
Fangjin Yang 6b247f1599 cleanup redundant code 2012-11-05 11:19:55 -08:00
Fangjin Yang b4e3f98f4b bug fixes for retries without sufficient capacity 2012-11-05 11:18:11 -08:00
Fangjin Yang e9dadcae49 more sensical logic around when to terminate worker nodes 2012-11-02 16:59:49 -07:00
Fangjin Yang b1b611735e Merge branch 'master' into autoscaling
Conflicts:
	client/src/main/java/com/metamx/druid/http/BrokerMain.java
	merger/src/main/java/com/metamx/druid/merger/coordinator/http/IndexerCoordinatorNode.java
	merger/src/main/java/com/metamx/druid/merger/worker/http/WorkerNode.java
2012-11-02 15:57:16 -07:00
Fangjin Yang abab35194a general cleanup and improvments for auto scaling 2012-11-02 15:56:18 -07:00
Eric Tschetter f07b15db1f Undo massive import re-ordering 2012-11-01 18:38:27 -05:00
Eric Tschetter 8dd6f5c059 1) Refactor the BrokerMain into a BrokerMain and a BrokerNode to allow for extensions
2) Rename ServerMain to ComputeMain
3) Refactor ComputeMain to ComputeMain and ComputeNode to allow for extensions
4) Remove "TheSizeAdjuster", was old legacy stuff that's not relevant anymore
5) Fix bug with registering different IndexIO handlers
6) Adjust it so that when a query type is unknown, it returns an error message instead of just emitting an alert and returning nothing
7) Create super classes for the various *Node classes that allow for code sharing on pieces that are common
2012-11-01 18:20:38 -05:00
Fangjin Yang 83a51a801e cleanup redirects and reannounce workers on connection loss 2012-10-31 16:43:47 -07:00
Ian Brandt e7ec073d75 Cleaned Maven dependency configuration. In particular the 'mvn dependency:analyze' report no longer warns of used but undeclared dependencies. 2012-10-31 16:10:07 -07:00
Fangjin Yang 9547ea494d fix bug with provision 2012-10-31 14:45:44 -07:00
Fangjin Yang 11c64593ae improvements to the indexing service and auto scaling 2012-10-31 14:35:09 -07:00
Ian Brandt e8f02219bb Streamlined the Maven POMs, in particular the plugin configurations. The 'mvn versions:display-plugin-updates' report is now warning free, and there are no more Maven warnings reported in Eclipse. 2012-10-31 12:58:16 -07:00
Ian Brandt 0d24df7628 Removed unused imports. 2012-10-30 22:22:46 -07:00
Eric Tschetter 27999caca0 1) Create LICENSE
2) Attach copyright and notice of license to files
2012-10-24 05:09:47 -04:00
Eric Tschetter 9d41599967 Initial commit of OSS Druid Code 2012-10-24 03:39:51 -04:00