Commit Graph

1423 Commits

Author SHA1 Message Date
fjy d92ab8bb58 more logs for RTR 2013-08-21 21:47:59 -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 54f00479cc add explicit null check for moving tasks from pending to running 2013-08-21 13:02:35 -07:00
fjy 88661b26a0 bug fix for RTR removing workers race condition and partition chunks not being sorted by chunk number 2013-08-21 11:14:54 -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 e283de6831 fix another bug with RTR to remove things correctly from running tasks 2013-08-20 19:34:30 -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
fjy d02be16245 fix RTR closing PCC too early 2013-08-20 19:25:16 -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
Gian Merlino 70ab225770 Add missing license headers 2013-08-20 17:50:10 -07:00
Gian Merlino 455645e723 Workers announce TaskAnnouncement rather than TaskStatus 2013-08-20 16:14:36 -07:00
Gian Merlino 9609314765 ForkingTaskRunner: Make TaskInfo into ForkingTaskRunnerWorkItem
This allows the API/GUI to return reasonable results when the primary
task runner is a ForkingTaskRunner.
2013-08-20 14:04:28 -07:00
Gian Merlino 4e8325f963 Better tests and error messages for TaskResource 2013-08-20 14:01:38 -07:00
Gian Merlino b102d67173 Fix getResourceManagementScheduler for non-autoscaling configs 2013-08-20 13:39:05 -07:00
Gian Merlino 25e330780c Simplify AbstractTask constructor 2013-08-20 13:38:52 -07:00
Gian Merlino d8493f8e26 RealtimeIndexTask: Fix "resource" serde 2013-08-20 13:02:52 -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
fjy 5c600c7012 change error msg to alert 2013-08-15 13:27:41 -07:00
fjy 4e7dac18b9 fix condition where status would be returned even if worker not running task 2013-08-15 13:12:57 -07:00
fjy 1fb6107a37 fix the case where RTR does not clean up a completed task on startup 2013-08-15 13:09:02 -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
fjy 761a411b16 [maven-release-plugin] prepare for next development iteration 2013-08-14 10:13:50 -07:00
fjy 4dd727d974 [maven-release-plugin] prepare release druid-0.5.38 2013-08-14 10:13:34 -07:00
fjy 9870cab855 [maven-release-plugin] prepare for next development iteration 2013-08-13 17:21:56 -07:00
fjy e4c998cfef [maven-release-plugin] prepare release druid-0.5.37 2013-08-13 17:21:46 -07:00
Gian Merlino 246bd0fbaa [maven-release-plugin] prepare for next development iteration 2013-08-13 07:27:24 -07:00
Gian Merlino a2e9441693 [maven-release-plugin] prepare release druid-0.5.36 2013-08-13 07:27:18 -07:00
fjy d4fc069e01 [maven-release-plugin] prepare for next development iteration 2013-08-12 18:58:14 -07:00
fjy dd8c96c734 [maven-release-plugin] prepare release druid-0.5.35 2013-08-12 18:58:06 -07:00
Gian Merlino 8d7a4f4493 Retries for S3TaskLogs, S3DataSegmentPusher 2013-08-12 14:27:34 -07:00
fjy 1f4e0ea40c [maven-release-plugin] prepare for next development iteration 2013-08-12 13:21:29 -07:00
fjy 1c2ad4f08c [maven-release-plugin] prepare release druid-0.5.34 2013-08-12 13:21:21 -07:00
fjy 68a3f1ab79 [maven-release-plugin] prepare for next development iteration 2013-08-08 22:15:04 -07:00
fjy ce5679554d [maven-release-plugin] prepare release druid-0.5.33 2013-08-08 22:14:55 -07:00
fjy ddc2e87c4c [maven-release-plugin] prepare for next development iteration 2013-08-06 21:21:28 -07:00
fjy ffbcd18cdc [maven-release-plugin] prepare release druid-0.5.32 2013-08-06 21:21:18 -07:00
fjy df883a9823 learn to type 2013-08-06 21:18:36 -07:00
fjy 4617d37e28 [maven-release-plugin] prepare for next development iteration 2013-08-06 21:08:02 -07:00
fjy 53b248dc28 [maven-release-plugin] prepare release druid-0.5.31 2013-08-06 21:07:52 -07:00
fjy 795657aedf fix bug where workers with same capacity would not be unique 2013-08-06 21:04:13 -07:00
Gian Merlino 99a3de1597 [maven-release-plugin] prepare for next development iteration 2013-08-06 17:41:58 -07:00
Gian Merlino c0ccfd66ea [maven-release-plugin] prepare release druid-0.5.30 2013-08-06 17:41:51 -07:00
fjy 930b089f7f [maven-release-plugin] prepare for next development iteration 2013-08-06 16:20:37 -07:00
fjy dd5f5ae49b [maven-release-plugin] prepare release druid-0.5.29 2013-08-06 16:20:29 -07:00
fjy ebf1ac47f0 Merge branch 'master' of github.com:metamx/druid 2013-08-06 15:38:25 -07:00
fjy 9d0e4a94f0 alert when task fails in RTR assign 2013-08-06 15:38:17 -07:00
cheddar 4a64ce37ed Finish the merging, wtf IntelliJ? 2013-08-06 13:34:24 -07:00
cheddar eee1efdcb5 Merge branch 'master' into guice
Conflicts:
	client/src/main/java/com/metamx/druid/client/DruidServerConfig.java
	indexing-service/src/main/java/com/metamx/druid/indexing/common/index/ChatHandlerProvider.java
	indexing-service/src/main/java/com/metamx/druid/indexing/coordinator/TaskMasterLifecycle.java
	indexing-service/src/main/java/com/metamx/druid/indexing/worker/executor/ExecutorNode.java
	indexing-service/src/test/java/com/metamx/druid/indexing/coordinator/TaskLifecycleTest.java
