Commit Graph

1146 Commits

Author SHA1 Message Date
Xavier Léauté 1a3f04f0ed Merge pull request #1354 from metamx/multi-valued-dimension-compression
Enabling compression for multiValued dimension
2015-05-26 23:43:53 -07:00
Charles Allen fd64c24e43 Fix roaring extraction filter on empty values 2015-05-26 13:54:18 -07:00
nishant 81415282aa Enabling compression for multiValued dimension
Add test and refactoring

Add benchmark tests
2015-05-27 00:09:14 +05:30
Charles Allen e97d22a10a Fix Extraction Filter cast problems for empty results 2015-05-22 15:20:11 -07:00
Charles Allen e1399b7ce4 Add unit test to show breaking Dimension Extraction Filter 2015-05-22 15:02:11 -07:00
Xavier Léauté 75c092ccb1 Merge pull request #1375 from metamx/MetricManipulatorFnInstances
Modify MetricManipulatorFns to use instanced classes
2015-05-22 15:56:47 -04:00
Charles Allen 042653ebcb Modify MetricManipulatorFns to use instanced classes 2015-05-22 12:38:38 -07:00
Himanshu Gupta 723df735e9 force eagerness of processing of SegmentMetadata queries on the processing executor by converting the Sequence into List 2015-05-22 13:46:26 -05:00
Himanshu Gupta 5852b64852 adding UT for SegmentMetadata bySegment query which catches following regression caused by commit 55ebf0cfdf
it fails when we issue the SegmentMetadataQuery by setting {"bySegment" : true} in context with exception -
java.lang.ClassCastException: io.druid.query.Result cannot be cast to io.druid.query.metadata.metadata.SegmentAnalysis
at io.druid.query.metadata.SegmentMetadataQueryQueryToolChest$4.compare(SegmentMetadataQueryQueryToolChest.java:222) ~[druid-processing-0.7.3-SNAPSHOT.jar:0.7.3-SNAPSHOT]
at com.google.common.collect.NullsFirstOrdering.compare(NullsFirstOrdering.java:44) ~[guava-16.0.1.jar:?]
at com.metamx.common.guava.MergeIterator$1.compare(MergeIterator.java:46) ~[java-util-0.27.0.jar:?]
at com.metamx.common.guava.MergeIterator$1.compare(MergeIterator.java:42) ~[java-util-0.27.0.jar:?]
at java.util.PriorityQueue.siftUpUsingComparator(PriorityQueue.java:649) ~[?:1.7.0_80]
2015-05-22 13:45:54 -05:00
Himanshu Gupta da0cc32bc8 Revert commit 55ebf0cfdf
which caused following regression
 it fails when we issue the SegmentMetadataQuery by setting {"bySegment" : true} in context with exception -
java.lang.ClassCastException: io.druid.query.Result cannot be cast to io.druid.query.metadata.metadata.SegmentAnalysis
at io.druid.query.metadata.SegmentMetadataQueryQueryToolChest$4.compare(SegmentMetadataQueryQueryToolChest.java:222) ~[druid-processing-0.7.3-SNAPSHOT.jar:0.7.3-SNAPSHOT]
at com.google.common.collect.NullsFirstOrdering.compare(NullsFirstOrdering.java:44) ~[guava-16.0.1.jar:?]
at com.metamx.common.guava.MergeIterator$1.compare(MergeIterator.java:46) ~[java-util-0.27.0.jar:?]
at com.metamx.common.guava.MergeIterator$1.compare(MergeIterator.java:42) ~[java-util-0.27.0.jar:?]
at java.util.PriorityQueue.siftUpUsingComparator(PriorityQueue.java:649) ~[?:1.7.0_80]
2015-05-22 13:39:34 -05:00
Maarten Rijke 82da479464 Fix for GroupBy with Having+Limit+Orderspec
* Inverted function arguments to compose postProcFn for GroupBy queries
    with havingspec + limitspec.
  * Replaced query.getLimitSpec() with null in GroupByQueryToolChest's
    mergeGroupByResults
  * Added unittest to verify functionality
