Commit Graph

2511 Commits

Author SHA1 Message Date
Fangjin Yang 8e83d800d6 Merge pull request #1881 from gianm/restartable-tasks
Restorable indexing tasks
2015-11-23 21:14:37 -08:00
Gian Merlino 13af260102 Merge pull request #1957 from metamx/skip-incremental-segment
Ability to skip Incremental Index during query using query context
2015-11-23 17:32:57 -08:00
Gian Merlino 501dcb43fa Some changes that make it possible to restart tasks on the same hardware.
This is done by killing and respawning the jvms rather than reconnecting to existing
jvms, for a couple reasons. One is that it lets you restore tasks after server reboots
too, and another is that it lets you upgrade all the software on a box at once by just
restarting everything.

The main changes are,

1) Add "canRestore" and "stopGracefully" methods to Tasks that say if a task can
   stop gracefully, and actually do a graceful stop. RealtimeIndexTask is the only
   one that currently implements this.

2) Add "stop" method to TaskRunners that attempts to do an orderly shutdown.
   ThreadPoolTaskRunner- call stopGracefully on restorable tasks, wait for exit
   ForkingTaskRunner- close output stream to restorable tasks, wait for exit
   RemoteTaskRunner- do nothing special, we actually don't want to shutdown

3) Add "restore" method to TaskRunners that attempts to bootstrap tasks from last run.
   Only ForkingTaskRunner does anything here. It maintains a "restore.json" file with
   a list of restorable tasks.

4) Have the CliPeon's ExecutorLifecycle lock the task base directory to avoid a restored
   task and a zombie old task from stomping on each other.