2013-08-06 13:33:31 -07:00
Gian Merlino ba847bff32 [maven-release-plugin] prepare for next development iteration 2013-08-05 19:58:40 -07:00
Gian Merlino 7101d9ad2e [maven-release-plugin] prepare release druid-0.5.28 2013-08-05 19:58:34 -07:00
Gian Merlino a1904c9b3b ChatHandlerResource: Fix Guice type errors 2013-08-05 19:56:03 -07:00
fjy db695f49c2 [maven-release-plugin] prepare for next development iteration 2013-08-05 18:26:20 -07:00
fjy c22e5b7ee0 [maven-release-plugin] prepare release druid-0.5.27 2013-08-05 18:26:10 -07:00
fjy d1b2a5a4b3 fix indexer console serde of running tasks 2013-08-05 18:22:12 -07:00
fjy 8ff0b53df4 [maven-release-plugin] prepare for next development iteration 2013-08-05 18:00:46 -07:00
fjy 1d3729906d [maven-release-plugin] prepare release druid-0.5.26 2013-08-05 18:00:36 -07:00
fjy 479f0cefca fix bug with RTR not assigning tasks when a new worker is available 2013-08-05 17:57:59 -07:00
fjy 90e082463b [maven-release-plugin] prepare for next development iteration 2013-08-05 16:10:19 -07:00
fjy eb276d34d7 [maven-release-plugin] prepare release druid-0.5.25 2013-08-05 16:10:11 -07:00
fjy 626cf14a6e fix bug where the curator config name was changed in one place but not another; make some info msgs into debug msgs; fix zkworker serialization 2013-08-05 16:02:26 -07:00
fjy a95d9c46e2 [maven-release-plugin] prepare for next development iteration 2013-08-05 14:47:35 -07:00
fjy 8e1f4d3256 [maven-release-plugin] prepare release druid-0.5.24 2013-08-05 14:47:26 -07:00
fjy 66c658305f Merge branch 'master' of github.com:metamx/druid 2013-08-05 14:44:09 -07:00
fjy 35f89d7232 make RTR idempotent to multiple run requests for same task, because higher level things in the indexing service require this behaviour 2013-08-05 14:44:01 -07:00
Gian Merlino efd34f3a8b TaskRunner: Fix comment 2013-08-05 14:20:31 -07:00
fjy fbb1211cbc [maven-release-plugin] prepare for next development iteration 2013-08-05 11:44:36 -07:00
fjy 22a90d36b7 [maven-release-plugin] prepare release druid-0.5.23 2013-08-05 11:44:28 -07:00
cheddar 2361e0112a Make it all compile again... 2013-08-02 10:14:46 -07:00
fjy c33f2f06ff fix logic of how to assign tasks to workers 2013-08-02 09:01:02 -07:00
fjy 584ccac833 move scanning of workers and tasks into RTR start, simplify bootstrap, make tests better 2013-08-01 17:50:05 -07:00
cheddar 9e78bb38f5 Merge branch 'master' into guice
Conflicts:
	client/src/main/java/com/metamx/druid/QueryableNode.java
	client/src/main/java/com/metamx/druid/client/ServerInventoryView.java
	client/src/main/java/com/metamx/druid/coordination/SingleDataSegmentAnnouncer.java
	client/src/main/java/com/metamx/druid/initialization/CuratorDiscoveryConfig.java
	client/src/main/java/com/metamx/druid/query/MetricsEmittingExecutorService.java
	indexing-hadoop/src/test/java/com/metamx/druid/indexer/HadoopDruidIndexerConfigTest.java
	indexing-service/src/main/java/com/metamx/druid/indexing/common/TaskToolbox.java
	indexing-service/src/main/java/com/metamx/druid/indexing/coordinator/http/IndexerCoordinatorNode.java
	indexing-service/src/main/java/com/metamx/druid/indexing/worker/executor/ExecutorNode.java
	indexing-service/src/main/java/com/metamx/druid/indexing/worker/http/WorkerNode.java
	pom.xml
	server/src/main/java/com/metamx/druid/coordination/ServerManager.java
	server/src/main/java/com/metamx/druid/coordination/ZkCoordinator.java
	server/src/main/java/com/metamx/druid/db/DatabaseRuleManager.java
	server/src/main/java/com/metamx/druid/db/DatabaseSegmentManager.java
	server/src/main/java/com/metamx/druid/http/ComputeNode.java
	server/src/main/java/com/metamx/druid/http/MasterMain.java
	server/src/main/java/com/metamx/druid/loading/SegmentLoaderConfig.java
	server/src/main/java/com/metamx/druid/loading/SingleSegmentLoader.java
	server/src/main/java/com/metamx/druid/master/DruidMaster.java