2015-05-19 18:35:48 +02:00
Himanshu Gupta 2fd3e9e8e5 return size = 0 in ColumnAnalysis if its unknown
that is if complex agg did not implement inputSizeFn() so
that segment metadata query shows atleast some information.
also instead of COMPLEX, return type of data stored.
2015-05-15 20:11:56 -05:00
Xavier Léauté 3c3db7229c Merge pull request #1355 from himanshug/long_max_min_aggregators
Long max/min aggregators
2015-05-13 12:08:11 -07:00
Himanshu Gupta cebb550796 additional UTs for [DoubleMax/DoubleMin] aggregation 2015-05-13 09:25:41 -05:00
Himanshu Gupta d0ec945129 adding aliases doubleMax and doubleMin for max and min respectively
renamed all [Max/Min]*.java to [DoubleMax/DoubleMin]*.java and created [Max/Min]AggregatorFactory.java which can be removed when we dont need the min/max aggregator type backward compatibility
2015-05-13 09:25:41 -05:00
Himanshu Gupta 2de38f7d29 UTs for long[Max/Min] aggregation 2015-05-13 09:25:22 -05:00
Himanshu Gupta 00436f93e2 long max/min aggregators implementation 2015-05-13 09:25:22 -05:00
fjy 7a6acf5c1b update pom to 0.8 2015-05-11 19:41:58 -06:00
Xavier Léauté 33265d63e1 Merge pull request #1262 from metamx/fix-null-dimension
fix handling of dimension having only null values
2015-05-06 13:51:26 -07:00
nishant 34be1e96fa fix NPE
review comments

Add test

fix test for java8
2015-05-05 23:11:13 +05:30
Neo 8f8400e24e fix handling of dimension having only null values
fixes #1211

fix value matcher

more improvements

more fixes for partial null column

fix handling of dimension having only null values

fixes #1211

fix value matcher

more improvements

more fixes for partial null column

review comment

IndexMaker speedups
* About 15% speedup

Conflicts:
	processing/src/main/java/io/druid/segment/IndexMaker.java

fix handling of dimension having only null values

fixes #1211

fix value matcher

more improvements

more fixes for partial null column

fix handling of dimension having only null values

fixes #1211

fix value matcher

more improvements

more fixes for partial null column

review comment

review comments

review comment

fix failing tests

review comment

fix compilation
2015-05-04 22:07:45 +05:30
nishant 50158357ff fixes #1330
fixes #1330,
Avoid creating Period instance as creating a Period from Long.MAX_VALUE
throws arithmetic exception.
After this query metric will emit duration in seconds instead of
minutes.
2015-05-04 20:34:28 +05:30
Xavier Léauté 721505c017 Merge pull request #1208 from druid-io/rework-metrics
Schemaless metrics + additional metrics for things we care about
2015-04-27 15:04:54 -07:00
fjy 963e5765bf Schemaless metrics + additional metrics for things we care about 2015-04-27 13:39:40 -07:00
Charles Allen 27016c0289 Fix IndexIO segment validator to account for timestamp mismatches. 2015-04-27 12:42:16 -07:00
Charles Allen 633fdb029e Add option to ConvertSegmentTask to skip validation
* Validation is enabled by default
2015-04-27 08:37:55 -07:00
Charles Allen 303727e6a9 IndexMaker speedups
* About 15% speedup

Conflicts:
	processing/src/main/java/io/druid/segment/IndexMaker.java