2015-11-23 11:22:08 -08:00
Gian Merlino 36569094ce EventReceiverFirehose: Drain buffer when closed, until empty. 2015-11-20 19:12:59 -08:00
Fangjin Yang 21c84b5ff7 Merge pull request #1896 from gianm/allocate-segment
SegmentAllocateAction (fixes #1515)
2015-11-18 21:05:46 -08:00
Nishant 60f649dab1 Ability to skip Incremental Index during query using query context
This PR adds adds the ability to skip incremental index when querying
results from realtime nodes. default behaviour is to include
incrementalIndex in queries.

review comment
2015-11-19 00:29:41 +05:30
Charles Allen 8fcf2403e3 Merge pull request #1943 from metamx/realtime-caching
Enable caching on intermediate realtime persists
2015-11-17 15:06:43 -08:00
Charles Allen 8fa34ee671 Merge pull request #1973 from metamx/cachemonitor-optional-injection
CacheMonitor - make cache injection optional
2015-11-17 13:02:06 -08:00
Himanshu 9118b010c0 Merge pull request #1976 from noddi/feature/count-parameter-rules-history
Add count parameter to rules history endpoint.
2015-11-17 14:41:50 -06:00
Charles Allen dbe201aeed Merge pull request #1929 from pjain1/jetty_threads
separate ingestion and query thread pool
2015-11-17 12:14:25 -08:00
Parag Jain 6c498b7d4a separate ingestion and query thread pool 2015-11-17 13:42:41 -06:00
Bartosz Ługowski b0a444eafc Add count parameter to rules history endpoint. 2015-11-17 20:14:12 +01:00
Xavier Léauté d7eb2f717e enable query caching on intermediate realtime persists 2015-11-17 10:58:00 -08:00
Xavier Léauté 71376efd57 make cache injection optional
allows enabling the CacheMonitor for all index tasks, even if some don't
bind any cache instance.
2015-11-16 22:40:01 -08:00
Fangjin Yang 4f46d457f1 Merge pull request #1947 from noddi/feature/count-parameter-history-endpoints
Add count parameter to history endpoints
2015-11-12 10:23:44 -08:00
Fangjin Yang 465cbcf9a7 Merge pull request #1956 from metamx/remove-unused-imports
Cleanup + remove unused imports
2015-11-11 17:36:47 -08:00
Gian Merlino e4e5f0375b SegmentAllocateAction (fixes #1515)
This is a feature meant to allow realtime tasks to work without being told upfront
what shardSpec they should use (so we can potentially publish a variable number
of segments per interval).

The idea is that there is a "pendingSegments" table in the metadata store that
tracks allocated segments. Each one has a segment id (the same segment id we know
and love) and is also part of a sequence.

The sequences are an idea from @cheddar that offers a way of doing replication.
If there are N tasks reading exactly the same data with exactly the same logic
(think Kafka tasks reading a fixed range of offsets) then you can place them
in the same sequence, and they will generate the same sequence of segments.
2015-11-11 16:54:35 -08:00
Charles Allen dc4ae59aaf Merge pull request #1865 from noddi/bugfix/issue-560
Fix #560 - datasource segments summary shouldn't include replication.
2015-11-11 15:29:08 -08:00
Bartosz Ługowski 6e5d2c6745 Add count parameter to history endpoints. 2015-11-11 23:03:57 +01:00
Gian Merlino 8e743b70c6 SegmentIdentifier, like a pre-DataSegment. 2015-11-11 12:25:43 -08:00
Xavier Léauté e26f7fca36 cleanup cache interface 2015-11-11 12:25:22 -08:00
Xavier Léauté fa6142e217 cleanup and remove unused imports 2015-11-11 12:25:21 -08:00
Gian Merlino f2c271e500 Better error message when LocalDataSegmentPusher cannot create its directory. 2015-11-10 19:49:01 -08:00
Xavier Léauté cf779946ef Merge pull request #1791 from guobingkun/event_receiver_firehose_monitor
EventReceiverFirehoseMonitor
2015-11-10 11:09:42 -08:00
Xavier Léauté a57cbfd2c3 Merge pull request #1387 from metamx/enableShutdownLogging
Add special handler to allow logger messages during shutdown
2015-11-09 17:20:09 -08:00
Charles Allen 1df4baf489 Move Jackson Guice adapters into io.druid
* Removes access to protected methods in com.fasterxml
* Eliminates druid-common's use of foreign package com.fasterxml
2015-11-09 10:50:45 -08:00
Fangjin Yang fe6efb6367 Merge pull request #1932 from gianm/data-schema-exclude-metric-names
DataSchema: Exclude metric names from dimension list.
2015-11-07 15:22:33 -08:00
Bartosz Ługowski 8b5de492cc Fix #560 - datasource segments summary shouldn't include replication. 2015-11-07 21:43:47 +01:00
Gian Merlino 6b908a5061 DataSchema: Exclude metric names from dimension list.
Otherwise we could end up with a metric and a dimension with the same column name.
2015-11-07 12:25:36 -08:00
Xavier Léauté e9533db987 Merge pull request #1850 from metamx/friendlyBardCache
Allow setting upper limit on the number of cache segments a broker will try to fetch.
2015-11-06 10:25:49 -08:00
Xavier Léauté c896818241 Update curator to 2.9.1
Lots of bugfixes since 2.8.0
- https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12314425&version=12333324
- https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12314425&version=12332392
2015-11-05 15:53:01 -08:00
fjy 4efc90dda3 fix zkcoordinator inject 2015-11-04 17:30:17 -08:00
fjy 8f231fd3e3 cleanup druid codebase 2015-11-04 13:59:53 -08:00
Xavier Léauté 3b3d88bd03 Merge pull request #1857 from noddi/feature/intervals-route
Queryable intervals
2015-11-03 13:19:04 -08:00
Himanshu Gupta 8b67417ac8 make methods in Index[Merger,Maker,IO] non-static so that they can have
appropriate ObjectMapper injected instead of creating one statically
2015-11-02 23:24:26 -06:00
Fangjin Yang f90ddfdb89 Merge pull request #1745 from himanshug/numbered_to_elastic
making NumberedShardSpec elastic
2015-10-30 16:01:03 -07:00
Bingkun Guo c3b6fcce9d Add EventReceiverFirehoseMonitor
add an EventReceiverFirehoseMonitor so that we can monitor how many
events have been queued in the EventReceiverFirehose and get a sense
about whether the firehose is under too much pressure.
2015-10-30 11:40:02 -05:00
Bartosz Ługowski 6de51e022d Coordinator - add intervals route. 2015-10-30 11:51:42 +01:00
Xavier Léauté 149333d77d forward cancellation request to all brokers, fixes #1802 2015-10-29 16:58:38 -07:00
Charles Allen dfce14ed17 Allow setting upper limit on the number of cache segments a broker will try to fetch. 2015-10-29 11:50:00 -07:00
Xavier Léauté 59872bd0cd Merge pull request #1809 from metamx/fifoPriorityExecutorService
Make PrioritizedExecutorService optionally FIFO
2015-10-27 15:19:32 -07:00
Fangjin Yang ea2267e08c Merge pull request #1868 from gianm/fix-announcements
Historical and MiddleManager server announcements should not remove parents.
2015-10-27 14:50:05 -07:00
Gian Merlino 7df7370935 Merge pull request #1862 from metamx/indexingServiceMMGone
Add timeout to shutdown request to middle manager for indexing service
2015-10-27 14:38:01 -07:00
Charles Allen 7a2ceef690 Add special handler to allow logger messages during shutdown
* Adds a special PropertyChecker interface which is ONLY for setting string properties at the very start of psvm
2015-10-27 14:33:36 -07:00
Charles Allen ecdafa87c5 Make PrioritizedExecutorService optionally FIFO 2015-10-27 14:16:22 -07:00
Charles Allen 67d58f6d8d Update CoordinatorRuleManager for http-client 1.0.4 2015-10-27 14:08:45 -07:00
Gian Merlino 4b92752deb Historical and MiddleManager server announcements should not remove parents.
Removing parent paths causes watchers of the "announcements" path to get stuck
and stop seeing new updates.
2015-10-27 08:06:11 -07:00
Fangjin Yang 5a082b2f5e Merge pull request #1824 from metamx/UniformGranularitySpecHashEquals
Add hashCode and equals to UniformGranularitySpec
2015-10-26 09:34:01 -07:00
Fangjin Yang 5f23703216 Merge pull request #1638 from guobingkun/remove_maven_client_code
Remove Maven client at runtime + Provide a way to load Druid extensions through local file system
2015-10-26 09:30:05 -07:00
Xavier Léauté 72c408cf2d Merge pull request #1770 from metamx/merge-time
Add segment merge time as a metric
2015-10-22 22:03:41 -07:00
Himanshu 853f95f64c Merge pull request #1845 from metamx/moreVerboseRuleAuditLogging
Add more verbose logging to SQLMetadataRuleManager
2015-10-22 16:12:46 -05:00
Nishant 7cecc55045 Add segment merge time as a metric
Add merge and persist cpu time

Fix typo

review comment

move cpu time measuring to VMUtils

review comments.
2015-10-22 12:28:03 +05:30
Charles Allen 6ceab03fc4 Add debug logging to start of segment manager polling 2015-10-21 16:17:49 -07:00
Charles Allen 1cad571354 Add more verbose logging to SQLMetadataRuleManager 2015-10-21 16:11:40 -07:00
Bingkun Guo 4914925d65 New extension loading mechanism
1) Remove maven client from downloading extensions at runtime.
2) Provide a way to load Druid extensions and hadoop dependencies through file system.
3) Refactor pull-deps so that it can download extensions into extension directories.
4) Add documents on how to use this new extension loading mechanism.
5) Change the way how Druid tarball is generated. Now all the extensions + hadoop-client 2.3.0
are packaged within the Druid tarball.
2015-10-21 14:22:36 -05:00
Xavier Léauté e4ac78e43d bump next snapshot to 0.9.0 2015-10-20 13:46:13 -07:00
Himanshu 0292db648d Merge pull request #1833 from metamx/improve-log
Improve alert message in CachingClusteredClient - Add Datasource info.
2015-10-20 15:40:57 -05:00
Nishant bf214f23b2 Improve message for alert - Add Datasource info. 2015-10-16 19:43:21 +05:30
Xavier Léauté 4c2c7a2c37 update version to 0.8.3 2015-10-14 21:40:55 -07:00
Charles Allen f432b8e3f9 Add hashCode and equals to UniformGranularitySpec
* Also add hashCode != 0 to AllGranularity and NoneGranularity
2015-10-13 16:42:21 -07:00
Charles Allen bf11723a52 Update usages of io.druid.client.selector.Server to build URL or URI directly instead of using String.format 2015-10-12 12:30:56 -07:00
Charles Allen e450877a78 Make ServerDiscoverySelector more IPv6 friendly 2015-10-08 10:03:50 -07:00
Charles Allen 693e14a14d Add unit tests for ipv6 in ServerDiscoverySelectorTest 2015-10-08 10:03:22 -07:00
Charles Allen 020a706ac4 Merge pull request #1800 from metamx/hybrid-cache
Hybrid L1/L2 cache
2015-10-06 15:18:07 -07:00
Xavier Léauté b11c0859e8 hybrid l1/l2 cache to combine local and remote cache 2015-10-06 14:32:08 -07:00
Fangjin Yang b5737a233a Merge pull request #1801 from guobingkun/clientInfoResource
Fix ClientInfoResource
2015-10-06 07:53:44 -07:00
Charles Allen 2bc4aed1e5 Add CPUTimeMetricQueryRunner to ClientQuerySegmentWalker 2015-10-05 10:09:22 -07:00
Bingkun Guo 57c8e56451 Fix ClientInfoResource
Fix ClientInfoResource so that it doesn't return empty list for overshadowed segments
2015-10-02 14:12:55 -05:00
Himanshu 166c4fcf46 Merge pull request #1795 from metamx/announcerTestTransactions
Try and make AnnouncerTest a bit more predictable
2015-10-02 13:04:33 -05:00
Charles Allen 7d635a2ce2 Try and make AnnouncerTest a bit more predictable 2015-10-02 09:19:40 -07:00
Xavier Léauté 5db4c5a089 move cache bindings into a dedicated module 2015-10-02 00:29:05 -04:00
Himanshu Gupta b9740a727b unit test for IngestSegmentFirehose 2015-10-01 16:06:04 -05:00
Charles Allen 2d847ad654 Merge pull request #1730 from metamx/union-queries-fix
fix #1727 - Union bySegment queries fix
2015-09-29 12:23:25 -07:00
Nishant 573aa96bd6 fix #1727 - Union bySegment queries fix
Fixes #1727.
revert to doing merging for results for union queries on broker.