2013-08-01 16:42:47 -07:00
cheddar 019bb5d453 1) Another whole bunch of changes to annotate things and create Modules and bind stuff. But OMFG, the compute node actually appears to be working!
2) The compute node works with Guice
3) The compute node fires up with Guice and appears to work
4) Did I mention that the compute node, now called historical node, fires up with Guice and appears to work?
2013-08-01 15:28:08 -07:00
fjy a4edc2221d fix RTR comments 2013-07-31 15:28:52 -07:00
fjy 215d147a69 Merge branch 'worker-resource' of github.com:metamx/druid into worker-resource 2013-07-31 15:23:49 -07:00
fjy e2b5cd6067 Merge branch 'master' of github.com:metamx/druid into worker-resource
Conflicts:
	indexing-service/src/main/java/com/metamx/druid/indexing/worker/executor/ExecutorNode.java
2013-07-31 15:23:13 -07:00
Gian Merlino eaddce06d5 Call TaskRunner.bootstrap immediately after starting it 2013-07-30 15:26:11 -07:00
fjy 50836798fa toggle between compressed and non compressed service discovery 2013-07-29 15:40:45 -07:00
fjy ad65c8111d fix logs 2013-07-29 11:41:42 -07:00
fjy 4ae8395538 1) on bootstrap, load all initial data and do a compare with bootstrapped tasks, delete any that are extra out there
2) change autoscaling logic such that it only works with remote task runnrs
3) zk workers use their own status caches to determine what they are running
2013-07-26 14:32:08 -07:00
cheddar 6b9963b472 1) Move the @Json and @Smile annotations to com.metamx.druid.guice.annotations
2) Changed ServiceAnnouncer to take a DruidNode object
3) Remove ServiceInstanceFactory interface and implementations
4) Add registrations to DiscoveryModule so that you can register nodes that should be announced on startup
5) Make the set of default Monitors configurable
2013-07-26 14:03:51 -07:00
fjy a1262760b2 Merge branch 'master' into worker-resource 2013-07-26 10:02:15 -07:00
fjy b0090a1de6 [maven-release-plugin] prepare for next development iteration 2013-07-25 17:26:44 -07:00
fjy 6868153905 [maven-release-plugin] prepare release druid-0.5.22 2013-07-25 17:26:36 -07:00
cheddar a6bc63732d Merge pull request #199 from metamx/indexing-service-mods
Improve robustness and usability of RealtimeIndexTask and some code cleanup in the Indexing Service
2013-07-25 17:09:15 -07:00
fjy cf0cb3b703 [maven-release-plugin] prepare for next development iteration 2013-07-25 16:55:28 -07:00
fjy 8297f068c3 [maven-release-plugin] prepare release druid-0.5.21 2013-07-25 16:55:20 -07:00
fjy f68a68112f [maven-release-plugin] prepare for next development iteration 2013-07-25 16:21:59 -07:00
fjy b6e8d11aec [maven-release-plugin] prepare release druid-0.5.20 2013-07-25 16:21:49 -07:00
fjy 217894d44a Merge branch 'master' into worker-resource
Conflicts:
	pom.xml