2015-04-23 13:19:21 -07:00
Charles Allen f2300430d1 Cleanup some code in index creation.
* Add some unit tests
* Add io.druid.segment.IndexMerger.reprocess for quick re-indexing of data
* Add dim-value validation to validation checker (instead of ONLY index #)
* General code refactoring to make things a little easier to read
2015-04-23 12:41:42 -07:00
Xavier Léauté 7939f43681 Merge pull request #1296 from druid-io/limit-test
Add test for order by metric and limit across multiple days
2015-04-22 11:28:06 -07:00
fjy 97d87a06d0 Add another test for limit across multiple days 2015-04-22 11:27:37 -07:00
Fangjin Yang 28f69d6bd3 Merge pull request #1299 from metamx/improve-filter-datasource-metadata
Improve filtering of segments for dataSourceMetadataQuery
2015-04-22 11:07:35 -07:00
Xavier Léauté a0a28de551 fix serde issue when pulling timestamps from cache 2015-04-22 11:03:26 -07:00
Xavier Léauté 2b4406671e Merge pull request #1301 from druid-io/fix-type
fix count agg factory type
2015-04-21 09:24:20 -07:00
fjy 7805357ab1 fix count agg factory type 2015-04-21 09:23:04 -07:00
nishant bb8c0cb50b Improve filtering of segments for dataSourceMetadataQuery
dataSourceMetadataQuery only needs to be executed on latest segments at
present, modify filterSegments and add test.
2015-04-21 09:31:13 +05:30
Xavier Léauté f73f14ab91 Merge pull request #1297 from metamx/versionConverterTaskUpdates
Update VersionConverterTask for IndexSpec and allowing Forced updates
2015-04-20 16:44:35 -07:00
Charles Allen 7479ac9012 Update VersionConverterTask for IndexSepc and allowing Forced updates 2015-04-20 16:17:06 -07:00
fjy d260515a43 update druid-api version 2015-04-17 14:58:35 -07:00
Bingkun Guo cf155e4eba Fix an issue that after broker forwards GroupByQuery to historical, havingSpec is still applied
on postAggregations which are removed in the forwarded query.

Add a unit test to replicate the issue.
Add a query that can replicate this issue into integration test.
2015-04-17 13:00:41 -05:00
fjy f0a19349bf fix up some comments for contributed test 2015-04-16 15:07:09 -07:00
Fangjin Yang 90b17a5259 Merge pull request #1285 from venkateshk/limitspec-tests
Unit test to surface bug with limit-spec order by over specific query intervals
2015-04-16 13:52:58 -07:00
Xavier Léauté 1d153674b6 remove overzealous check for backwards compatibility 2015-04-15 22:11:55 -07:00
Xavier Léauté ea5572d001 Merge pull request #1271 from metamx/strictErrorChecking
Add stricter checking for potential coding errors
2015-04-15 15:21:41 -07:00
Charles Allen abdeaa0746 Add stricter checking for potential coding errors
Can use via `mvn clean compile test-compile -P strict'
2015-04-15 14:52:25 -07:00
vkavuluri a2ba5b6183 Unit test to surface bug with limit-spec order by over specific query intervals 2015-04-15 06:31:22 -07:00
Xavier Léauté 3a3046ccf3 add support for dimension compression
- compression for single-value dimensions using CompressedVSizeIntsIndexedSupplier
- makes dimension compression configurable via IndexSpec
- IndexSpec also enables configuring bitmap and metric compression
2015-04-14 10:44:18 -07:00
Xavier Léauté bafc5114b4 add toString, equals, and hashCode to BitmapSerdeFactory 2015-04-14 10:44:18 -07:00
Xavier Léauté d20128b89b add compressed variable-size ints column type 2015-04-14 10:44:18 -07:00
Xavier Léauté ce928d9636 add compressed ints column type 2015-04-14 10:44:17 -07:00
Xavier Léauté 5c23679238 add WritableSupplier and IndexedMultivalue 2015-04-14 10:44:17 -07:00
Xavier Léauté 1abb9cce7c make IndexedInts closeable + add fill method 2015-04-14 10:44:17 -07:00
Xavier Léauté ed0d49933e fix memory leak in CompressedXXXIndexedSupplierTest 2015-04-14 10:44:16 -07:00
Xavier Léauté 6790e6cf0f add fromList to CompressedLongsIndexedSupplier 2015-04-14 10:44:16 -07:00
Eric Tschetter 7517f0d0f0 Add some javadoc to the two Query processing interfaces to help aid in implementations of new Queries.
Also, remove some comments that did not have enough context to actually make sense to anyone but the original author (at least, I hope they make sense to the author, I definitely don't know what was being said).
2015-04-09 18:11:42 -07:00
Fangjin Yang 208e307915 Merge pull request #1251 from metamx/uriSegmentLoaders
Revert "Revert "Overhaul of SegmentPullers to add consistency and retries""
2015-03-30 17:43:51 -07:00
fjy aea7f9d192 [maven-release-plugin] prepare for next development iteration 2015-03-30 16:35:24 -07:00
fjy 060d7aef03 [maven-release-plugin] prepare release druid-0.7.1 2015-03-30 16:35:20 -07:00
Charles Allen 1c6cbea89c Revert "Revert "Overhaul of SegmentPullers to add consistency and retries""
This reverts commit f904bc7858.
2015-03-30 13:40:04 -07:00
Fangjin Yang f904bc7858 Revert "Overhaul of SegmentPullers to add consistency and retries" 2015-03-30 13:15:50 -07:00
Charles Allen 6d407e8677 Add URI handling to SegmentPullers
* Requires https://github.com/druid-io/druid-api/pull/37
* Requires https://github.com/metamx/java-util/pull/22
* Moves the puller logic to use a more standard workflow going through java-util helpers instead of re-writing the handlers for each impl
  * General workflow goes like this: 1) LoadSpec makes sure the correct Puller is called with the correct parameters. 2) The Puller sets up general information like how to make an InputStream, how to find a file name (for .gz files for example), and when to retry. 3) CompressionUtils does most of the heavy lifting when it can
2015-03-30 12:33:23 -07:00
Fangjin Yang e5653f0752 Merge pull request #1190 from vigiglobe/master
Fix NPE when partionNumber 0 does not exist.
2015-03-26 13:25:39 -07:00
Xavier Léauté 389ea4c32f Merge pull request #1245 from b-slim/fix_injector_plus_ut
Bug fix @DruidSecondaryModule plus unit test
2015-03-26 10:04:44 -07:00
Fangjin Yang a9c47de571 Merge pull request #1243 from metamx/fix-union-timeline-lookup
fixes TimeboundaryQuery and DataSourceMetadata queries returning wrong values for union queries
2015-03-26 10:02:56 -07:00
Slim Bouguerra 1e6be7796e bug fix @DruidSecondaryModule plus unit test 2015-03-26 10:44:52 -05:00
nishantmonu51 638bf9d4e9 return sorted List of TimeLineObjectHolder 2015-03-26 11:51:09 +05:30
msprunck 942c17a2aa Remove timeline chunk count assumptions.
* Replace with generic iterables
2015-03-24 22:40:49 +01:00
Prajwal Tuladhar 9983216871 use https maven repo URL to download dependencies 2015-03-20 14:09:07 -04:00
fjy b389cfe404 [maven-release-plugin] prepare for next development iteration 2015-03-19 12:38:17 -07:00
fjy 60e7d543cc [maven-release-plugin] prepare release druid-0.7.1-rc1 2015-03-19 12:38:13 -07:00
nishantmonu51 39e60b3405 fix race in groupByParallelQueryRunner
add UT and use a queue for better concurrency
2015-03-17 20:57:05 +05:30
Xavier Léauté 127b6fd857 Merge pull request #1172 from himanshug/segment_metadata_eager
force eager the processing of segment metadata query on the processing executor
2015-03-12 10:19:48 -07:00
Xavier Léauté 0a5a3fe2dc fix file missing from rebase 2015-03-11 17:30:11 -07:00
Xavier Léauté e01ed16030 serde tests + equals/hashCode fixes for extraction functions 2015-03-11 16:48:28 -07:00
Xavier Léauté d3f5bddc5c Add ability to apply extraction functions to the time dimension
- Moves DimExtractionFn under a more generic ExtractionFn interface to
  support extracting dimension values other than strings
- pushes down extractionFn to the storage adapter from query engine
- 'dimExtractionFn' parameter has been deprecated in favor of 'extractionFn'
- adds a TimeFormatExtractionFn, allowing to project the '__time' dimension
- JavascriptDimExtractionFn renamed to JavascriptExtractionFn, adding
  support for any dimension value types that map directly to Javascript
- update documentation for time column extraction and related changes
2015-03-11 16:45:42 -07:00
Himanshu Gupta 55ebf0cfdf force eager the processing of segment metadata query on the processing threadpool by using ChainedExecutionQueryRunner in SegmentMetadataQueryRunnerFactory.mergeRunners(..) 2015-03-11 12:58:58 -05:00
Xavier Léauté 217e674063 Handling aggregators and post aggregators with duplicate names
* add test for same-name groupBy hyperUniques post-agg
* add test for same-name post-agg in groupby with approx histogram
* Fixes https://github.com/druid-io/druid/issues/1045
* Throws an error if post aggs and aggs do not have unique names
* Add more groupBy tests for Having filters
2015-03-10 17:10:43 -07:00
Fangjin Yang 0b467624ec Merge pull request #694 from druid-io/arithmetic-op-strategies
normal division & configurable ordering for ArithmeticPostAggregator
2015-03-10 13:48:27 -07:00
Fangjin Yang 2abdce1dc0 Merge pull request #1180 from metamx/logging-groupBy-NPE
add null check early to catch root cause for groupBy NPE while running bySegment query
2015-03-09 09:16:33 -07:00
nishantmonu51 6e935cca0a add null check early to catch root cause 2015-03-09 21:10:28 +05:30
Xavier Léauté 0d47c0c36d normal division and configurable ordering for ArithmeticPostAggregator
Fixes #510
2015-03-04 12:44:24 -08:00
Fangjin Yang d685e2ab04 Merge pull request #1165 from friedhardware/fix-NPerror-select
Added null check for the pagingSpec on a Select Query.
2015-03-02 14:17:06 -08:00
Fangjin Yang e8605c63a9 Merge pull request #1150 from himanshug/broker-parallel-chunk-process
interval chunk query runner now processes individual chunk in a threadpool
2015-03-02 13:50:23 -08:00
Himanshu Gupta 29039fd541 interval chunk query runner now processes individual chunk in a thread pool and prints metrics query/time per chunk 2015-03-02 15:45:09 -06:00
Joshua Schumacher e6130e0fdc Added null check for the pagingSpec on a Select Query. 2015-03-02 12:41:59 -08:00
Fangjin Yang 005f4da2c0 Merge pull request #1143 from metamx/update-rhino-1.7rc5
Update Rhino to 1.7RC5
2015-02-25 12:50:23 -08:00
Xavier Léauté b167dcf82c [maven-release-plugin] prepare for next development iteration 2015-02-23 14:28:06 -08:00
Xavier Léauté e81ac2ba43 [maven-release-plugin] prepare release druid-0.7.0 2015-02-23 14:27:58 -08:00
James Estes 562de6c621 Update docs and examples for log4j2 usage.
- Put configs early in classpath in examples so log4j2.xml will get picked up properly
- Add an example log4j2.xml file.
- Update Logging doc.
2015-02-19 11:40:56 -07:00
Xavier Léauté c4d721fffd update Rhino to 1.7RC5 2015-02-19 09:48:18 -08:00
Xavier Léauté 78df7f6165 Move Druid release artifacts to Sonatype
- Switch to using Druid parent POM
- Add required fields for Sonatype
- Common plugin versions and settings have been moved to the parent pom
- Cleanup artifacts and POMs for consistent formatting
- Remove org.hyperic.sigar dependency and update docs to reflect necessary jars to add at runtime when sigar is needed
2015-02-13 14:26:31 -08:00
fjy d29740ed9f [maven-release-plugin] prepare for next development iteration 2015-02-12 16:16:00 -08:00
fjy 211fd15b7e [maven-release-plugin] prepare release druid-0.7.0-rc3 2015-02-12 16:15:56 -08:00
Fangjin Yang 90bc62eb5c Merge pull request #1108 from metamx/improve-groupby-perf
Improve groupby by removing conversion to case insensitive row
2015-02-12 11:45:20 -08:00
nishantmonu51 15cf432b74 remove conversion to case insensitive row
this is not required after death to casing in 0.7
2015-02-11 19:40:36 +05:30
Xavier Léauté c5e99bf6ec Merge pull request #1105 from metamx/fixEmptyExtractionFilter
Fix empty results on ExtractionFilter.
2015-02-10 14:25:58 -08:00
Charles Allen b9cb311a52 Fix empty results on ExtractionFilter.
* Now returns empty results rather than erroring out
* Added unit tests for multiples case
2015-02-10 14:04:38 -08:00
fjy 708759e1e0 Update http-client to 1.0.0 2015-02-10 13:36:47 -08:00
Xavier Léauté a7dcaffb53 fix `__time` column selector for incremental index
- also adds tests for selecting the time column
2015-02-06 12:06:05 -08:00
Fangjin Yang 42e902b6e3 Merge pull request #1090 from metamx/alphanum-attribution
update code attribution
2015-02-04 15:51:34 -08:00
Xavier Léauté 0fbc6071c9 update code attribution 2015-02-04 15:28:44 -08:00