diff --git a/.idea/inspectionProfiles/Druid.xml b/.idea/inspectionProfiles/Druid.xml
index dfedeb42e9e6..b3c94b37f57e 100644
--- a/.idea/inspectionProfiles/Druid.xml
+++ b/.idea/inspectionProfiles/Druid.xml
@@ -65,6 +65,7 @@
+
@@ -167,6 +168,12 @@
+
+
+
+
+
+
diff --git a/benchmarks/src/main/java/org/apache/druid/benchmark/FilteredAggregatorBenchmark.java b/benchmarks/src/main/java/org/apache/druid/benchmark/FilteredAggregatorBenchmark.java
index 821986fd0971..2116a14c86bf 100644
--- a/benchmarks/src/main/java/org/apache/druid/benchmark/FilteredAggregatorBenchmark.java
+++ b/benchmarks/src/main/java/org/apache/druid/benchmark/FilteredAggregatorBenchmark.java
@@ -71,6 +71,7 @@
import org.apache.druid.segment.incremental.IncrementalIndex;
import org.apache.druid.segment.serde.ComplexMetrics;
import org.apache.druid.segment.writeout.OffHeapMemorySegmentWriteOutMediumFactory;
+import org.apache.druid.timeline.SegmentId;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
@@ -266,8 +267,8 @@ public void querySingleIncrementalIndex(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "incIndex",
- new IncrementalIndexSegment(incIndex, "incIndex")
+ SegmentId.dummy("incIndex"),
+ new IncrementalIndexSegment(incIndex, SegmentId.dummy("incIndex"))
);
List> results = FilteredAggregatorBenchmark.runQuery(factory, runner, query);
@@ -283,8 +284,8 @@ public void querySingleQueryableIndex(Blackhole blackhole)
{
final QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndex)
+ SegmentId.dummy("qIndex"),
+ new QueryableIndexSegment(qIndex, SegmentId.dummy("qIndex"))
);
List> results = FilteredAggregatorBenchmark.runQuery(factory, runner, query);
diff --git a/benchmarks/src/main/java/org/apache/druid/benchmark/GroupByTypeInterfaceBenchmark.java b/benchmarks/src/main/java/org/apache/druid/benchmark/GroupByTypeInterfaceBenchmark.java
index bf9064dc484e..43a353cd2db2 100644
--- a/benchmarks/src/main/java/org/apache/druid/benchmark/GroupByTypeInterfaceBenchmark.java
+++ b/benchmarks/src/main/java/org/apache/druid/benchmark/GroupByTypeInterfaceBenchmark.java
@@ -73,6 +73,7 @@
import org.apache.druid.segment.incremental.IncrementalIndex;
import org.apache.druid.segment.serde.ComplexMetrics;
import org.apache.druid.segment.writeout.OffHeapMemorySegmentWriteOutMediumFactory;
+import org.apache.druid.timeline.SegmentId;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
@@ -108,6 +109,8 @@
@Measurement(iterations = 30)
public class GroupByTypeInterfaceBenchmark
{
+ private static final SegmentId Q_INDEX_SEGMENT_ID = SegmentId.dummy("qIndex");
+
@Param({"4"})
private int numSegments;
@@ -462,8 +465,8 @@ public void querySingleQueryableIndexStringOnly(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -480,8 +483,8 @@ public void querySingleQueryableIndexLongOnly(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -498,8 +501,8 @@ public void querySingleQueryableIndexFloatOnly(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -516,8 +519,8 @@ public void querySingleQueryableIndexNumericOnly(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, longFloatQuery);
@@ -534,8 +537,8 @@ public void querySingleQueryableIndexNumericThenString(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, longFloatQuery);
@@ -546,8 +549,8 @@ public void querySingleQueryableIndexNumericThenString(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -565,8 +568,8 @@ public void querySingleQueryableIndexLongThenString(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -577,8 +580,8 @@ public void querySingleQueryableIndexLongThenString(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -595,8 +598,8 @@ public void querySingleQueryableIndexLongThenFloat(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -607,8 +610,8 @@ public void querySingleQueryableIndexLongThenFloat(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -625,8 +628,8 @@ public void querySingleQueryableIndexStringThenNumeric(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -637,8 +640,8 @@ public void querySingleQueryableIndexStringThenNumeric(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, longFloatQuery);
@@ -655,8 +658,8 @@ public void querySingleQueryableIndexStringThenLong(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -667,8 +670,8 @@ public void querySingleQueryableIndexStringThenLong(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -685,8 +688,8 @@ public void querySingleQueryableIndexStringTwice(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -697,8 +700,8 @@ public void querySingleQueryableIndexStringTwice(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -715,8 +718,8 @@ public void querySingleQueryableIndexLongTwice(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -727,8 +730,8 @@ public void querySingleQueryableIndexLongTwice(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -746,8 +749,8 @@ public void querySingleQueryableIndexFloatTwice(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -758,8 +761,8 @@ public void querySingleQueryableIndexFloatTwice(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -776,8 +779,8 @@ public void querySingleQueryableIndexFloatThenLong(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -788,8 +791,8 @@ public void querySingleQueryableIndexFloatThenLong(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -806,8 +809,8 @@ public void querySingleQueryableIndexFloatThenString(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -818,8 +821,8 @@ public void querySingleQueryableIndexFloatThenString(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(queryableIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = GroupByTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
diff --git a/benchmarks/src/main/java/org/apache/druid/benchmark/TopNTypeInterfaceBenchmark.java b/benchmarks/src/main/java/org/apache/druid/benchmark/TopNTypeInterfaceBenchmark.java
index 3b07c7bd166a..2974441ae2a7 100644
--- a/benchmarks/src/main/java/org/apache/druid/benchmark/TopNTypeInterfaceBenchmark.java
+++ b/benchmarks/src/main/java/org/apache/druid/benchmark/TopNTypeInterfaceBenchmark.java
@@ -68,6 +68,7 @@
import org.apache.druid.segment.incremental.IncrementalIndex;
import org.apache.druid.segment.serde.ComplexMetrics;
import org.apache.druid.segment.writeout.OffHeapMemorySegmentWriteOutMediumFactory;
+import org.apache.druid.timeline.SegmentId;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
@@ -99,6 +100,8 @@
@Measurement(iterations = 25)
public class TopNTypeInterfaceBenchmark
{
+ private static final SegmentId Q_INDEX_SEGMENT_ID = SegmentId.dummy("qIndex");
+
@Param({"1"})
private int numSegments;
@@ -330,8 +333,8 @@ public void querySingleQueryableIndexStringOnly(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List> results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -347,8 +350,8 @@ public void querySingleQueryableIndexStringTwice(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List> results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -358,8 +361,8 @@ public void querySingleQueryableIndexStringTwice(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -375,8 +378,8 @@ public void querySingleQueryableIndexStringThenLong(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List> results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -386,8 +389,8 @@ public void querySingleQueryableIndexStringThenLong(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -403,8 +406,8 @@ public void querySingleQueryableIndexStringThenFloat(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List> results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -414,8 +417,8 @@ public void querySingleQueryableIndexStringThenFloat(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -431,8 +434,8 @@ public void querySingleQueryableIndexLongOnly(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List> results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -448,8 +451,8 @@ public void querySingleQueryableIndexLongTwice(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List> results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -459,8 +462,8 @@ public void querySingleQueryableIndexLongTwice(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -476,8 +479,8 @@ public void querySingleQueryableIndexLongThenString(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List> results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -487,8 +490,8 @@ public void querySingleQueryableIndexLongThenString(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -504,8 +507,8 @@ public void querySingleQueryableIndexLongThenFloat(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List> results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
@@ -515,8 +518,8 @@ public void querySingleQueryableIndexLongThenFloat(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -532,8 +535,8 @@ public void querySingleQueryableIndexFloatOnly(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List> results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -549,8 +552,8 @@ public void querySingleQueryableIndexFloatTwice(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List> results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -560,8 +563,8 @@ public void querySingleQueryableIndexFloatTwice(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -577,8 +580,8 @@ public void querySingleQueryableIndexFloatThenString(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List> results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -588,8 +591,8 @@ public void querySingleQueryableIndexFloatThenString(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, stringQuery);
@@ -605,8 +608,8 @@ public void querySingleQueryableIndexFloatThenLong(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
List> results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, floatQuery);
@@ -616,8 +619,8 @@ public void querySingleQueryableIndexFloatThenLong(Blackhole blackhole)
runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ Q_INDEX_SEGMENT_ID,
+ new QueryableIndexSegment(qIndexes.get(0), Q_INDEX_SEGMENT_ID)
);
results = TopNTypeInterfaceBenchmark.runQuery(factory, runner, longQuery);
diff --git a/benchmarks/src/main/java/org/apache/druid/benchmark/datagen/SegmentGenerator.java b/benchmarks/src/main/java/org/apache/druid/benchmark/datagen/SegmentGenerator.java
index 46904205d257..fc233cc09f87 100644
--- a/benchmarks/src/main/java/org/apache/druid/benchmark/datagen/SegmentGenerator.java
+++ b/benchmarks/src/main/java/org/apache/druid/benchmark/datagen/SegmentGenerator.java
@@ -46,6 +46,7 @@
import org.apache.druid.segment.serde.ComplexMetrics;
import org.apache.druid.segment.writeout.OffHeapMemorySegmentWriteOutMediumFactory;
import org.apache.druid.timeline.DataSegment;
+import org.apache.druid.timeline.SegmentId;
import java.io.Closeable;
import java.io.File;
@@ -131,7 +132,7 @@ public QueryableIndex generate(
}
if (rows.size() % MAX_ROWS_IN_MEMORY == 0) {
- indexes.add(makeIndex(dataSegment.getIdentifier(), indexes.size(), rows, indexSchema));
+ indexes.add(makeIndex(dataSegment.getId(), indexes.size(), rows, indexSchema));
rows.clear();
}
}
@@ -139,7 +140,7 @@ public QueryableIndex generate(
log.info("%,d/%,d rows generated.", numRows, numRows);
if (rows.size() > 0) {
- indexes.add(makeIndex(dataSegment.getIdentifier(), indexes.size(), rows, indexSchema));
+ indexes.add(makeIndex(dataSegment.getId(), indexes.size(), rows, indexSchema));
rows.clear();
}
@@ -181,7 +182,7 @@ public void close() throws IOException
}
private QueryableIndex makeIndex(
- final String identifier,
+ final SegmentId identifier,
final int indexNumber,
final List rows,
final IncrementalIndexSchema indexSchema
@@ -190,7 +191,7 @@ private QueryableIndex makeIndex(
return IndexBuilder
.create()
.schema(indexSchema)
- .tmpDir(new File(new File(tempDir, identifier), String.valueOf(indexNumber)))
+ .tmpDir(new File(new File(tempDir, identifier.toString()), String.valueOf(indexNumber)))
.segmentWriteOutMediumFactory(OffHeapMemorySegmentWriteOutMediumFactory.instance())
.rows(rows)
.buildMMappedIndex();
diff --git a/benchmarks/src/main/java/org/apache/druid/benchmark/query/GroupByBenchmark.java b/benchmarks/src/main/java/org/apache/druid/benchmark/query/GroupByBenchmark.java
index 65365f850f65..243564c0e29e 100644
--- a/benchmarks/src/main/java/org/apache/druid/benchmark/query/GroupByBenchmark.java
+++ b/benchmarks/src/main/java/org/apache/druid/benchmark/query/GroupByBenchmark.java
@@ -81,6 +81,7 @@
import org.apache.druid.segment.incremental.IncrementalIndexSchema;
import org.apache.druid.segment.serde.ComplexMetrics;
import org.apache.druid.segment.writeout.OffHeapMemorySegmentWriteOutMediumFactory;
+import org.apache.druid.timeline.SegmentId;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
@@ -557,8 +558,8 @@ public void querySingleIncrementalIndex(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "incIndex",
- new IncrementalIndexSegment(anIncrementalIndex, "incIndex")
+ SegmentId.dummy("incIndex"),
+ new IncrementalIndexSegment(anIncrementalIndex, SegmentId.dummy("incIndex"))
);
List results = GroupByBenchmark.runQuery(factory, runner, query);
@@ -575,8 +576,8 @@ public void querySingleQueryableIndex(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", queryableIndexes.get(0))
+ SegmentId.dummy("qIndex"),
+ new QueryableIndexSegment(queryableIndexes.get(0), SegmentId.dummy("qIndex"))
);
List results = GroupByBenchmark.runQuery(factory, runner, query);
@@ -665,8 +666,8 @@ private List> makeMultiRunners()
String segmentName = "qIndex" + i;
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- segmentName,
- new QueryableIndexSegment(segmentName, queryableIndexes.get(i))
+ SegmentId.dummy(segmentName),
+ new QueryableIndexSegment(queryableIndexes.get(i), SegmentId.dummy(segmentName))
);
runners.add(factory.getToolchest().preMergeQueryDecoration(runner));
}
diff --git a/benchmarks/src/main/java/org/apache/druid/benchmark/query/QueryBenchmarkUtil.java b/benchmarks/src/main/java/org/apache/druid/benchmark/query/QueryBenchmarkUtil.java
index d482504d101e..411ca226e00c 100644
--- a/benchmarks/src/main/java/org/apache/druid/benchmark/query/QueryBenchmarkUtil.java
+++ b/benchmarks/src/main/java/org/apache/druid/benchmark/query/QueryBenchmarkUtil.java
@@ -31,6 +31,7 @@
import org.apache.druid.query.QueryToolChest;
import org.apache.druid.query.QueryWatcher;
import org.apache.druid.segment.Segment;
+import org.apache.druid.timeline.SegmentId;
import java.util.Map;
@@ -38,7 +39,7 @@ public class QueryBenchmarkUtil
{
public static > QueryRunner makeQueryRunner(
QueryRunnerFactory factory,
- String segmentId,
+ SegmentId segmentId,
Segment adapter
)
{
diff --git a/benchmarks/src/main/java/org/apache/druid/benchmark/query/SearchBenchmark.java b/benchmarks/src/main/java/org/apache/druid/benchmark/query/SearchBenchmark.java
index c7008fcf5567..5c84a6799bce 100644
--- a/benchmarks/src/main/java/org/apache/druid/benchmark/query/SearchBenchmark.java
+++ b/benchmarks/src/main/java/org/apache/druid/benchmark/query/SearchBenchmark.java
@@ -77,6 +77,7 @@
import org.apache.druid.segment.incremental.IncrementalIndex;
import org.apache.druid.segment.serde.ComplexMetrics;
import org.apache.druid.segment.writeout.OffHeapMemorySegmentWriteOutMediumFactory;
+import org.apache.druid.timeline.SegmentId;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
@@ -412,8 +413,8 @@ public void querySingleIncrementalIndex(Blackhole blackhole)
{
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "incIndex",
- new IncrementalIndexSegment(incIndexes.get(0), "incIndex")
+ SegmentId.dummy("incIndex"),
+ new IncrementalIndexSegment(incIndexes.get(0), SegmentId.dummy("incIndex"))
);
List> results = SearchBenchmark.runQuery(factory, runner, query);
@@ -430,8 +431,8 @@ public void querySingleQueryableIndex(Blackhole blackhole)
{
final QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ SegmentId.dummy("qIndex"),
+ new QueryableIndexSegment(qIndexes.get(0), SegmentId.dummy("qIndex"))
);
List> results = SearchBenchmark.runQuery(factory, runner, query);
@@ -453,8 +454,8 @@ public void queryMultiQueryableIndex(Blackhole blackhole)
String segmentName = "qIndex" + i;
final QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- segmentName,
- new QueryableIndexSegment(segmentName, qIndexes.get(i))
+ SegmentId.dummy(segmentName),
+ new QueryableIndexSegment(qIndexes.get(i), SegmentId.dummy(segmentName))
);
singleSegmentRunners.add(toolChest.preMergeQueryDecoration(runner));
}
diff --git a/benchmarks/src/main/java/org/apache/druid/benchmark/query/SelectBenchmark.java b/benchmarks/src/main/java/org/apache/druid/benchmark/query/SelectBenchmark.java
index c62aa1d05384..bd2126465664 100644
--- a/benchmarks/src/main/java/org/apache/druid/benchmark/query/SelectBenchmark.java
+++ b/benchmarks/src/main/java/org/apache/druid/benchmark/query/SelectBenchmark.java
@@ -66,6 +66,7 @@
import org.apache.druid.segment.incremental.IncrementalIndex;
import org.apache.druid.segment.serde.ComplexMetrics;
import org.apache.druid.segment.writeout.OffHeapMemorySegmentWriteOutMediumFactory;
+import org.apache.druid.timeline.SegmentId;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
@@ -268,8 +269,10 @@ private static List runQuery(QueryRunnerFactory factory, QueryRunner runn
return queryResult.toList();
}
- // don't run this benchmark with a query that doesn't use QueryGranularities.ALL,
- // this pagination function probably doesn't work correctly in that case.
+ /**
+ * Don't run this benchmark with a query that doesn't use {@link Granularities#ALL},
+ * this pagination function probably doesn't work correctly in that case.
+ */
private SelectQuery incrementQueryPagination(SelectQuery query, SelectResultValue prevResult)
{
Map pagingIdentifiers = prevResult.getPagingIdentifiers();
@@ -290,7 +293,7 @@ public void queryIncrementalIndex(Blackhole blackhole)
{
SelectQuery queryCopy = query.withPagingSpec(PagingSpec.newSpec(pagingThreshold));
- String segmentId = "incIndex";
+ SegmentId segmentId = SegmentId.dummy("incIndex");
QueryRunner runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
segmentId,
@@ -320,11 +323,11 @@ public void queryQueryableIndex(Blackhole blackhole)
{
SelectQuery queryCopy = query.withPagingSpec(PagingSpec.newSpec(pagingThreshold));
- String segmentId = "qIndex";
+ SegmentId segmentId = SegmentId.dummy("qIndex");
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
segmentId,
- new QueryableIndexSegment(segmentId, qIndexes.get(0))
+ new QueryableIndexSegment(qIndexes.get(0), segmentId)
);
boolean done = false;
@@ -350,15 +353,14 @@ public void queryMultiQueryableIndex(Blackhole blackhole)
{
SelectQuery queryCopy = query.withPagingSpec(PagingSpec.newSpec(pagingThreshold));
- String segmentName;
List>> singleSegmentRunners = new ArrayList<>();
QueryToolChest toolChest = factory.getToolchest();
for (int i = 0; i < numSegments; i++) {
- segmentName = "qIndex" + i;
+ SegmentId segmentId = SegmentId.dummy("qIndex" + i);
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- segmentName,
- new QueryableIndexSegment(segmentName, qIndexes.get(i))
+ segmentId,
+ new QueryableIndexSegment(qIndexes.get(i), segmentId)
);
singleSegmentRunners.add(toolChest.preMergeQueryDecoration(runner));
}
diff --git a/benchmarks/src/main/java/org/apache/druid/benchmark/query/TimeseriesBenchmark.java b/benchmarks/src/main/java/org/apache/druid/benchmark/query/TimeseriesBenchmark.java
index ba5dd38578ce..94efa930e065 100644
--- a/benchmarks/src/main/java/org/apache/druid/benchmark/query/TimeseriesBenchmark.java
+++ b/benchmarks/src/main/java/org/apache/druid/benchmark/query/TimeseriesBenchmark.java
@@ -71,6 +71,7 @@
import org.apache.druid.segment.incremental.IncrementalIndex;
import org.apache.druid.segment.serde.ComplexMetrics;
import org.apache.druid.segment.writeout.OffHeapMemorySegmentWriteOutMediumFactory;
+import org.apache.druid.timeline.SegmentId;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
@@ -336,8 +337,8 @@ public void querySingleIncrementalIndex(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "incIndex",
- new IncrementalIndexSegment(incIndexes.get(0), "incIndex")
+ SegmentId.dummy("incIndex"),
+ new IncrementalIndexSegment(incIndexes.get(0), SegmentId.dummy("incIndex"))
);
List> results = TimeseriesBenchmark.runQuery(factory, runner, query);
@@ -353,8 +354,8 @@ public void querySingleQueryableIndex(Blackhole blackhole)
{
final QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ SegmentId.dummy("qIndex"),
+ new QueryableIndexSegment(qIndexes.get(0), SegmentId.dummy("qIndex"))
);
List> results = TimeseriesBenchmark.runQuery(factory, runner, query);
@@ -370,8 +371,8 @@ public void queryFilteredSingleQueryableIndex(Blackhole blackhole)
{
final QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ SegmentId.dummy("qIndex"),
+ new QueryableIndexSegment(qIndexes.get(0), SegmentId.dummy("qIndex"))
);
DimFilter filter = new SelectorDimFilter("dimSequential", "399", null);
@@ -391,11 +392,11 @@ public void queryMultiQueryableIndex(Blackhole blackhole)
List>> singleSegmentRunners = new ArrayList<>();
QueryToolChest toolChest = factory.getToolchest();
for (int i = 0; i < numSegments; i++) {
- String segmentName = "qIndex" + i;
+ SegmentId segmentId = SegmentId.dummy("qIndex" + i);
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- segmentName,
- new QueryableIndexSegment(segmentName, qIndexes.get(i))
+ segmentId,
+ new QueryableIndexSegment(qIndexes.get(i), segmentId)
);
singleSegmentRunners.add(toolChest.preMergeQueryDecoration(runner));
}
diff --git a/benchmarks/src/main/java/org/apache/druid/benchmark/query/TopNBenchmark.java b/benchmarks/src/main/java/org/apache/druid/benchmark/query/TopNBenchmark.java
index 36aae53ec11d..717cd36968bb 100644
--- a/benchmarks/src/main/java/org/apache/druid/benchmark/query/TopNBenchmark.java
+++ b/benchmarks/src/main/java/org/apache/druid/benchmark/query/TopNBenchmark.java
@@ -68,6 +68,7 @@
import org.apache.druid.segment.incremental.IncrementalIndex;
import org.apache.druid.segment.serde.ComplexMetrics;
import org.apache.druid.segment.writeout.OffHeapMemorySegmentWriteOutMediumFactory;
+import org.apache.druid.timeline.SegmentId;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
@@ -317,8 +318,8 @@ public void querySingleIncrementalIndex(Blackhole blackhole)
{
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "incIndex",
- new IncrementalIndexSegment(incIndexes.get(0), "incIndex")
+ SegmentId.dummy("incIndex"),
+ new IncrementalIndexSegment(incIndexes.get(0), SegmentId.dummy("incIndex"))
);
List> results = TopNBenchmark.runQuery(factory, runner, query);
@@ -334,8 +335,8 @@ public void querySingleQueryableIndex(Blackhole blackhole)
{
final QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- "qIndex",
- new QueryableIndexSegment("qIndex", qIndexes.get(0))
+ SegmentId.dummy("qIndex"),
+ new QueryableIndexSegment(qIndexes.get(0), SegmentId.dummy("qIndex"))
);
List> results = TopNBenchmark.runQuery(factory, runner, query);
@@ -352,11 +353,11 @@ public void queryMultiQueryableIndex(Blackhole blackhole)
List>> singleSegmentRunners = new ArrayList<>();
QueryToolChest toolChest = factory.getToolchest();
for (int i = 0; i < numSegments; i++) {
- String segmentName = "qIndex" + i;
+ SegmentId segmentId = SegmentId.dummy("qIndex" + i);
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
factory,
- segmentName,
- new QueryableIndexSegment(segmentName, qIndexes.get(i))
+ segmentId,
+ new QueryableIndexSegment(qIndexes.get(i), segmentId)
);
singleSegmentRunners.add(toolChest.preMergeQueryDecoration(runner));
}
diff --git a/benchmarks/src/main/java/org/apache/druid/benchmark/query/timecompare/TimeCompareBenchmark.java b/benchmarks/src/main/java/org/apache/druid/benchmark/query/timecompare/TimeCompareBenchmark.java
index b27e74b8abf1..179bbd7cb7a1 100644
--- a/benchmarks/src/main/java/org/apache/druid/benchmark/query/timecompare/TimeCompareBenchmark.java
+++ b/benchmarks/src/main/java/org/apache/druid/benchmark/query/timecompare/TimeCompareBenchmark.java
@@ -75,6 +75,7 @@
import org.apache.druid.segment.incremental.IncrementalIndex;
import org.apache.druid.segment.serde.ComplexMetrics;
import org.apache.druid.segment.writeout.OffHeapMemorySegmentWriteOutMediumFactory;
+import org.apache.druid.timeline.SegmentId;
import org.joda.time.Interval;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
@@ -346,11 +347,11 @@ public void setup() throws IOException
List>> singleSegmentRunners = new ArrayList<>();
QueryToolChest toolChest = topNFactory.getToolchest();
for (int i = 0; i < numSegments; i++) {
- String segmentName = "qIndex" + i;
+ SegmentId segmentId = SegmentId.dummy("qIndex" + i);
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
topNFactory,
- segmentName,
- new QueryableIndexSegment(segmentName, qIndexes.get(i))
+ segmentId,
+ new QueryableIndexSegment(qIndexes.get(i), segmentId)
);
singleSegmentRunners.add(
new PerSegmentOptimizingQueryRunner<>(
@@ -372,11 +373,11 @@ public void setup() throws IOException
List>> singleSegmentRunnersT = new ArrayList<>();
QueryToolChest toolChestT = timeseriesFactory.getToolchest();
for (int i = 0; i < numSegments; i++) {
- String segmentName = "qIndex" + i;
+ SegmentId segmentId = SegmentId.dummy("qIndex" + i);
QueryRunner> runner = QueryBenchmarkUtil.makeQueryRunner(
timeseriesFactory,
- segmentName,
- new QueryableIndexSegment(segmentName, qIndexes.get(i))
+ segmentId,
+ new QueryableIndexSegment(qIndexes.get(i), segmentId)
);
singleSegmentRunnersT.add(
new PerSegmentOptimizingQueryRunner<>(
diff --git a/codestyle/joda-time-forbidden-apis.txt b/codestyle/joda-time-forbidden-apis.txt
index 33e93942213e..f2115b7abc8a 100644
--- a/codestyle/joda-time-forbidden-apis.txt
+++ b/codestyle/joda-time-forbidden-apis.txt
@@ -8,7 +8,6 @@ org.joda.time.DateTime#(int, int, int, int, int, int, int)
org.joda.time.DateTime#now()
org.joda.time.DateTime#parse(java.lang.String)
org.joda.time.DateTime#parse(java.lang.String, org.joda.time.format.DateTimeFormatter)
-org.joda.time.DateTimeZone#forID(java.lang.String)
org.joda.time.base.BaseDateTime#()
org.joda.time.base.BaseDateTime#(long)
org.joda.time.base.BaseDateTime#(int, int, int, int, int, int, int)
@@ -59,6 +58,8 @@ org.joda.time.MutableInterval#(long, long)
org.joda.time.MutableInterval#(java.lang.Object)
org.joda.time.MutableInterval#parse(java.lang.String)
+org.joda.time.DateTimeZone#forID(java.lang.String) @ Use DateTimes.inferTzFromString() instead
+
@defaultMessage Uses default time zone, use DateTimes.UtcFormatter to parse.
org.joda.time.format.DateTimeFormatter#parseInto(org.joda.time.ReadWritableInstant, java.lang.String, int)
org.joda.time.format.DateTimeFormatter#parseDateTime(java.lang.String)
diff --git a/core/src/main/java/org/apache/druid/data/input/Rows.java b/core/src/main/java/org/apache/druid/data/input/Rows.java
index 617905ca6268..8514805ca93d 100644
--- a/core/src/main/java/org/apache/druid/data/input/Rows.java
+++ b/core/src/main/java/org/apache/druid/data/input/Rows.java
@@ -36,9 +36,8 @@
/**
*/
-public class Rows
+public final class Rows
{
-
/**
* @param timeStamp rollup up timestamp to be used to create group key
* @param inputRow input row
@@ -124,4 +123,6 @@ private static String trimLeadingPlusOfLongString(String metricValueString)
}
return metricValueString;
}
+
+ private Rows() {}
}
diff --git a/core/src/main/java/org/apache/druid/java/util/common/DateTimes.java b/core/src/main/java/org/apache/druid/java/util/common/DateTimes.java
index f9a708d7e3b5..94f1295d2e69 100644
--- a/core/src/main/java/org/apache/druid/java/util/common/DateTimes.java
+++ b/core/src/main/java/org/apache/druid/java/util/common/DateTimes.java
@@ -28,6 +28,7 @@
import org.joda.time.format.ISODateTimeFormat;
import java.util.TimeZone;
+import java.util.regex.Pattern;
public final class DateTimes
{
@@ -41,8 +42,18 @@ public final class DateTimes
ISODateTimeFormat.dateTimeParser().withOffsetParsed()
);
+ /**
+ * This pattern aims to match strings, produced by {@link DateTime#toString()}. It's not rigorous: it could accept
+ * some strings that couldn't be obtained by calling toString() on any {@link DateTime} object, and also it could
+ * not match some valid DateTime string. Use for heuristic purposes only.
+ */
+ public static final Pattern COMMON_DATE_TIME_PATTERN = Pattern.compile(
+ //year month day hour minute second millis time zone
+ "[0-9]{4}-[01][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]\\.[0-9]{3}(Z|[+\\-][0-9]{2}(:[0-9]{2}))"
+ );
+
@SuppressForbidden(reason = "DateTimeZone#forID")
- public static DateTimeZone inferTzfromString(String tzId)
+ public static DateTimeZone inferTzFromString(String tzId)
{
try {
return DateTimeZone.forID(tzId);
diff --git a/core/src/main/java/org/apache/druid/java/util/common/granularity/Granularities.java b/core/src/main/java/org/apache/druid/java/util/common/granularity/Granularities.java
index fcc4afffa762..91492aef7173 100644
--- a/core/src/main/java/org/apache/druid/java/util/common/granularity/Granularities.java
+++ b/core/src/main/java/org/apache/druid/java/util/common/granularity/Granularities.java
@@ -20,7 +20,7 @@
package org.apache.druid.java.util.common.granularity;
/**
- * This class was created b/c sometimes static initializers of a class that use a subclass can deadlock.
+ * This class was created b/c sometimes static initializers of a class that use a subclass can deadlock.
* See: #2979, #3979
*/
public class Granularities
diff --git a/core/src/main/java/org/apache/druid/java/util/common/guava/Comparators.java b/core/src/main/java/org/apache/druid/java/util/common/guava/Comparators.java
index fec9879826ac..61e1912d2eb0 100644
--- a/core/src/main/java/org/apache/druid/java/util/common/guava/Comparators.java
+++ b/core/src/main/java/org/apache/druid/java/util/common/guava/Comparators.java
@@ -20,7 +20,6 @@
package org.apache.druid.java.util.common.guava;
import com.google.common.collect.Ordering;
-import com.google.common.primitives.Longs;
import org.joda.time.DateTimeComparator;
import org.joda.time.Interval;
@@ -31,7 +30,6 @@
*/
public class Comparators
{
-
private static final Ordering