2013-07-25 16:18:42 -07:00
Gian Merlino 4dd42c7177 RemoteTaskActionClient: Log service uri when submitting action 2013-07-25 14:48:25 -07:00
Gian Merlino 5d44f0f15b ForkingTaskRunner: Use guava Closer to closer stuff 2013-07-25 14:37:45 -07:00
Gian Merlino 952b8ce06b RemoteTaskActionClient: Fix http path 2013-07-25 14:37:20 -07:00
Gian Merlino f38d7cf964 Fix busted condition 2013-07-24 16:33:01 -07:00
Gian Merlino 6d1cb1bfc1 IndexerCoordinatorResource: Log when remote task action fails 2013-07-24 16:13:12 -07:00
Gian Merlino 30d98f56c1 RealtimeIndexTask: Allow configurable rejection policies 2013-07-24 16:12:54 -07:00
Gian Merlino 0eebb0a149 Add RealtimeMetricsMonitor to RealtimeIndexTask 2013-07-24 14:39:59 -07:00
Gian Merlino 71704f7ee8 Replace graceful/hard shutdown combo with simple exit 2013-07-24 10:27:21 -07:00
fjy cfc635de53 [maven-release-plugin] prepare for next development iteration 2013-07-24 09:41:30 -07:00
fjy 09576ccd09 [maven-release-plugin] prepare release druid-0.5.19 2013-07-24 09:41:20 -07:00
fjy 1b56fa5416 [maven-release-plugin] prepare for next development iteration 2013-07-18 15:37:54 -07:00
fjy 0c11602623 [maven-release-plugin] prepare release druid-0.5.18 2013-07-18 15:37:16 -07:00
fjy 816f673a47 [maven-release-plugin] prepare for next development iteration 2013-07-18 15:14:47 -07:00
fjy bcb1b99410 [maven-release-plugin] prepare release druid-0.5.17 2013-07-18 15:14:32 -07:00
fjy 357d77aca2 [maven-release-plugin] prepare for next development iteration 2013-07-18 14:53:56 -07:00
fjy b5b6cd6594 [maven-release-plugin] prepare release druid-0.5.16 2013-07-18 14:53:46 -07:00
fjy 08f56feee3 [maven-release-plugin] prepare for next development iteration 2013-07-18 14:48:53 -07:00
fjy 74b4c577f0 [maven-release-plugin] prepare release druid-0.5.15 2013-07-18 14:48:42 -07:00
fjy 5b55db6a42 [maven-release-plugin] prepare for next development iteration 2013-07-18 14:28:54 -07:00
fjy 3792a54869 [maven-release-plugin] prepare release druid-0.5.14 2013-07-18 14:28:46 -07:00
fjy 2f63140f2f [maven-release-plugin] prepare for next development iteration 2013-07-18 14:17:16 -07:00
fjy 4481b10efc [maven-release-plugin] prepare release druid-0.5.13 2013-07-18 14:16:55 -07:00
fjy df88274d9e fix poms 2013-07-18 14:14:16 -07:00
fjy 325a5fb4c0 [maven-release-plugin] prepare release druid-0.5.12 2013-07-18 14:09:56 -07:00
fjy cef0e50881 [maven-release-plugin] prepare for next development iteration 2013-07-17 09:14:37 -07:00
fjy 22526a6c68 [maven-release-plugin] prepare release druid-0.5.11 2013-07-17 09:14:28 -07:00
fjy 43bdb99593 [maven-release-plugin] prepare for next development iteration 2013-07-16 17:55:42 -07:00
fjy d5fee45bf4 [maven-release-plugin] prepare release druid-0.5.10 2013-07-16 17:55:29 -07:00
fjy f3187b67a5 [maven-release-plugin] prepare for next development iteration 2013-07-16 17:32:05 -07:00
fjy eb89857bdc [maven-release-plugin] prepare release druid-0.5.9 2013-07-16 17:31:55 -07:00
fjy 0f492e17c3 [maven-release-plugin] prepare for next development iteration 2013-07-16 16:53:51 -07:00
fjy a3879d1151 [maven-release-plugin] prepare release druid-0.5.8 2013-07-16 16:53:41 -07:00
fjy f422bfae8c [maven-release-plugin] prepare for next development iteration 2013-07-16 13:35:38 -07:00
fjy cd174dbd80 [maven-release-plugin] prepare release druid-0.5.7 2013-07-16 13:35:29 -07:00
fjy afac15d631 fix version problem 2013-07-16 13:32:50 -07:00
fjy 36756aa557 [maven-release-plugin] prepare release druid-0.5.6 2013-07-16 13:30:16 -07:00
fjy b9578a1ada 1) remove retry logic from RTR
2) simplify configs
3) introduce task resource
4) make worker versions match coordinator version by default
2013-07-12 12:51:12 -07:00
fjy d3eb491155 Merge branch 'batch-zk' into worker-resource
Conflicts:
	pom.xml
	server/src/main/java/com/metamx/druid/coordination/ZkCoordinator.java