revert unrelated changes

Add test for union query runner

Add test

remove unused imports

fix imports

fix renamed file

fix test

update docs.
2015-09-29 23:32:36 +05:30
Gian Merlino 348172203f OverlordRedirectInfo: Fix ability to detect that there is no leader. 2015-09-25 09:30:09 -07:00
Gian Merlino 906e99d631 RedirectFilter: User agents are more likely to preserve method on 307. 2015-09-25 08:54:23 -07:00
Gian Merlino 3aba401ee0 SQLMetadataConnector: Retry table creation, in case something goes wrong.
Also rejigger table creation methods to not take a DBI. It's already available
inside the connector, and everyone was just using that one anyway.
2015-09-24 21:39:36 -07:00
Charles Allen 4308aa93e2 Add meter metrics for memcached 2015-09-22 12:50:54 -07:00
Charles Allen 46ba60f10f Enable logging for memcached in factory 2015-09-22 11:13:47 -07:00
Xavier Léauté 1c86eac9e1 Merge pull request #1760 from metamx/memcached082Updates
Update memcached client for better concurrency in metrics.
2015-09-22 10:59:43 -07:00
Xavier Léauté 35caa753aa Merge pull request #1761 from gianm/local-path-for-hadoop
LocalDataSegmentPusher: Fix for Hadoop + relative paths.
2015-09-22 08:57:44 -07:00
Gian Merlino 4efbe649a3 LocalDataSegmentPusher: Fix for Hadoop + relative paths. 2015-09-22 07:44:12 -07:00
Charles Allen e6f07a832d Update memcached client for better concurrency in metrics. Also fixes another injection problem 2015-09-22 07:40:24 -07:00
Himanshu 34a8fbcd68 Merge pull request #1755 from metamx/update-druid-api
update druid-api for timestamp parsing speedup
2015-09-21 19:43:13 -05:00
Gian Merlino 490b1aea2a Merge pull request #1758 from metamx/fixMemcachedInjection
Fix memcached cache provider injection and add test
2015-09-21 15:36:29 -07:00
Charles Allen 37eb83a1d0 Fix memcached cache provider injection and add test 2015-09-21 15:00:22 -07:00
Xavier Léauté 8f489c1f66 fix type cast warnings 2015-09-21 09:57:29 -07:00
Xavier Léauté af86c0e6ea update druid-api + java-util for timstamp parsing speedup 2015-09-21 09:57:29 -07:00
Himanshu Gupta 117a6754b5 improving msging when indexing service is not found 2015-09-18 23:07:44 -05:00
Fangjin Yang 6605a60ef0 Merge pull request #1747 from jon-wei/realtime_corrupt_sink_fix
Account for potential gaps in hydrants in sink initialization, hydrant swapping (e.g. h0, h1, h4)
2015-09-18 15:22:50 -07:00
jon-wei 9f6bb03ef4 Account for potential gaps in hydrants in sink initialization, hydrant swapping (e.g. h0, h1, h4) 2015-09-18 14:53:37 -07:00
Xavier Léauté df4c8a3aa5 balance memcached cache across multiple connections 2015-09-18 09:52:16 -07:00
Himanshu Gupta a7b1cacbbf make NumberedShardSpec "elastic" and UTs 2015-09-17 08:38:48 -05:00
Gian Merlino 9705c5139b Merge pull request #1732 from jon-wei/segmentmeta
Add support for a configurable default segment history period for segmentMetadata queries and GET /datasources/<datasourceName> lookups
2015-09-16 12:36:25 -07:00
Himanshu Gupta 74f4572bd4 Lazily deserialize "parser" to InputRowParser in DataSchema
so that user hadoop related InputRowParsers are created only when needed
this allows overlord to accept a HadoopIndexTask with a hadoopy InputRowParser
and not fail because hadoopy InputRowParser might need hadoop libraries
2015-09-16 10:58:13 -05:00
Xavier Léauté b464da438c Merge pull request #1688 from metamx/moreMemcachedMetrics
More memcached metrics
2015-09-15 15:33:51 -07:00
jon-wei 193fb4fdfc Add support for a configurable default segment history period for segmentMetadata queries and GET /datasources/<datasourceName> lookups 2015-09-14 19:41:42 -07:00
Himanshu 5ff92664f8 Merge pull request #1696 from metamx/cpuTimeReporting
Add CPU time to metrics for segment scanning.
2015-09-14 10:53:55 -05:00
Himanshu Gupta ebdb612933 composing emitter module to use multiple emitters together 2015-09-09 16:45:50 -05:00
Charles Allen 5813856819 More memcached metrics 2015-09-08 13:34:58 -07:00