You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by le...@apache.org on 2019/08/02 16:20:31 UTC
[incubator-druid] branch master updated: Spotbugs:
NP_NONNULL_PARAM_VIOLATION (#8129)
This is an automated email from the ASF dual-hosted git repository.
leventov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git
The following commit(s) were added to refs/heads/master by this push:
new 91743ee Spotbugs: NP_NONNULL_PARAM_VIOLATION (#8129)
91743ee is described below
commit 91743eeebe56cdb93e4b38abb71c4be43566ad8e
Author: Fokko Driesprong <fo...@apache.org>
AuthorDate: Fri Aug 2 18:20:22 2019 +0200
Spotbugs: NP_NONNULL_PARAM_VIOLATION (#8129)
---
codestyle/spotbugs-exclude.xml | 2 --
.../org/apache/druid/collections/SerializablePair.java | 5 ++++-
.../theta/SketchEstimatePostAggregator.java | 10 ++++++----
.../aggregation/histogram/ApproximateHistogram.java | 15 ++++++---------
.../histogram/ApproximateHistogramErrorBenchmark.java | 2 +-
.../histogram/ApproximateHistogramTest.java | 18 +++++++++---------
.../variance/VarianceAggregatorCollector.java | 2 +-
.../variance/VarianceAggregatorFactory.java | 6 ++++--
.../variance/VarianceFoldingAggregatorFactory.java | 4 +++-
.../query/aggregation/DoubleMaxAggregatorFactory.java | 2 +-
.../query/aggregation/DoubleMinAggregatorFactory.java | 2 +-
.../query/aggregation/DoubleSumAggregatorFactory.java | 2 +-
.../query/aggregation/FloatMaxAggregatorFactory.java | 2 +-
.../query/aggregation/FloatMinAggregatorFactory.java | 2 +-
.../query/aggregation/FloatSumAggregatorFactory.java | 2 +-
.../query/aggregation/LongMaxAggregatorFactory.java | 2 +-
.../query/aggregation/LongMinAggregatorFactory.java | 2 +-
.../query/aggregation/LongSumAggregatorFactory.java | 2 +-
.../apache/druid/query/aggregation/PostAggregator.java | 1 +
.../query/aggregation/SerializablePairLongString.java | 4 +++-
.../aggregation/last/StringLastBufferAggregator.java | 2 +-
.../aggregation/post/ArithmeticPostAggregator.java | 4 +++-
.../aggregation/post/ExpressionPostAggregator.java | 2 +-
.../aggregation/post/FieldAccessPostAggregator.java | 6 +++++-
.../org/apache/druid/query/groupby/GroupByQuery.java | 10 +++++-----
.../groupby/epinephelinae/ByteBufferHashTable.java | 6 ++++--
.../groupby/epinephelinae/GroupByRowProcessor.java | 1 +
.../query/groupby/epinephelinae/ParallelCombiner.java | 5 ++++-
.../apache/druid/segment/DimensionHandlerUtils.java | 2 +-
.../org/apache/druid/segment/DimensionIndexer.java | 2 +-
.../apache/druid/segment/DoubleDimensionIndexer.java | 2 +-
.../apache/druid/segment/FloatDimensionIndexer.java | 2 +-
.../main/java/org/apache/druid/segment/IndexSpec.java | 10 ++++++----
.../org/apache/druid/segment/LongDimensionIndexer.java | 2 +-
.../apache/druid/segment/StringDimensionIndexer.java | 4 ++--
.../druid/segment/data/GenericIndexedWriter.java | 2 +-
.../druid/segment/incremental/IncrementalIndex.java | 2 +-
.../server/coordination/ChangeRequestsSnapshot.java | 14 +++++++++++---
.../server/coordination/DataSegmentChangeHandler.java | 6 ++++--
.../server/coordination/DataSegmentChangeRequest.java | 4 +++-
.../server/coordination/SegmentChangeRequestDrop.java | 4 +++-
.../server/coordination/SegmentChangeRequestLoad.java | 4 +++-
.../server/coordination/SegmentChangeRequestNoop.java | 8 ++++++--
43 files changed, 116 insertions(+), 75 deletions(-)
diff --git a/codestyle/spotbugs-exclude.xml b/codestyle/spotbugs-exclude.xml
index 3ee2330..effec8d 100644
--- a/codestyle/spotbugs-exclude.xml
+++ b/codestyle/spotbugs-exclude.xml
@@ -60,8 +60,6 @@
<Bug pattern="NP_LOAD_OF_KNOWN_NULL_VALUE"/>
<Bug pattern="NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION"/>
<Bug pattern="NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
- <Bug pattern="NP_NONNULL_PARAM_VIOLATION"/>
- <Bug pattern="NP_NONNULL_PARAM_VIOLATION"/>
<Bug pattern="NP_NONNULL_RETURN_VIOLATION"/>
<Bug pattern="NP_NULL_ON_SOME_PATH"/>
<Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE"/>
diff --git a/core/src/main/java/org/apache/druid/collections/SerializablePair.java b/core/src/main/java/org/apache/druid/collections/SerializablePair.java
index ce98933..46b3995 100644
--- a/core/src/main/java/org/apache/druid/collections/SerializablePair.java
+++ b/core/src/main/java/org/apache/druid/collections/SerializablePair.java
@@ -23,10 +23,12 @@ import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.druid.java.util.common.Pair;
+import javax.annotation.Nullable;
+
public class SerializablePair<T1, T2> extends Pair<T1, T2>
{
@JsonCreator
- public SerializablePair(@JsonProperty("lhs") T1 lhs, @JsonProperty("rhs") T2 rhs)
+ public SerializablePair(@JsonProperty("lhs") T1 lhs, @JsonProperty("rhs") @Nullable T2 rhs)
{
super(lhs, rhs);
}
@@ -38,6 +40,7 @@ public class SerializablePair<T1, T2> extends Pair<T1, T2>
}
@JsonProperty
+ @Nullable
public T2 getRhs()
{
return rhs;
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/SketchEstimatePostAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/SketchEstimatePostAggregator.java
index b52c74d..a725c64 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/SketchEstimatePostAggregator.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/SketchEstimatePostAggregator.java
@@ -29,6 +29,8 @@ import org.apache.druid.query.aggregation.PostAggregator;
import org.apache.druid.query.aggregation.post.PostAggregatorIds;
import org.apache.druid.query.cache.CacheKeyBuilder;
+import javax.annotation.Nullable;
+
import java.util.Comparator;
import java.util.HashSet;
import java.util.Map;
@@ -39,13 +41,14 @@ public class SketchEstimatePostAggregator implements PostAggregator
private final String name;
private final PostAggregator field;
+ @Nullable
private final Integer errorBoundsStdDev;
@JsonCreator
public SketchEstimatePostAggregator(
@JsonProperty("name") String name,
@JsonProperty("field") PostAggregator field,
- @JsonProperty("errorBoundsStdDev") Integer errorBoundsStdDev
+ @JsonProperty("errorBoundsStdDev") @Nullable Integer errorBoundsStdDev
)
{
this.name = Preconditions.checkNotNull(name, "name is null");
@@ -56,9 +59,7 @@ public class SketchEstimatePostAggregator implements PostAggregator
@Override
public Set<String> getDependentFields()
{
- Set<String> dependentFields = new HashSet<>();
- dependentFields.addAll(field.getDependentFields());
- return dependentFields;
+ return new HashSet<>(field.getDependentFields());
}
@Override
@@ -111,6 +112,7 @@ public class SketchEstimatePostAggregator implements PostAggregator
return field;
}
+ @Nullable
@JsonProperty
public Integer getErrorBoundsStdDev()
{
diff --git a/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/ApproximateHistogram.java b/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/ApproximateHistogram.java
index eeac3a5..35ac0b4 100644
--- a/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/ApproximateHistogram.java
+++ b/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/ApproximateHistogram.java
@@ -23,6 +23,8 @@ import com.fasterxml.jackson.annotation.JsonValue;
import com.google.common.base.Preconditions;
import com.google.common.primitives.Floats;
+import javax.annotation.Nullable;
+
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Arrays;
@@ -470,11 +472,6 @@ public class ApproximateHistogram
}
}
- public ApproximateHistogram fold(ApproximateHistogram h)
- {
- return fold(h, null, null, null);
- }
-
public ApproximateHistogram fold(ApproximateHistogram h, float[] mergedPositions, long[] mergedBins, float[] deltas)
{
if (size == 0) {
@@ -496,7 +493,7 @@ public class ApproximateHistogram
*
* @return returns this histogram with h folded into it
*/
- public ApproximateHistogram foldFast(ApproximateHistogram h, float[] mergedPositions, long[] mergedBins)
+ public ApproximateHistogram foldFast(ApproximateHistogram h, @Nullable float[] mergedPositions, @Nullable long[] mergedBins)
{
if (size == 0) {
return copy(h);
@@ -612,7 +609,7 @@ public class ApproximateHistogram
return this;
}
- protected ApproximateHistogram foldRule(ApproximateHistogram h, float[] mergedPositions, long[] mergedBins)
+ protected ApproximateHistogram foldRule(ApproximateHistogram h, @Nullable float[] mergedPositions, @Nullable long[] mergedBins)
{
// ruleCombine bins requires at least one bin
if (h.binCount == 0) {
@@ -1079,8 +1076,8 @@ public class ApproximateHistogram
float[] rightPositions,
long[] rightBins,
float[] mergedPositions,
- long[] mergedBins,
- float[] deltas
+ @Nullable long[] mergedBins,
+ @Nullable float[] deltas
)
{
int i = 0;
diff --git a/extensions-core/histogram/src/test/java/org/apache/druid/query/aggregation/histogram/ApproximateHistogramErrorBenchmark.java b/extensions-core/histogram/src/test/java/org/apache/druid/query/aggregation/histogram/ApproximateHistogramErrorBenchmark.java
index 5f12e60..ce0b70e 100644
--- a/extensions-core/histogram/src/test/java/org/apache/druid/query/aggregation/histogram/ApproximateHistogramErrorBenchmark.java
+++ b/extensions-core/histogram/src/test/java/org/apache/druid/query/aggregation/histogram/ApproximateHistogramErrorBenchmark.java
@@ -144,7 +144,7 @@ public class ApproximateHistogramErrorBenchmark
for (int i = 0; i < numValues; ++i) {
tmp.offer(values[i]);
if ((i + 1) % numPerHist == 0) {
- ah1.fold(tmp);
+ ah1.fold(tmp, null, null, null);
ah2.foldRule(tmp, null, null);
tmp = new ApproximateHistogram(resolution);
}
diff --git a/extensions-core/histogram/src/test/java/org/apache/druid/query/aggregation/histogram/ApproximateHistogramTest.java b/extensions-core/histogram/src/test/java/org/apache/druid/query/aggregation/histogram/ApproximateHistogramTest.java
index c63ead3..64e3a15 100644
--- a/extensions-core/histogram/src/test/java/org/apache/druid/query/aggregation/histogram/ApproximateHistogramTest.java
+++ b/extensions-core/histogram/src/test/java/org/apache/druid/query/aggregation/histogram/ApproximateHistogramTest.java
@@ -111,8 +111,8 @@ public class ApproximateHistogramTest
h2.offer(VALUES[i]);
}
- merged.fold(h1);
- merged.fold(h2);
+ merged.fold(h1, null, null, null);
+ merged.fold(h2, null, null, null);
mergedFast.foldFast(h1);
mergedFast.foldFast(h2);
@@ -144,7 +144,7 @@ public class ApproximateHistogramTest
ApproximateHistogram aFast = buildHistogram(10, new float[]{1, 2, 3, 4, 5, 6});
ApproximateHistogram b = buildHistogram(5, new float[]{3, 4, 5, 6});
- a.fold(b);
+ a.fold(b, null, null, null);
aFast.foldFast(b);
Assert.assertEquals(
@@ -172,7 +172,7 @@ public class ApproximateHistogramTest
for (float v : VALUES4) {
h4.offer(v);
}
- h3.fold(h4);
+ h3.fold(h4, null, null, null);
Assert.assertArrayEquals(
"final bin positions match expected positions",
new float[]{-50.98f, -21.77f, -9.81f, 3.73f, 13.72f, 20.1f, 29f, 44.79f, 53.8f, 64.67f},
@@ -191,7 +191,7 @@ public class ApproximateHistogramTest
ApproximateHistogram h1 = new ApproximateHistogram(10);
ApproximateHistogram h2 = new ApproximateHistogram(10);
- h1.fold(h2);
+ h1.fold(h2, null, null, null);
h1.foldFast(h2);
}
@@ -210,8 +210,8 @@ public class ApproximateHistogramTest
h4Fast.offer(v);
}
- h1.fold(h3);
- h4.fold(h2);
+ h1.fold(h3, null, null, null);
+ h4.fold(h2, null, null, null);
h1Fast.foldFast(h3);
h4Fast.foldFast(h2);
@@ -300,7 +300,7 @@ public class ApproximateHistogramTest
ApproximateHistogram h = buildHistogram(5, VALUES);
Assert.assertEquals(h, ApproximateHistogram.fromBytes(h.toBytes()));
- ApproximateHistogram h2 = new ApproximateHistogram(50).fold(h);
+ ApproximateHistogram h2 = new ApproximateHistogram(50).fold(h, null, null, null);
Assert.assertEquals(h2, ApproximateHistogram.fromBytes(h2.toBytes()));
}
@@ -331,7 +331,7 @@ public class ApproximateHistogramTest
h = buildHistogram(5, new float[]{1f, 2f, 3f});
Assert.assertEquals(h, ApproximateHistogram.fromBytes(h.toBytes()));
- h = new ApproximateHistogram(40).fold(h);
+ h = new ApproximateHistogram(40).fold(h, null, null, null);
Assert.assertEquals(h, ApproximateHistogram.fromBytes(h.toBytes()));
}
diff --git a/extensions-core/stats/src/main/java/org/apache/druid/query/aggregation/variance/VarianceAggregatorCollector.java b/extensions-core/stats/src/main/java/org/apache/druid/query/aggregation/variance/VarianceAggregatorCollector.java
index 6077057..860d985 100644
--- a/extensions-core/stats/src/main/java/org/apache/druid/query/aggregation/variance/VarianceAggregatorCollector.java
+++ b/extensions-core/stats/src/main/java/org/apache/druid/query/aggregation/variance/VarianceAggregatorCollector.java
@@ -49,7 +49,7 @@ import java.util.Comparator;
*/
public class VarianceAggregatorCollector
{
- public static boolean isVariancePop(String estimator)
+ public static boolean isVariancePop(@Nullable String estimator)
{
return estimator != null && "population".equalsIgnoreCase(estimator);
}
diff --git a/extensions-core/stats/src/main/java/org/apache/druid/query/aggregation/variance/VarianceAggregatorFactory.java b/extensions-core/stats/src/main/java/org/apache/druid/query/aggregation/variance/VarianceAggregatorFactory.java
index fdc9cb2..79bbe96 100644
--- a/extensions-core/stats/src/main/java/org/apache/druid/query/aggregation/variance/VarianceAggregatorFactory.java
+++ b/extensions-core/stats/src/main/java/org/apache/druid/query/aggregation/variance/VarianceAggregatorFactory.java
@@ -53,6 +53,7 @@ public class VarianceAggregatorFactory extends AggregatorFactory
{
protected final String fieldName;
protected final String name;
+ @Nullable
protected final String estimator;
private final String inputType;
@@ -62,8 +63,8 @@ public class VarianceAggregatorFactory extends AggregatorFactory
public VarianceAggregatorFactory(
@JsonProperty("name") String name,
@JsonProperty("fieldName") String fieldName,
- @JsonProperty("estimator") String estimator,
- @JsonProperty("inputType") String inputType
+ @JsonProperty("estimator") @Nullable String estimator,
+ @JsonProperty("inputType") @Nullable String inputType
)
{
Preconditions.checkNotNull(name, "Must have a valid, non-null aggregator name");
@@ -238,6 +239,7 @@ public class VarianceAggregatorFactory extends AggregatorFactory
return name;
}
+ @Nullable
@JsonProperty
public String getEstimator()
{
diff --git a/extensions-core/stats/src/main/java/org/apache/druid/query/aggregation/variance/VarianceFoldingAggregatorFactory.java b/extensions-core/stats/src/main/java/org/apache/druid/query/aggregation/variance/VarianceFoldingAggregatorFactory.java
index a61921c..c9e1526 100644
--- a/extensions-core/stats/src/main/java/org/apache/druid/query/aggregation/variance/VarianceFoldingAggregatorFactory.java
+++ b/extensions-core/stats/src/main/java/org/apache/druid/query/aggregation/variance/VarianceFoldingAggregatorFactory.java
@@ -22,6 +22,8 @@ package org.apache.druid.query.aggregation.variance;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;
+import javax.annotation.Nullable;
+
/**
*/
@JsonTypeName("varianceFold")
@@ -30,7 +32,7 @@ public class VarianceFoldingAggregatorFactory extends VarianceAggregatorFactory
public VarianceFoldingAggregatorFactory(
@JsonProperty("name") String name,
@JsonProperty("fieldName") String fieldName,
- @JsonProperty("estimator") String estimator
+ @JsonProperty("estimator") @Nullable String estimator
)
{
super(name, fieldName, estimator, "variance");
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/DoubleMaxAggregatorFactory.java b/processing/src/main/java/org/apache/druid/query/aggregation/DoubleMaxAggregatorFactory.java
index 75ef2f6..21562af 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/DoubleMaxAggregatorFactory.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/DoubleMaxAggregatorFactory.java
@@ -40,7 +40,7 @@ public class DoubleMaxAggregatorFactory extends SimpleDoubleAggregatorFactory
public DoubleMaxAggregatorFactory(
@JsonProperty("name") String name,
@JsonProperty("fieldName") final String fieldName,
- @JsonProperty("expression") String expression,
+ @JsonProperty("expression") @Nullable String expression,
@JacksonInject ExprMacroTable macroTable
)
{
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/DoubleMinAggregatorFactory.java b/processing/src/main/java/org/apache/druid/query/aggregation/DoubleMinAggregatorFactory.java
index e1ddb7f..f308db4 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/DoubleMinAggregatorFactory.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/DoubleMinAggregatorFactory.java
@@ -40,7 +40,7 @@ public class DoubleMinAggregatorFactory extends SimpleDoubleAggregatorFactory
public DoubleMinAggregatorFactory(
@JsonProperty("name") String name,
@JsonProperty("fieldName") final String fieldName,
- @JsonProperty("expression") String expression,
+ @JsonProperty("expression") @Nullable String expression,
@JacksonInject ExprMacroTable macroTable
)
{
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/DoubleSumAggregatorFactory.java b/processing/src/main/java/org/apache/druid/query/aggregation/DoubleSumAggregatorFactory.java
index 0292823..1a019d7 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/DoubleSumAggregatorFactory.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/DoubleSumAggregatorFactory.java
@@ -42,7 +42,7 @@ public class DoubleSumAggregatorFactory extends SimpleDoubleAggregatorFactory
public DoubleSumAggregatorFactory(
@JsonProperty("name") String name,
@JsonProperty("fieldName") final String fieldName,
- @JsonProperty("expression") String expression,
+ @JsonProperty("expression") @Nullable String expression,
@JacksonInject ExprMacroTable macroTable
)
{
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/FloatMaxAggregatorFactory.java b/processing/src/main/java/org/apache/druid/query/aggregation/FloatMaxAggregatorFactory.java
index a0b2f24..b17b8c3 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/FloatMaxAggregatorFactory.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/FloatMaxAggregatorFactory.java
@@ -40,7 +40,7 @@ public class FloatMaxAggregatorFactory extends SimpleFloatAggregatorFactory
public FloatMaxAggregatorFactory(
@JsonProperty("name") String name,
@JsonProperty("fieldName") final String fieldName,
- @JsonProperty("expression") String expression,
+ @JsonProperty("expression") @Nullable String expression,
@JacksonInject ExprMacroTable macroTable
)
{
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/FloatMinAggregatorFactory.java b/processing/src/main/java/org/apache/druid/query/aggregation/FloatMinAggregatorFactory.java
index bf5cc24..81b9387 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/FloatMinAggregatorFactory.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/FloatMinAggregatorFactory.java
@@ -40,7 +40,7 @@ public class FloatMinAggregatorFactory extends SimpleFloatAggregatorFactory
public FloatMinAggregatorFactory(
@JsonProperty("name") String name,
@JsonProperty("fieldName") final String fieldName,
- @JsonProperty("expression") String expression,
+ @JsonProperty("expression") @Nullable String expression,
@JacksonInject ExprMacroTable macroTable
)
{
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/FloatSumAggregatorFactory.java b/processing/src/main/java/org/apache/druid/query/aggregation/FloatSumAggregatorFactory.java
index debe44d..a921656 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/FloatSumAggregatorFactory.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/FloatSumAggregatorFactory.java
@@ -42,7 +42,7 @@ public class FloatSumAggregatorFactory extends SimpleFloatAggregatorFactory
public FloatSumAggregatorFactory(
@JsonProperty("name") String name,
@JsonProperty("fieldName") final String fieldName,
- @JsonProperty("expression") String expression,
+ @JsonProperty("expression") @Nullable String expression,
@JacksonInject ExprMacroTable macroTable
)
{
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/LongMaxAggregatorFactory.java b/processing/src/main/java/org/apache/druid/query/aggregation/LongMaxAggregatorFactory.java
index 78f398b..182cba9 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/LongMaxAggregatorFactory.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/LongMaxAggregatorFactory.java
@@ -40,7 +40,7 @@ public class LongMaxAggregatorFactory extends SimpleLongAggregatorFactory
public LongMaxAggregatorFactory(
@JsonProperty("name") String name,
@JsonProperty("fieldName") final String fieldName,
- @JsonProperty("expression") String expression,
+ @JsonProperty("expression") @Nullable String expression,
@JacksonInject ExprMacroTable macroTable
)
{
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/LongMinAggregatorFactory.java b/processing/src/main/java/org/apache/druid/query/aggregation/LongMinAggregatorFactory.java
index bb0f199..1c436bf 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/LongMinAggregatorFactory.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/LongMinAggregatorFactory.java
@@ -40,7 +40,7 @@ public class LongMinAggregatorFactory extends SimpleLongAggregatorFactory
public LongMinAggregatorFactory(
@JsonProperty("name") String name,
@JsonProperty("fieldName") final String fieldName,
- @JsonProperty("expression") String expression,
+ @JsonProperty("expression") @Nullable String expression,
@JacksonInject ExprMacroTable macroTable
)
{
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/LongSumAggregatorFactory.java b/processing/src/main/java/org/apache/druid/query/aggregation/LongSumAggregatorFactory.java
index accfc78..5577b8e 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/LongSumAggregatorFactory.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/LongSumAggregatorFactory.java
@@ -42,7 +42,7 @@ public class LongSumAggregatorFactory extends SimpleLongAggregatorFactory
public LongSumAggregatorFactory(
@JsonProperty("name") String name,
@JsonProperty("fieldName") final String fieldName,
- @JsonProperty("expression") String expression,
+ @JsonProperty("expression") @Nullable String expression,
@JacksonInject ExprMacroTable macroTable
)
{
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/PostAggregator.java b/processing/src/main/java/org/apache/druid/query/aggregation/PostAggregator.java
index 5df02d0..aecc952 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/PostAggregator.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/PostAggregator.java
@@ -40,6 +40,7 @@ public interface PostAggregator extends Cacheable
@Nullable
Object compute(Map<String, Object> combinedAggregators);
+ @Nullable
String getName();
/**
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/SerializablePairLongString.java b/processing/src/main/java/org/apache/druid/query/aggregation/SerializablePairLongString.java
index 69261aa..edecfc6 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/SerializablePairLongString.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/SerializablePairLongString.java
@@ -23,10 +23,12 @@ import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.apache.druid.collections.SerializablePair;
+import javax.annotation.Nullable;
+
public class SerializablePairLongString extends SerializablePair<Long, String>
{
@JsonCreator
- public SerializablePairLongString(@JsonProperty("lhs") Long lhs, @JsonProperty("rhs") String rhs)
+ public SerializablePairLongString(@JsonProperty("lhs") Long lhs, @JsonProperty("rhs") @Nullable String rhs)
{
super(lhs, rhs);
}
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/last/StringLastBufferAggregator.java b/processing/src/main/java/org/apache/druid/query/aggregation/last/StringLastBufferAggregator.java
index 168694e..9271e5a 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/last/StringLastBufferAggregator.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/last/StringLastBufferAggregator.java
@@ -108,7 +108,7 @@ public class StringLastBufferAggregator implements BufferAggregator
mutationBuffer.position(position);
Long timeValue = mutationBuffer.getLong(position);
- Integer stringSizeBytes = mutationBuffer.getInt(position + Long.BYTES);
+ int stringSizeBytes = mutationBuffer.getInt(position + Long.BYTES);
SerializablePairLongString serializablePair;
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/post/ArithmeticPostAggregator.java b/processing/src/main/java/org/apache/druid/query/aggregation/post/ArithmeticPostAggregator.java
index 556d39f..ea678dc 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/post/ArithmeticPostAggregator.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/post/ArithmeticPostAggregator.java
@@ -29,6 +29,8 @@ import org.apache.druid.query.aggregation.AggregatorFactory;
import org.apache.druid.query.aggregation.PostAggregator;
import org.apache.druid.query.cache.CacheKeyBuilder;
+import javax.annotation.Nullable;
+
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
@@ -71,7 +73,7 @@ public class ArithmeticPostAggregator implements PostAggregator
@JsonProperty("name") String name,
@JsonProperty("fn") String fnName,
@JsonProperty("fields") List<PostAggregator> fields,
- @JsonProperty("ordering") String ordering
+ @JsonProperty("ordering") @Nullable String ordering
)
{
Preconditions.checkArgument(fnName != null, "fn cannot not be null");
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/post/ExpressionPostAggregator.java b/processing/src/main/java/org/apache/druid/query/aggregation/post/ExpressionPostAggregator.java
index cfd6578..e978f18 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/post/ExpressionPostAggregator.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/post/ExpressionPostAggregator.java
@@ -74,7 +74,7 @@ public class ExpressionPostAggregator implements PostAggregator
public ExpressionPostAggregator(
@JsonProperty("name") String name,
@JsonProperty("expression") String expression,
- @JsonProperty("ordering") String ordering,
+ @JsonProperty("ordering") @Nullable String ordering,
@JacksonInject ExprMacroTable macroTable
)
{
diff --git a/processing/src/main/java/org/apache/druid/query/aggregation/post/FieldAccessPostAggregator.java b/processing/src/main/java/org/apache/druid/query/aggregation/post/FieldAccessPostAggregator.java
index d816bc6..17506d3 100644
--- a/processing/src/main/java/org/apache/druid/query/aggregation/post/FieldAccessPostAggregator.java
+++ b/processing/src/main/java/org/apache/druid/query/aggregation/post/FieldAccessPostAggregator.java
@@ -27,6 +27,8 @@ import org.apache.druid.query.aggregation.AggregatorFactory;
import org.apache.druid.query.aggregation.PostAggregator;
import org.apache.druid.query.cache.CacheKeyBuilder;
+import javax.annotation.Nullable;
+
import java.util.Comparator;
import java.util.Map;
import java.util.Set;
@@ -35,12 +37,13 @@ import java.util.Set;
*/
public class FieldAccessPostAggregator implements PostAggregator
{
+ @Nullable
private final String name;
private final String fieldName;
@JsonCreator
public FieldAccessPostAggregator(
- @JsonProperty("name") String name,
+ @JsonProperty("name") @Nullable String name,
@JsonProperty("fieldName") String fieldName
)
{
@@ -67,6 +70,7 @@ public class FieldAccessPostAggregator implements PostAggregator
return combinedAggregators.get(fieldName);
}
+ @Nullable
@Override
@JsonProperty
public String getName()
diff --git a/processing/src/main/java/org/apache/druid/query/groupby/GroupByQuery.java b/processing/src/main/java/org/apache/druid/query/groupby/GroupByQuery.java
index 0ba0f8d..10f043c 100644
--- a/processing/src/main/java/org/apache/druid/query/groupby/GroupByQuery.java
+++ b/processing/src/main/java/org/apache/druid/query/groupby/GroupByQuery.java
@@ -802,7 +802,7 @@ public class GroupByQuery extends BaseQuery<ResultRow>
return new Builder(this).setQuerySegmentSpec(spec).build();
}
- public GroupByQuery withDimFilter(final DimFilter dimFilter)
+ public GroupByQuery withDimFilter(@Nullable final DimFilter dimFilter)
{
return new Builder(this).setDimFilter(dimFilter).build();
}
@@ -828,7 +828,7 @@ public class GroupByQuery extends BaseQuery<ResultRow>
return new Builder(this).setAggregatorSpecs(aggregatorSpecs).build();
}
- public GroupByQuery withSubtotalsSpec(final List<List<String>> subtotalsSpec)
+ public GroupByQuery withSubtotalsSpec(@Nullable final List<List<String>> subtotalsSpec)
{
return new Builder(this).setSubtotalsSpec(subtotalsSpec).build();
}
@@ -1006,7 +1006,7 @@ public class GroupByQuery extends BaseQuery<ResultRow>
return this;
}
- public Builder setSubtotalsSpec(List<List<String>> subtotalsSpec)
+ public Builder setSubtotalsSpec(@Nullable List<List<String>> subtotalsSpec)
{
this.subtotalsSpec = subtotalsSpec;
return this;
@@ -1017,7 +1017,7 @@ public class GroupByQuery extends BaseQuery<ResultRow>
return addOrderByColumn(dimension, null);
}
- public Builder addOrderByColumn(String dimension, OrderByColumnSpec.Direction direction)
+ public Builder addOrderByColumn(String dimension, @Nullable OrderByColumnSpec.Direction direction)
{
return addOrderByColumn(new OrderByColumnSpec(dimension, direction));
}
@@ -1059,7 +1059,7 @@ public class GroupByQuery extends BaseQuery<ResultRow>
return this;
}
- public Builder setDimFilter(DimFilter dimFilter)
+ public Builder setDimFilter(@Nullable DimFilter dimFilter)
{
this.dimFilter = dimFilter;
return this;
diff --git a/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/ByteBufferHashTable.java b/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/ByteBufferHashTable.java
index 6ba201e..b9d0c7c 100644
--- a/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/ByteBufferHashTable.java
+++ b/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/ByteBufferHashTable.java
@@ -22,6 +22,8 @@ package org.apache.druid.query.groupby.epinephelinae;
import org.apache.druid.java.util.common.IAE;
import org.apache.druid.java.util.common.ISE;
+import javax.annotation.Nullable;
+
import java.nio.ByteBuffer;
public class ByteBufferHashTable
@@ -74,7 +76,7 @@ public class ByteBufferHashTable
// how many times the table buffer has filled/readjusted (through adjustTableWhenFull())
protected int growthCount;
-
+ @Nullable
protected BucketUpdateHandler bucketUpdateHandler;
public ByteBufferHashTable(
@@ -84,7 +86,7 @@ public class ByteBufferHashTable
ByteBuffer buffer,
int keySize,
int maxSizeForTesting,
- BucketUpdateHandler bucketUpdateHandler
+ @Nullable BucketUpdateHandler bucketUpdateHandler
)
{
this.maxLoadFactor = maxLoadFactor;
diff --git a/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/GroupByRowProcessor.java b/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/GroupByRowProcessor.java
index c1ac966..b33064a 100644
--- a/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/GroupByRowProcessor.java
+++ b/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/GroupByRowProcessor.java
@@ -37,6 +37,7 @@ import org.apache.druid.query.groupby.epinephelinae.RowBasedGrouperHelper.RowBas
import org.apache.druid.query.groupby.resource.GroupByQueryResource;
import javax.annotation.Nullable;
+
import java.io.Closeable;
import java.io.File;
import java.nio.ByteBuffer;
diff --git a/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/ParallelCombiner.java b/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/ParallelCombiner.java
index 4444b9e..af8a069 100644
--- a/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/ParallelCombiner.java
+++ b/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/ParallelCombiner.java
@@ -47,6 +47,8 @@ import org.apache.druid.segment.DimensionSelector;
import org.apache.druid.segment.ObjectColumnSelector;
import org.apache.druid.segment.column.ColumnCapabilities;
+import javax.annotation.Nullable;
+
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.ArrayList;
@@ -435,6 +437,7 @@ public class ParallelCombiner<KeyType>
private static final int UNKNOWN_COLUMN_INDEX = -1;
private final Object2IntMap<String> columnIndexMap;
+ @Nullable
private Object[] values;
SettableColumnSelectorFactory(AggregatorFactory[] aggregatorFactories)
@@ -446,7 +449,7 @@ public class ParallelCombiner<KeyType>
}
}
- public void set(Object[] values)
+ public void set(@Nullable Object[] values)
{
this.values = values;
}
diff --git a/processing/src/main/java/org/apache/druid/segment/DimensionHandlerUtils.java b/processing/src/main/java/org/apache/druid/segment/DimensionHandlerUtils.java
index da4232d..e9396c5 100644
--- a/processing/src/main/java/org/apache/druid/segment/DimensionHandlerUtils.java
+++ b/processing/src/main/java/org/apache/druid/segment/DimensionHandlerUtils.java
@@ -67,7 +67,7 @@ public final class DimensionHandlerUtils
public static DimensionHandler getHandlerFromCapabilities(
String dimensionName,
ColumnCapabilities capabilities,
- MultiValueHandling multiValueHandling
+ @Nullable MultiValueHandling multiValueHandling
)
{
if (capabilities == null) {
diff --git a/processing/src/main/java/org/apache/druid/segment/DimensionIndexer.java b/processing/src/main/java/org/apache/druid/segment/DimensionIndexer.java
index 0ddbba0..06c27f7 100644
--- a/processing/src/main/java/org/apache/druid/segment/DimensionIndexer.java
+++ b/processing/src/main/java/org/apache/druid/segment/DimensionIndexer.java
@@ -125,7 +125,7 @@ public interface DimensionIndexer
* @param reportParseExceptions
* @return An array containing an encoded representation of the input row value.
*/
- EncodedKeyComponentType processRowValsToUnsortedEncodedKeyComponent(Object dimValues, boolean reportParseExceptions);
+ EncodedKeyComponentType processRowValsToUnsortedEncodedKeyComponent(@Nullable Object dimValues, boolean reportParseExceptions);
/**
* Gives the estimated size in bytes for the given key
diff --git a/processing/src/main/java/org/apache/druid/segment/DoubleDimensionIndexer.java b/processing/src/main/java/org/apache/druid/segment/DoubleDimensionIndexer.java
index 55c0a2c..3fc93d7 100644
--- a/processing/src/main/java/org/apache/druid/segment/DoubleDimensionIndexer.java
+++ b/processing/src/main/java/org/apache/druid/segment/DoubleDimensionIndexer.java
@@ -39,7 +39,7 @@ public class DoubleDimensionIndexer implements DimensionIndexer<Double, Double,
public static final Comparator<Double> DOUBLE_COMPARATOR = Comparators.naturalNullsFirst();
@Override
- public Double processRowValsToUnsortedEncodedKeyComponent(Object dimValues, boolean reportParseExceptions)
+ public Double processRowValsToUnsortedEncodedKeyComponent(@Nullable Object dimValues, boolean reportParseExceptions)
{
if (dimValues instanceof List) {
throw new UnsupportedOperationException("Numeric columns do not support multivalue rows.");
diff --git a/processing/src/main/java/org/apache/druid/segment/FloatDimensionIndexer.java b/processing/src/main/java/org/apache/druid/segment/FloatDimensionIndexer.java
index d688563..bd7384c 100644
--- a/processing/src/main/java/org/apache/druid/segment/FloatDimensionIndexer.java
+++ b/processing/src/main/java/org/apache/druid/segment/FloatDimensionIndexer.java
@@ -39,7 +39,7 @@ public class FloatDimensionIndexer implements DimensionIndexer<Float, Float, Flo
public static final Comparator<Float> FLOAT_COMPARATOR = Comparators.naturalNullsFirst();
@Override
- public Float processRowValsToUnsortedEncodedKeyComponent(Object dimValues, boolean reportParseExceptions)
+ public Float processRowValsToUnsortedEncodedKeyComponent(@Nullable Object dimValues, boolean reportParseExceptions)
{
if (dimValues instanceof List) {
throw new UnsupportedOperationException("Numeric columns do not support multivalue rows.");
diff --git a/processing/src/main/java/org/apache/druid/segment/IndexSpec.java b/processing/src/main/java/org/apache/druid/segment/IndexSpec.java
index 4de55b6..5aa4aed 100644
--- a/processing/src/main/java/org/apache/druid/segment/IndexSpec.java
+++ b/processing/src/main/java/org/apache/druid/segment/IndexSpec.java
@@ -29,6 +29,8 @@ import org.apache.druid.segment.data.CompressionFactory;
import org.apache.druid.segment.data.CompressionStrategy;
import org.apache.druid.segment.data.ConciseBitmapSerdeFactory;
+import javax.annotation.Nullable;
+
import java.util.Arrays;
import java.util.Objects;
import java.util.Set;
@@ -90,10 +92,10 @@ public class IndexSpec
*/
@JsonCreator
public IndexSpec(
- @JsonProperty("bitmap") BitmapSerdeFactory bitmapSerdeFactory,
- @JsonProperty("dimensionCompression") CompressionStrategy dimensionCompression,
- @JsonProperty("metricCompression") CompressionStrategy metricCompression,
- @JsonProperty("longEncoding") CompressionFactory.LongEncodingStrategy longEncoding
+ @JsonProperty("bitmap") @Nullable BitmapSerdeFactory bitmapSerdeFactory,
+ @JsonProperty("dimensionCompression") @Nullable CompressionStrategy dimensionCompression,
+ @JsonProperty("metricCompression") @Nullable CompressionStrategy metricCompression,
+ @JsonProperty("longEncoding") @Nullable CompressionFactory.LongEncodingStrategy longEncoding
)
{
Preconditions.checkArgument(dimensionCompression == null || DIMENSION_COMPRESSION.contains(dimensionCompression),
diff --git a/processing/src/main/java/org/apache/druid/segment/LongDimensionIndexer.java b/processing/src/main/java/org/apache/druid/segment/LongDimensionIndexer.java
index c43945a..bf01e4e 100644
--- a/processing/src/main/java/org/apache/druid/segment/LongDimensionIndexer.java
+++ b/processing/src/main/java/org/apache/druid/segment/LongDimensionIndexer.java
@@ -39,7 +39,7 @@ public class LongDimensionIndexer implements DimensionIndexer<Long, Long, Long>
public static final Comparator LONG_COMPARATOR = Comparators.<Long>naturalNullsFirst();
@Override
- public Long processRowValsToUnsortedEncodedKeyComponent(Object dimValues, boolean reportParseExceptions)
+ public Long processRowValsToUnsortedEncodedKeyComponent(@Nullable Object dimValues, boolean reportParseExceptions)
{
if (dimValues instanceof List) {
throw new UnsupportedOperationException("Numeric columns do not support multivalue rows.");
diff --git a/processing/src/main/java/org/apache/druid/segment/StringDimensionIndexer.java b/processing/src/main/java/org/apache/druid/segment/StringDimensionIndexer.java
index 332da92..c4c0186 100644
--- a/processing/src/main/java/org/apache/druid/segment/StringDimensionIndexer.java
+++ b/processing/src/main/java/org/apache/druid/segment/StringDimensionIndexer.java
@@ -87,7 +87,7 @@ public class StringDimensionIndexer implements DimensionIndexer<Integer, int[],
valueToId.defaultReturnValue(-1);
}
- public int getId(String value)
+ public int getId(@Nullable String value)
{
lock.readLock().lock();
try {
@@ -245,7 +245,7 @@ public class StringDimensionIndexer implements DimensionIndexer<Integer, int[],
}
@Override
- public int[] processRowValsToUnsortedEncodedKeyComponent(Object dimValues, boolean reportParseExceptions)
+ public int[] processRowValsToUnsortedEncodedKeyComponent(@Nullable Object dimValues, boolean reportParseExceptions)
{
final int[] encodedDimensionValues;
final int oldDictSize = dimLookup.size();
diff --git a/processing/src/main/java/org/apache/druid/segment/data/GenericIndexedWriter.java b/processing/src/main/java/org/apache/druid/segment/data/GenericIndexedWriter.java
index 120b36b..3974915 100644
--- a/processing/src/main/java/org/apache/druid/segment/data/GenericIndexedWriter.java
+++ b/processing/src/main/java/org/apache/druid/segment/data/GenericIndexedWriter.java
@@ -284,7 +284,7 @@ public class GenericIndexedWriter<T> implements Serializer
}
@Override
- public void writeTo(WritableByteChannel channel, FileSmoosher smoosher) throws IOException
+ public void writeTo(WritableByteChannel channel, @Nullable FileSmoosher smoosher) throws IOException
{
if (requireMultipleFiles) {
writeToMultiFiles(channel, smoosher);
diff --git a/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndex.java b/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndex.java
index dc09a56..dbb6a6e 100644
--- a/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndex.java
+++ b/processing/src/main/java/org/apache/druid/segment/incremental/IncrementalIndex.java
@@ -996,7 +996,7 @@ public abstract class IncrementalIndex<AggregatorType> extends AbstractIndex imp
return iterableWithPostAggregations(null, false).iterator();
}
- public Iterable<Row> iterableWithPostAggregations(final List<PostAggregator> postAggs, final boolean descending)
+ public Iterable<Row> iterableWithPostAggregations(@Nullable final List<PostAggregator> postAggs, final boolean descending)
{
return () -> {
final List<DimensionDesc> dimensions = getDimensions();
diff --git a/server/src/main/java/org/apache/druid/server/coordination/ChangeRequestsSnapshot.java b/server/src/main/java/org/apache/druid/server/coordination/ChangeRequestsSnapshot.java
index bacd53a..14113be 100644
--- a/server/src/main/java/org/apache/druid/server/coordination/ChangeRequestsSnapshot.java
+++ b/server/src/main/java/org/apache/druid/server/coordination/ChangeRequestsSnapshot.java
@@ -23,6 +23,8 @@ import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Preconditions;
+import javax.annotation.Nullable;
+
import java.util.List;
/**
@@ -45,18 +47,21 @@ public final class ChangeRequestsSnapshot<T>
private final boolean resetCounter;
/** cause for reset if {@link #resetCounter} is true */
+ @Nullable
private final String resetCause;
/** segments requests delta since counter, if {@link #resetCounter} if false */
+ @Nullable
private final ChangeRequestHistory.Counter counter;
+ @Nullable
private final List<T> requests;
@JsonCreator
public ChangeRequestsSnapshot(
@JsonProperty("resetCounter") boolean resetCounter,
- @JsonProperty("resetCause") String resetCause,
- @JsonProperty("counter") ChangeRequestHistory.Counter counter,
- @JsonProperty("requests") List<T> requests
+ @JsonProperty("resetCause") @Nullable String resetCause,
+ @JsonProperty("counter") @Nullable ChangeRequestHistory.Counter counter,
+ @JsonProperty("requests") @Nullable List<T> requests
)
{
this.resetCounter = resetCounter;
@@ -76,18 +81,21 @@ public final class ChangeRequestsSnapshot<T>
return resetCounter;
}
+ @Nullable
@JsonProperty
public String getResetCause()
{
return resetCause;
}
+ @Nullable
@JsonProperty
public ChangeRequestHistory.Counter getCounter()
{
return counter;
}
+ @Nullable
@JsonProperty
public List<T> getRequests()
{
diff --git a/server/src/main/java/org/apache/druid/server/coordination/DataSegmentChangeHandler.java b/server/src/main/java/org/apache/druid/server/coordination/DataSegmentChangeHandler.java
index f502545..cd2a8c3 100644
--- a/server/src/main/java/org/apache/druid/server/coordination/DataSegmentChangeHandler.java
+++ b/server/src/main/java/org/apache/druid/server/coordination/DataSegmentChangeHandler.java
@@ -21,10 +21,12 @@ package org.apache.druid.server.coordination;
import org.apache.druid.timeline.DataSegment;
+import javax.annotation.Nullable;
+
/**
*/
public interface DataSegmentChangeHandler
{
- void addSegment(DataSegment segment, DataSegmentChangeCallback callback);
- void removeSegment(DataSegment segment, DataSegmentChangeCallback callback);
+ void addSegment(DataSegment segment, @Nullable DataSegmentChangeCallback callback);
+ void removeSegment(DataSegment segment, @Nullable DataSegmentChangeCallback callback);
}
diff --git a/server/src/main/java/org/apache/druid/server/coordination/DataSegmentChangeRequest.java b/server/src/main/java/org/apache/druid/server/coordination/DataSegmentChangeRequest.java
index d7962ce..6a044aa 100644
--- a/server/src/main/java/org/apache/druid/server/coordination/DataSegmentChangeRequest.java
+++ b/server/src/main/java/org/apache/druid/server/coordination/DataSegmentChangeRequest.java
@@ -22,6 +22,8 @@ package org.apache.druid.server.coordination;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import javax.annotation.Nullable;
+
/**
*/
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "action")
@@ -32,7 +34,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
})
public interface DataSegmentChangeRequest
{
- void go(DataSegmentChangeHandler handler, DataSegmentChangeCallback callback);
+ void go(DataSegmentChangeHandler handler, @Nullable DataSegmentChangeCallback callback);
String asString();
}
diff --git a/server/src/main/java/org/apache/druid/server/coordination/SegmentChangeRequestDrop.java b/server/src/main/java/org/apache/druid/server/coordination/SegmentChangeRequestDrop.java
index 85c1683..c4229a0 100644
--- a/server/src/main/java/org/apache/druid/server/coordination/SegmentChangeRequestDrop.java
+++ b/server/src/main/java/org/apache/druid/server/coordination/SegmentChangeRequestDrop.java
@@ -25,6 +25,8 @@ import com.fasterxml.jackson.annotation.JsonUnwrapped;
import org.apache.druid.java.util.common.StringUtils;
import org.apache.druid.timeline.DataSegment;
+import javax.annotation.Nullable;
+
import java.util.Objects;
/**
@@ -49,7 +51,7 @@ public class SegmentChangeRequestDrop implements DataSegmentChangeRequest
}
@Override
- public void go(DataSegmentChangeHandler handler, DataSegmentChangeCallback callback)
+ public void go(DataSegmentChangeHandler handler, @Nullable DataSegmentChangeCallback callback)
{
handler.removeSegment(segment, callback);
}
diff --git a/server/src/main/java/org/apache/druid/server/coordination/SegmentChangeRequestLoad.java b/server/src/main/java/org/apache/druid/server/coordination/SegmentChangeRequestLoad.java
index 002b968..097e025 100644
--- a/server/src/main/java/org/apache/druid/server/coordination/SegmentChangeRequestLoad.java
+++ b/server/src/main/java/org/apache/druid/server/coordination/SegmentChangeRequestLoad.java
@@ -25,6 +25,8 @@ import com.fasterxml.jackson.annotation.JsonUnwrapped;
import org.apache.druid.java.util.common.StringUtils;
import org.apache.druid.timeline.DataSegment;
+import javax.annotation.Nullable;
+
import java.util.Objects;
/**
@@ -42,7 +44,7 @@ public class SegmentChangeRequestLoad implements DataSegmentChangeRequest
}
@Override
- public void go(DataSegmentChangeHandler handler, DataSegmentChangeCallback callback)
+ public void go(DataSegmentChangeHandler handler, @Nullable DataSegmentChangeCallback callback)
{
handler.addSegment(segment, callback);
}
diff --git a/server/src/main/java/org/apache/druid/server/coordination/SegmentChangeRequestNoop.java b/server/src/main/java/org/apache/druid/server/coordination/SegmentChangeRequestNoop.java
index 4f90249..3978bcf 100644
--- a/server/src/main/java/org/apache/druid/server/coordination/SegmentChangeRequestNoop.java
+++ b/server/src/main/java/org/apache/druid/server/coordination/SegmentChangeRequestNoop.java
@@ -19,15 +19,19 @@
package org.apache.druid.server.coordination;
+import javax.annotation.Nullable;
+
/**
*/
public class SegmentChangeRequestNoop implements DataSegmentChangeRequest
{
@Override
- public void go(DataSegmentChangeHandler handler, DataSegmentChangeCallback callback)
+ public void go(DataSegmentChangeHandler handler, @Nullable DataSegmentChangeCallback callback)
{
// just execute the callback and do nothing else
- callback.execute();
+ if (callback != null) {
+ callback.execute();
+ }
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org