2013-07-02 16:24:59 -07:00
fjy e21aa41bdd Merge branch 'master' into worker-resource
Conflicts:
	server/src/main/java/com/metamx/druid/coordination/ZkCoordinator.java
	server/src/main/java/com/metamx/druid/loading/SingleSegmentLoader.java
2013-07-02 16:23:53 -07:00
fjy 5ac2d1db0b Merge branch 'master' of github.com:metamx/druid into batch-zk
Conflicts:
	server/src/main/java/com/metamx/druid/coordination/ZkCoordinator.java
	server/src/main/java/com/metamx/druid/loading/SingleSegmentLoader.java
2013-07-02 15:57:31 -07:00
fjy 7219ed15d3 fix according to code review 2013-07-02 15:56:12 -07:00
cheddar fd1d73e83a [maven-release-plugin] prepare for next development iteration 2013-07-01 16:04:31 -07:00
cheddar 090921b43e [maven-release-plugin] prepare release druid-0.5.5 2013-07-01 16:04:25 -07:00
cheddar 797a083b69 1) Adjust SingleSegmentLoader to allow for storing segments on multiple different mount points. The specification language is really janky right now, so this is remaining a stealth feature for the time being. 2013-07-01 14:56:57 -07:00
fjy a6787ab201 fix up configs 2013-06-27 16:40:17 -07:00
fjy caa68e101a first commit; things working right now 2013-06-19 15:56:45 -07:00
cheddar 11ea15fc1a 1) Introduce Jetty 8
2) Fix up modules based on exceptions at startup for MasterMain
2013-06-17 10:53:50 -07:00
fjy b96d6b3546 [maven-release-plugin] prepare for next development iteration 2013-06-10 14:11:19 -07:00
fjy c465d4ef8c [maven-release-plugin] prepare release druid-0.5.4 2013-06-10 14:11:09 -07:00
cheddar 2f56c24259 1) Inject IndexingServiceClient
2) Switch all the DBI references to IDBI
2013-06-07 17:37:33 -07:00
fjy 12e78955db [maven-release-plugin] prepare for next development iteration 2013-06-07 14:17:39 -07:00
fjy 962db29e70 [maven-release-plugin] prepare release druid-0.5.3 2013-06-07 14:17:32 -07:00
fjy 37a3994003 add delegating executor service and fix bug with query priortization 2013-06-07 14:08:51 -07:00
cheddar f68df7ab69 1) Make tests work and continue trying to make the DruidMaster start up with just Guice 2013-06-07 12:01:46 -07:00
Gian Merlino 67be515db6 [maven-release-plugin] prepare for next development iteration 2013-06-06 18:25:07 -07:00
Gian Merlino 8dbb69c8a8 [maven-release-plugin] prepare release druid-0.5.2 2013-06-06 18:24:59 -07:00
Gian Merlino d69fb61a6e Fix getImplicitLockInterval check 2013-06-06 18:22:41 -07:00
fjy ee38ca5463 [maven-release-plugin] prepare for next development iteration 2013-06-06 18:00:31 -07:00
fjy a36d0007ac [maven-release-plugin] prepare release druid-0.5.1 2013-06-06 18:00:24 -07:00
fjy 14f9b0409e fix pushing down too many properties 2013-06-06 17:58:40 -07:00
fjy d5b7e644b6 [maven-release-plugin] prepare for next development iteration 2013-06-06 16:10:45 -07:00
fjy 2113715f5d [maven-release-plugin] prepare release druid-0.5.0 2013-06-06 16:10:39 -07:00
cheddar 9df458a065 1) Initial commit of conversion to using Guice modules for bootstrapping. Things don't actually completely work yet. 2013-06-06 15:43:15 -07:00
fjy e4ea357b52 multiple bug fixes for indexing service; scv quotes 2013-06-06 14:10:18 -07:00
fjy 451d3d358b some fixes according to code review comments 2013-06-06 11:02:08 -07:00
fjy 8202bc70eb optimize spatial and update poms everywhere 2013-06-05 15:26:40 -07:00
fjy 06931ee0f5 introduce availability groups 2013-06-04 17:12:19 -07:00
fjy 42cc87a294 Merge branch 'master' into refactor-indexing
Conflicts:
	indexing-service/src/main/java/com/metamx/druid/indexing/common/task/IndexTask.java
	pom.xml
2013-05-31 17:28:59 -07:00
fjy 8b8c59d309 Merge branch 'master' into refactor-indexing 2013-05-16 17:35:50 -07:00
fjy 08d84001ba Merge branch 'master' into refactor-indexing 2013-05-16 16:03:29 -07:00
fjy c6ad0753f0 bug fixes 2013-05-16 16:02:20 -07:00
fjy 835187be6f fix poms to pass unit tests 2013-05-15 17:38:59 -07:00
fjy 6213c0b63c Merge branch 'master' into refactor-indexing 2013-05-15 17:14:40 -07:00
fjy 20ae1d8b6b lots of cleanups and refactorings 2013-05-15 15:37:04 -07:00