diff --git a/fdb-extensions/src/main/java/com/apple/foundationdb/async/rtree/RTreeHilbertCurveHelpers.java b/fdb-extensions/src/main/java/com/apple/foundationdb/async/rtree/RTreeHilbertCurveHelpers.java index 66da6b73ca..887f205336 100644 --- a/fdb-extensions/src/main/java/com/apple/foundationdb/async/rtree/RTreeHilbertCurveHelpers.java +++ b/fdb-extensions/src/main/java/com/apple/foundationdb/async/rtree/RTreeHilbertCurveHelpers.java @@ -69,7 +69,7 @@ private static BigInteger toIndex(int numBits, long... transposedIndexes) { for (int i = 0; i < numBits; i++) { for (final long transposedIndex : transposedIndexes) { if ((transposedIndex & mask) != 0) { - b[b.length - 1 - bIndex / 8] |= 1 << (bIndex % 8); + b[b.length - 1 - bIndex / 8] |= (byte)(1 << (bIndex % 8)); } bIndex--; } diff --git a/fdb-extensions/src/main/java/com/apple/foundationdb/util/LoggableKeysAndValuesImpl.java b/fdb-extensions/src/main/java/com/apple/foundationdb/util/LoggableKeysAndValuesImpl.java index 1f4aa47468..81ca475955 100644 --- a/fdb-extensions/src/main/java/com/apple/foundationdb/util/LoggableKeysAndValuesImpl.java +++ b/fdb-extensions/src/main/java/com/apple/foundationdb/util/LoggableKeysAndValuesImpl.java @@ -75,7 +75,7 @@ public Map getLogInfo() { */ @Nonnull @Override - public LoggableKeysAndValuesImpl addLogInfo(@Nonnull String description, Object object) { + public final LoggableKeysAndValuesImpl addLogInfo(@Nonnull String description, Object object) { if (logInfo == null) { logInfo = new HashMap<>(); } @@ -98,7 +98,7 @@ public LoggableKeysAndValuesImpl addLogInfo(@Nonnull String description, Object */ @Nonnull @Override - public LoggableKeysAndValuesImpl addLogInfo(@Nonnull Object ... keyValue) { + public final LoggableKeysAndValuesImpl addLogInfo(@Nonnull Object ... keyValue) { if ((keyValue.length % 2) != 0) { throw new IllegalArgumentException("Unbalanced key/value logging info"); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/LoggableTimeoutException.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/LoggableTimeoutException.java index f7e45dfadd..88730450d4 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/LoggableTimeoutException.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/LoggableTimeoutException.java @@ -51,6 +51,7 @@ public class LoggableTimeoutException extends TimeoutException implements Loggab * * @see #addLogInfo(Object...) */ + @SuppressWarnings("this-escape") public LoggableTimeoutException(@Nonnull Throwable cause, @Nullable Object... keyValues) { super(); super.initCause(cause); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/RecordCursorResult.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/RecordCursorResult.java index 38fdb56254..bb6a93d7c6 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/RecordCursorResult.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/RecordCursorResult.java @@ -295,6 +295,7 @@ public static RecordCursorResult exhausted() { public static class IllegalResultValueAccessException extends RecordCoreException { private static final long serialVersionUID = 1; + @SuppressWarnings("this-escape") public IllegalResultValueAccessException(@Nonnull RecordCursorContinuation continuation, @Nonnull RecordCursor.NoNextReason noNextReason) { super("Tried to call get() on a RecordCoreResult that did not have a next value."); addLogInfo("continuation", continuation); @@ -308,6 +309,7 @@ public IllegalResultValueAccessException(@Nonnull RecordCursorContinuation conti public static class IllegalResultNoNextReasonAccessException extends RecordCoreException { private static final long serialVersionUID = 1; + @SuppressWarnings("this-escape") public IllegalResultNoNextReasonAccessException(@Nullable Object value, @Nonnull RecordCursorContinuation continuation) { super("Tried to call noNextReason() on a RecordCoreResult that had a next value."); addLogInfo("value", value); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/cursors/OrElseCursor.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/cursors/OrElseCursor.java index 510b247542..8ce2414307 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/cursors/OrElseCursor.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/cursors/OrElseCursor.java @@ -154,7 +154,7 @@ public boolean isClosed() { @Nonnull @Override - public Executor getExecutor() { + public final Executor getExecutor() { return inner.getExecutor(); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/Index.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/Index.java index 0a689d7c20..9358672caa 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/Index.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/Index.java @@ -409,7 +409,7 @@ public Object getSubspaceTupleKey() { * @param subspaceKey the key used to determine this index's subspace prefix * @see #getSubspaceKey() */ - public void setSubspaceKey(@Nonnull Object subspaceKey) { + public final void setSubspaceKey(@Nonnull Object subspaceKey) { useExplicitSubspaceKey = true; this.subspaceKey = normalizeSubspaceKey(name, subspaceKey); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/JoinedRecordTypeBuilder.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/JoinedRecordTypeBuilder.java index 83d9a27035..052a8fd85c 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/JoinedRecordTypeBuilder.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/JoinedRecordTypeBuilder.java @@ -56,7 +56,7 @@ public JoinConstituent(@Nonnull String name, @Nonnull RecordTypeBuilder recordTy this.outerJoined = outerJoined; } - public boolean isOuterJoined() { + public final boolean isOuterJoined() { return outerJoined; } @@ -116,6 +116,7 @@ public JoinedRecordTypeBuilder(@Nonnull String name, @Nonnull Object recordTypeK super(name, recordTypeKey, metaDataBuilder); } + @SuppressWarnings("this-escape") public JoinedRecordTypeBuilder(@Nonnull RecordMetaDataProto.JoinedRecordType typeProto, @Nonnull RecordMetaDataBuilder metaDataBuilder) { super(typeProto.getName(), LiteralKeyExpression.fromProtoValue(typeProto.getRecordTypeKey()), metaDataBuilder); for (RecordMetaDataProto.JoinedRecordType.JoinConstituent joinConstituent : typeProto.getJoinConstituentsList()) { @@ -140,7 +141,7 @@ protected JoinConstituent newConstituent(@Nonnull String name, @Nonnull RecordTy * @return the newly added constituent */ @Nonnull - public JoinConstituent addConstituent(@Nonnull String name, @Nonnull RecordTypeBuilder recordType, boolean isOuterJoined) { + public final JoinConstituent addConstituent(@Nonnull String name, @Nonnull RecordTypeBuilder recordType, boolean isOuterJoined) { return addConstituent(new JoinConstituent(name, recordType, isOuterJoined)); } @@ -162,7 +163,7 @@ public List getJoins() { * @return the newly added join */ @Nonnull - public Join addJoin(@Nonnull String left, @Nonnull KeyExpression leftExpression, @Nonnull String right, @Nonnull KeyExpression rightExpression) { + public final Join addJoin(@Nonnull String left, @Nonnull KeyExpression leftExpression, @Nonnull String right, @Nonnull KeyExpression rightExpression) { if (leftExpression.getColumnSize() != rightExpression.getColumnSize()) { throw new RecordCoreArgumentException("Two sides of join are not the same size and will never match") .addLogInfo("left", leftExpression, "right", rightExpression); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/RecordTypeIndexesBuilder.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/RecordTypeIndexesBuilder.java index b95f28a0ae..f7e5c5251d 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/RecordTypeIndexesBuilder.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/RecordTypeIndexesBuilder.java @@ -60,12 +60,12 @@ protected RecordTypeIndexesBuilder(@Nonnull String name, @Nonnull RecordTypeInde } @Nonnull - public String getName() { + public final String getName() { return name; } @Nonnull - public List getIndexes() { + public final List getIndexes() { return indexes; } @@ -74,12 +74,12 @@ public List getIndexes() { * @return a list of all indexes that include this record type along with other types. */ @Nonnull - public List getMultiTypeIndexes() { + public final List getMultiTypeIndexes() { return multiTypeIndexes; } @Nullable - public Object getRecordTypeKey() { + public final Object getRecordTypeKey() { return recordTypeKey; } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/SyntheticRecordTypeBuilder.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/SyntheticRecordTypeBuilder.java index 3d0f52612d..570255691b 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/SyntheticRecordTypeBuilder.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/SyntheticRecordTypeBuilder.java @@ -103,7 +103,7 @@ public List getConstituents() { * @return the newly added constituent */ @Nonnull - protected C addConstituent(@Nonnull C constituent) { + protected final C addConstituent(@Nonnull C constituent) { constituents.add(constituent); return constituent; } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/UnnestedRecordTypeBuilder.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/UnnestedRecordTypeBuilder.java index 50078e657c..99358a3563 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/UnnestedRecordTypeBuilder.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/UnnestedRecordTypeBuilder.java @@ -130,6 +130,7 @@ public UnnestedRecordTypeBuilder(@Nonnull final String name, @Nonnull Object rec } @API(API.Status.INTERNAL) + @SuppressWarnings("this-escape") public UnnestedRecordTypeBuilder(@Nonnull RecordMetaDataProto.UnnestedRecordType typeProto, @Nonnull final RecordMetaDataBuilder metaDataBuilder) { super(typeProto.getName(), LiteralKeyExpression.fromProtoValue(typeProto.getRecordTypeKey()), metaDataBuilder); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/expressions/BaseKeyExpression.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/expressions/BaseKeyExpression.java index 50921990aa..fe643cb2b9 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/expressions/BaseKeyExpression.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/metadata/expressions/BaseKeyExpression.java @@ -149,6 +149,7 @@ public UnsplittableKeyExpressionException(@Nonnull BaseKeyExpression keyExpressi public static class IllegalSubKeyException extends RecordCoreException { public static final long serialVersionUID = 1L; + @SuppressWarnings("this-escape") public IllegalSubKeyException(int start, int end, int columnSize) { super("requested subkey is invalid"); addLogInfo(LogMessageKeys.REQUESTED_START, start); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordContext.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordContext.java index f7bb77a51f..b157cff4ca 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordContext.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordContext.java @@ -171,7 +171,7 @@ public class FDBRecordContext extends FDBTransactionContext implements AutoClose @Nullable private List notCommittedConflictingKeys = null; @Nonnull - private final LockRegistry lockRegistry = new LockRegistry(this.getTimer()); + private final LockRegistry lockRegistry; @Nonnull private final TempTable.Factory tempTableFactory = TempTable.Factory.instance(); @@ -181,6 +181,7 @@ protected FDBRecordContext(@Nonnull FDBDatabase fdb, @Nonnull FDBRecordContextConfig config, @Nullable FDBStoreTimer delayedTimer) { super(fdb, transaction, config.getTimer(), delayedTimer); + lockRegistry = new LockRegistry(timer); this.transactionCreateTime = System.currentTimeMillis(); this.localVersion = new AtomicInteger(0); this.localVersionCache = new ConcurrentSkipListMap<>(ByteArrayUtil::compareUnsigned); @@ -532,7 +533,7 @@ private CompletableFuture delayedCommit() { @Override @Nonnull - public Transaction ensureActive() { + public final Transaction ensureActive() { if (transaction == null) { throw new RecordCoreStorageException("Transaction is no longer active."); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStore.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStore.java index 077d1b674b..431f550116 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStore.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStore.java @@ -5202,7 +5202,7 @@ protected Builder(FDBRecordStore store) { * Copy state from another store builder. * @param other the record store builder whose state to take */ - public void copyFrom(@Nonnull Builder other) { + public final void copyFrom(@Nonnull Builder other) { this.serializer = other.serializer; this.formatVersion = other.formatVersion; this.metaDataProvider = other.metaDataProvider; @@ -5222,7 +5222,7 @@ public void copyFrom(@Nonnull Builder other) { * Copy state from a record store. * @param store the record store whose state to take */ - public void copyFrom(@Nonnull FDBRecordStore store) { + public final void copyFrom(@Nonnull FDBRecordStore store) { this.serializer = store.serializer; this.formatVersion = store.formatVersion; this.metaDataProvider = store.metaDataProvider; diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBTransactionContext.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBTransactionContext.java index bf3c65c0d1..568065e3d4 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBTransactionContext.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/FDBTransactionContext.java @@ -125,7 +125,7 @@ public boolean isAPIVersionAtLeast(@Nonnull APIVersion apiVersion) { } @Nullable - public FDBStoreTimer getTimer() { + public final FDBStoreTimer getTimer() { return timer; } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/IndexingBase.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/IndexingBase.java index 4371c1d230..7eabaff905 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/IndexingBase.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/IndexingBase.java @@ -1041,7 +1041,7 @@ public CompletableFuture rebuildIndexAsync(@Nonnull FDBRecordStore store) abstract CompletableFuture rebuildIndexInternalAsync(FDBRecordStore store); - protected void validateOrThrowEx(boolean isValid, @Nonnull String msg) { + protected final void validateOrThrowEx(boolean isValid, @Nonnull String msg) { if (!isValid) { throw new ValidationException(msg, LogMessageKeys.INDEX_NAME, common.getTargetIndexesNames(), diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/IndexingMutuallyByRecords.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/IndexingMutuallyByRecords.java index e1dac1a4e2..e3171db7fc 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/IndexingMutuallyByRecords.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/IndexingMutuallyByRecords.java @@ -110,6 +110,7 @@ enum FragmentIterationType { RECOVER // 3rd iteration: presently throws an error, letting the caller handle recovery.. } + @SuppressWarnings("this-escape") public IndexingMutuallyByRecords(@Nonnull final IndexingCommon common, @Nonnull final OnlineIndexer.IndexingPolicy policy, @Nullable List fragmentBoundaries) { super(common, policy); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/InstrumentedTransaction.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/InstrumentedTransaction.java index 256fdb008d..00effdee8e 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/InstrumentedTransaction.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/InstrumentedTransaction.java @@ -53,6 +53,7 @@ public class InstrumentedTransaction extends InstrumentedReadTransaction { ScrubbingPolicy scrubbingPolicy = null; ScrubbingPolicy.Builder scrubbingPolicyBuilder = null; + @SuppressWarnings("this-escape") protected Builder() { setLimit(2000); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/OnlineIndexer.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/OnlineIndexer.java index 9976bd1930..b96d3746f5 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/OnlineIndexer.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/OnlineIndexer.java @@ -319,7 +319,7 @@ private IndexingBase getIndexer() { * that contains no keys which have yet been processed by the {@link OnlineIndexer} * during an index build. */ - @SuppressWarnings("serial") + @SuppressWarnings({"serial", "this-escape"}) public static class RecordBuiltRangeException extends RecordCoreException { public RecordBuiltRangeException(@Nullable Tuple start, @Nullable Tuple end) { super("Range specified as unbuilt contained subranges that had already been built"); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/SplitHelper.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/SplitHelper.java index 82c473fe28..f3e3d3ce9c 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/SplitHelper.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/SplitHelper.java @@ -1176,7 +1176,7 @@ private void logKey(@Nonnull String staticMessage, boolean done) { /** * Exception thrown when only part of a split record is found. */ - @SuppressWarnings("serial") + @SuppressWarnings({"serial", "this-escape"}) public static class FoundSplitWithoutStartException extends RecordCoreException { public FoundSplitWithoutStartException(long nextIndex, boolean reverse) { super("Found split record without start"); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/indexes/BitmapValueIndexMaintainer.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/indexes/BitmapValueIndexMaintainer.java index ad51d8084c..7ba8219feb 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/indexes/BitmapValueIndexMaintainer.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/indexes/BitmapValueIndexMaintainer.java @@ -210,7 +210,7 @@ protected CompletableFuture updateIndexKeys(@Nonnull f // Otherwise the entry must already exist for us to be removing it, // so there is no danger that this will store all (but one) ones in a new key. Arrays.fill(bitmap, (byte)0xFF); - bitmap[offset / 8] &= ~(byte)(1 << (offset % 8)); + bitmap[offset / 8] &= (byte)~(byte)(1 << (offset % 8)); state.transaction.mutate(MutationType.BIT_AND, key, bitmap); Arrays.fill(bitmap, (byte)0x00); state.transaction.mutate(MutationType.COMPARE_AND_CLEAR, key, bitmap); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/keyspace/KeySpaceDirectory.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/keyspace/KeySpaceDirectory.java index a92b366b4c..fc9418c505 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/keyspace/KeySpaceDirectory.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/keyspace/KeySpaceDirectory.java @@ -108,7 +108,7 @@ public class KeySpaceDirectory { * @throws RecordCoreArgumentException if the provided value constant value is not valid for the * type of directory being created */ - @SuppressWarnings("PMD.CompareObjectsWithEquals") + @SuppressWarnings({"PMD.CompareObjectsWithEquals", "this-escape"}) public KeySpaceDirectory(@Nonnull String name, @Nonnull KeyType keyType, @Nullable Object value, @Nullable Function wrapper) { diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/keyspace/NoSuchDirectoryException.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/keyspace/NoSuchDirectoryException.java index 1a8e9e375a..110212fb8e 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/keyspace/NoSuchDirectoryException.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/keyspace/NoSuchDirectoryException.java @@ -33,6 +33,7 @@ public class NoSuchDirectoryException extends RecordCoreException { private static final long serialVersionUID = 1L; + @SuppressWarnings("this-escape") public NoSuchDirectoryException(@Nonnull KeySpaceDirectory rootDirectory, @Nonnull String subdir) { super("No such directory"); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/leaderboard/TimeWindowLeaderboardDirectory.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/leaderboard/TimeWindowLeaderboardDirectory.java index b01d6dd384..b3a5e6bb32 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/leaderboard/TimeWindowLeaderboardDirectory.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/provider/foundationdb/leaderboard/TimeWindowLeaderboardDirectory.java @@ -47,6 +47,7 @@ public TimeWindowLeaderboardDirectory(boolean highScoreFirst) { this.highScoreFirst = highScoreFirst; } + @SuppressWarnings("this-escape") protected TimeWindowLeaderboardDirectory(TimeWindowLeaderboardProto.TimeWindowLeaderboardDirectory proto) { highScoreFirst = proto.getHighScoreFirst(); updateTimestamp = proto.getUpdateTimestamp(); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/BoundRecordQuery.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/BoundRecordQuery.java index abe5fdea0a..317434c403 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/BoundRecordQuery.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/BoundRecordQuery.java @@ -91,7 +91,7 @@ public RecordQuery getRecordQuery() { return recordQuery; } - public Set getParameters() { + public final Set getParameters() { return parametersSupplier.get(); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/expressions/Comparisons.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/expressions/Comparisons.java index 6b30c1f32b..71baaa4223 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/expressions/Comparisons.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/expressions/Comparisons.java @@ -1345,7 +1345,7 @@ public ExplainTokensWithPrecedence explain() { @Nonnull @Override - public String getParameter() { + public final String getParameter() { return parameter; } @@ -1369,7 +1369,7 @@ public int hashCode() { return hashCodeSupplier.get(); } - public int computeHashCode() { + public final int computeHashCode() { return Objects.hash(type, relatedByEquality()); } @@ -1678,7 +1678,7 @@ public int hashCode() { return hashCodeSupplier.get(); } - public int computeHashCode() { + public final int computeHashCode() { return Objects.hash(type.name(), relatedByEquality()); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/RecordQueryPlanComplexityException.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/RecordQueryPlanComplexityException.java index dd93bb6d89..8e8d701320 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/RecordQueryPlanComplexityException.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/RecordQueryPlanComplexityException.java @@ -39,6 +39,7 @@ public RecordQueryPlanComplexityException(@Nonnull String msg) { super(msg); } + @SuppressWarnings("this-escape") public RecordQueryPlanComplexityException(RecordQueryPlan plan) { this("Plan exceeds complexity threshold"); addLogInfo(LogMessageKeys.PLAN, ExplainPlanVisitor.toStringForExternalExplain(plan, ExplainLevel.ALL_DETAILS, 1_000)); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/ExpressionPropertiesMap.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/ExpressionPropertiesMap.java index 7af64dbd8e..5c60691767 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/ExpressionPropertiesMap.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/ExpressionPropertiesMap.java @@ -156,7 +156,7 @@ protected void update() { * consumed upon read to lazily compute the properties of the plan passed in. * @param expression new expression to be added */ - public void add(@Nonnull final RelationalExpression expression) { + public final void add(@Nonnull final RelationalExpression expression) { toBeInsertedExpressions.add(narrow(expression)); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/Ordering.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/Ordering.java index 1888a9d184..1f2729609f 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/Ordering.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/Ordering.java @@ -211,7 +211,7 @@ protected Ordering(@Nonnull final SetMultimap bindingMap, } @Nonnull - public SetMultimap getBindingMap() { + public final SetMultimap getBindingMap() { return bindingMap; } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/OrderingPart.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/OrderingPart.java index a46782fa4a..7fcd3152d2 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/OrderingPart.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/OrderingPart.java @@ -60,12 +60,12 @@ protected OrderingPart(@Nonnull final Value value, @Nonnull final S sortOrder) { } @Nonnull - public Value getValue() { + public final Value getValue() { return value; } @Nonnull - public S getSortOrder() { + public final S getSortOrder() { return sortOrder; } @@ -95,7 +95,7 @@ public int hashCode() { return hashCodeSupplier.get(); } - public int computeHashCode() { + public final int computeHashCode() { return Objects.hash(getValue(), getSortOrder().name()); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/PartialMatch.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/PartialMatch.java index 2db5e40432..635c5cfeb5 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/PartialMatch.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/PartialMatch.java @@ -117,6 +117,7 @@ public class PartialMatch { @Nonnull private final Map> memoizedPulledUpPredicateMap; + @SuppressWarnings("this-escape") public PartialMatch(@Nonnull final AliasMap boundAliasMap, @Nonnull final MatchCandidate matchCandidate, @Nonnull final Reference queryRef, @@ -144,7 +145,7 @@ public AliasMap getBoundAliasMap() { } @Nonnull - public MatchCandidate getMatchCandidate() { + public final MatchCandidate getMatchCandidate() { return matchCandidate; } @@ -164,7 +165,7 @@ public Reference getCandidateRef() { } @Nonnull - public MatchInfo getMatchInfo() { + public final MatchInfo getMatchInfo() { return matchInfo; } @@ -178,7 +179,7 @@ public int getNumBoundParameterPrefix() { } @Nonnull - public Map getBoundParameterPrefixMap() { + public final Map getBoundParameterPrefixMap() { return boundParameterPrefixMapSupplier.get(); } @@ -286,7 +287,7 @@ private Set computeCompensatedAliases() { } @Nonnull - public PredicateMap getAccumulatedPredicateMap() { + public final PredicateMap getAccumulatedPredicateMap() { return accumulatedPredicateMapSupplier.get(); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/Quantifier.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/Quantifier.java index 14c6183404..754d0a9ea6 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/Quantifier.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/Quantifier.java @@ -582,6 +582,7 @@ public static Physical physical(@Nonnull final Reference reference, .build(reference); } + @SuppressWarnings("this-escape") protected Quantifier(@Nonnull final CorrelationIdentifier alias) { this.alias = alias; this.correlatedToSupplier = Suppliers.memoize(() -> getRangesOver().getCorrelatedTo()); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/ValueEquivalence.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/ValueEquivalence.java index 5ca203375d..d21043ba4b 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/ValueEquivalence.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/ValueEquivalence.java @@ -70,6 +70,7 @@ public abstract class ValueEquivalence { @Nonnull private final Supplier> inverseOptionalSupplier; + @SuppressWarnings("this-escape") protected ValueEquivalence() { this.inverseOptionalSupplier = Suppliers.memoize(this::computeInverseMaybe); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/explain/AbstractPlannerGraph.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/explain/AbstractPlannerGraph.java index 9f62dbbdbc..4ff5ef0bc8 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/explain/AbstractPlannerGraph.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/explain/AbstractPlannerGraph.java @@ -109,7 +109,7 @@ public MutableNetwork getNetwork() { } @Nonnull - public PlannerGraphBuilder addNode(@Nonnull final N node) { + public final PlannerGraphBuilder addNode(@Nonnull final N node) { network.addNode(node); return this; } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/expressions/SelectExpression.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/expressions/SelectExpression.java index 41e953d685..88347502b3 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/expressions/SelectExpression.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/expressions/SelectExpression.java @@ -107,6 +107,7 @@ public class SelectExpression implements RelationalExpressionWithChildren.Childr @Nonnull private final Supplier>> independentQuantifiersPartitioningSupplier; + @SuppressWarnings("this-escape") public SelectExpression(@Nonnull Value resultValue, @Nonnull List children, @Nonnull List predicates) { @@ -124,7 +125,7 @@ public SelectExpression(@Nonnull Value resultValue, @Nonnull @Override - public Value getResultValue() { + public final Value getResultValue() { return resultValue; } @@ -135,7 +136,7 @@ public List getResultValues() { @Nonnull @Override - public List getPredicates() { + public final List getPredicates() { return predicates; } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/expressions/UpdateExpression.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/expressions/UpdateExpression.java index ae303c3d93..f9ab2e46af 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/expressions/UpdateExpression.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/expressions/UpdateExpression.java @@ -187,7 +187,7 @@ public int hashCodeWithoutChildren() { return hashCodeWithoutChildrenSupplier.get(); } - public int computeHashCodeWithoutChildren() { + public final int computeHashCodeWithoutChildren() { return Objects.hash(targetRecordType, targetType, transformMap); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/predicates/AbstractQueryPredicate.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/predicates/AbstractQueryPredicate.java index edeabb0ff3..71e56f54ff 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/predicates/AbstractQueryPredicate.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/predicates/AbstractQueryPredicate.java @@ -55,6 +55,7 @@ protected AbstractQueryPredicate(@Nonnull final PlanSerializationContext seriali PAbstractQueryPredicate::hasIsAtomic, PAbstractQueryPredicate::getIsAtomic)); } + @SuppressWarnings("this-escape") protected AbstractQueryPredicate(final boolean isAtomic) { this.isAtomic = isAtomic; this.correlatedToSupplier = Suppliers.memoize(this::computeCorrelatedTo); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/predicates/AndOrPredicate.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/predicates/AndOrPredicate.java index f23612d633..6734739693 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/predicates/AndOrPredicate.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/predicates/AndOrPredicate.java @@ -71,7 +71,7 @@ protected AndOrPredicate(@Nonnull final List children, @Nonnull @Override - public List getChildren() { + public final List getChildren() { return children; } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/typing/Type.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/typing/Type.java index de0a3919e4..5c84c0ca64 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/typing/Type.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/typing/Type.java @@ -1277,7 +1277,7 @@ private int computeHashCode() { * {@inheritDoc} */ @Override - public TypeCode getTypeCode() { + public final TypeCode getTypeCode() { return TypeCode.ANY; } @@ -1285,7 +1285,7 @@ public TypeCode getTypeCode() { * {@inheritDoc} */ @Override - public boolean isNullable() { + public final boolean isNullable() { return true; } @@ -1409,7 +1409,7 @@ private int computeHashCode() { * {@inheritDoc} */ @Override - public TypeCode getTypeCode() { + public final TypeCode getTypeCode() { return TypeCode.RECORD; } @@ -1417,7 +1417,7 @@ public TypeCode getTypeCode() { * {@inheritDoc} */ @Override - public boolean isNullable() { + public final boolean isNullable() { return isNullable; } @@ -1883,7 +1883,7 @@ protected Record(@Nullable final String name, final boolean isNullable, @Nullabl * {@inheritDoc} */ @Override - public TypeCode getTypeCode() { + public final TypeCode getTypeCode() { return TypeCode.RECORD; } @@ -1891,7 +1891,7 @@ public TypeCode getTypeCode() { * {@inheritDoc} */ @Override - public boolean isNullable() { + public final boolean isNullable() { return isNullable; } @@ -2374,7 +2374,7 @@ protected Field(@Nonnull final Type fieldType, @Nonnull final Optional f * @return The field {@link Type}. */ @Nonnull - public Type getFieldType() { + public final Type getFieldType() { return fieldType; } @@ -2383,7 +2383,7 @@ public Type getFieldType() { * @return The field name. */ @Nonnull - public Optional getFieldNameOptional() { + public final Optional getFieldNameOptional() { return fieldNameOptional; } @@ -2401,7 +2401,7 @@ public String getFieldName() { * @return The field index. */ @Nonnull - public Optional getFieldIndexOptional() { + public final Optional getFieldIndexOptional() { return fieldIndexOptional; } @@ -2570,7 +2570,7 @@ public Relation(@Nullable final Type innerType) { * {@inheritDoc} */ @Override - public TypeCode getTypeCode() { + public final TypeCode getTypeCode() { return TypeCode.RELATION; } @@ -2586,7 +2586,7 @@ public Class getJavaClass() { * {@inheritDoc} */ @Override - public boolean isNullable() { + public final boolean isNullable() { return false; } @@ -2764,7 +2764,7 @@ public Array(final boolean isNullable, @Nullable final Type elementType) { * {@inheritDoc} */ @Override - public TypeCode getTypeCode() { + public final TypeCode getTypeCode() { return TypeCode.ARRAY; } @@ -2780,7 +2780,7 @@ public Class getJavaClass() { * {@inheritDoc} */ @Override - public boolean isNullable() { + public final boolean isNullable() { return isNullable; } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/values/AbstractValue.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/values/AbstractValue.java index ffcb67de20..da4d0f952c 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/values/AbstractValue.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/cascades/values/AbstractValue.java @@ -49,6 +49,7 @@ public abstract class AbstractValue implements Value { @Nonnull private final Supplier> childrenSupplier; + @SuppressWarnings("this-escape") protected AbstractValue() { this.correlatedToSupplier = Suppliers.memoize(this::computeCorrelatedTo); this.semanticHashCodeSupplier = Suppliers.memoize(this::computeSemanticHashCode); diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/explain/DefaultExplainFormatter.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/explain/DefaultExplainFormatter.java index 266786e873..53e5fb3859 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/explain/DefaultExplainFormatter.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/explain/DefaultExplainFormatter.java @@ -53,7 +53,7 @@ public void registerAlias(@Nonnull final CorrelationIdentifier alias) { } @Override - public void registerAliasExplicitly(@Nonnull final CorrelationIdentifier alias, @Nonnull final String symbol) { + public final void registerAliasExplicitly(@Nonnull final CorrelationIdentifier alias, @Nonnull final String symbol) { Objects.requireNonNull(scopes.peek()).registerAliasWithExplicitSymbol(alias, symbol); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/InValuesSource.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/InValuesSource.java index 61ce6293bb..86254ad100 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/InValuesSource.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/InValuesSource.java @@ -80,7 +80,7 @@ public InValuesSource(@Nonnull String bindingName, @Nonnull final List v @Nonnull @Override - public List getValues() { + public final List getValues() { return values; } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryAbstractDataModificationPlan.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryAbstractDataModificationPlan.java index cfe4b61254..fd8b095b2f 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryAbstractDataModificationPlan.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryAbstractDataModificationPlan.java @@ -257,7 +257,7 @@ public Set getCorrelatedToWithoutChildren() { } @Nonnull - public Set computeCorrelatedToWithoutChildren() { + public final Set computeCorrelatedToWithoutChildren() { final var resultValueCorrelatedTo = Sets.filter(computationValue.getCorrelatedTo(), alias -> !alias.equals(getCurrentModifiedRecordAlias())); @@ -347,7 +347,7 @@ private int computePlanHashForContinuation() { } @Nonnull - public RecordQueryPlan getInnerPlan() { + public final RecordQueryPlan getInnerPlan() { return getInner().getRangesOverPlan(); } @@ -396,12 +396,12 @@ public static CorrelationIdentifier currentModifiedRecordAlias() { } @Nonnull - Quantifier.Physical getInner() { + final Quantifier.Physical getInner() { return inner; } @Nonnull - CorrelationIdentifier getCurrentModifiedRecordAlias() { + final CorrelationIdentifier getCurrentModifiedRecordAlias() { return currentModifiedRecordAlias; } } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryChooserPlanBase.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryChooserPlanBase.java index 7381f8ee85..56aa49a5cd 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryChooserPlanBase.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryChooserPlanBase.java @@ -88,7 +88,7 @@ public Value getResultValue() { } @Nonnull - protected Stream getChildStream() { + protected final Stream getChildStream() { return quantifiers.stream().map(Quantifier.Physical::getRangesOverPlan); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryFetchFromPartialRecordPlan.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryFetchFromPartialRecordPlan.java index c723fc0aaf..aa634bb176 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryFetchFromPartialRecordPlan.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryFetchFromPartialRecordPlan.java @@ -204,7 +204,7 @@ public Value getResultValue() { } @Nonnull - public Value computeResultValue() { + public final Value computeResultValue() { return new DerivedValue(ImmutableList.of(QuantifiedObjectValue.of(inner.getAlias(), resultType)), resultType); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryFlatMapPlan.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryFlatMapPlan.java index 0fe9775953..eb6b3b6257 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryFlatMapPlan.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryFlatMapPlan.java @@ -194,7 +194,7 @@ public RecordQueryFlatMapPlan strictlySorted(@Nonnull Memoizer memoizer) { @Nonnull @Override - public Value getResultValue() { + public final Value getResultValue() { return resultValue; } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryIndexPlan.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryIndexPlan.java index 6e43ea876b..a5bb0646d7 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryIndexPlan.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryIndexPlan.java @@ -385,7 +385,7 @@ public KeyExpression getCommonPrimaryKey() { @Nonnull @Override - public IndexScanType getScanType() { + public final IndexScanType getScanType() { return scanParameters.getScanType(); } @@ -535,7 +535,7 @@ public int hashCodeWithoutChildren() { } @Override - public int planHash(@Nonnull final PlanHashMode mode) { + public final int planHash(@Nonnull final PlanHashMode mode) { switch (mode.getKind()) { case LEGACY: return indexName.hashCode() + scanParameters.planHash(mode) + (reverse ? 1 : 0); @@ -572,7 +572,7 @@ public boolean hasScanComparisons() { @Nonnull @Override - public ScanComparisons getScanComparisons() { + public final ScanComparisons getScanComparisons() { if (scanParameters instanceof IndexScanComparisons) { return ((IndexScanComparisons)scanParameters).getComparisons(); } else { diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryMapPlan.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryMapPlan.java index 555bc6b89c..3d461f824d 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryMapPlan.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryMapPlan.java @@ -150,7 +150,7 @@ public RecordQueryMapPlan strictlySorted(@Nonnull Memoizer memoizer) { @Nonnull @Override - public Value getResultValue() { + public final Value getResultValue() { return resultValue; } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryRecursiveUnionPlan.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryRecursiveUnionPlan.java index 3754207332..ca269480be 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryRecursiveUnionPlan.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/query/plan/plans/RecordQueryRecursiveUnionPlan.java @@ -178,7 +178,7 @@ private Descriptors.Descriptor getInnerTypeDescriptor(@Nonnull final EvaluationC @Nonnull @Override - public List getChildren() { + public final List getChildren() { return computeChildren.get(); } diff --git a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/util/TrieNode.java b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/util/TrieNode.java index 6a23b30b30..a02bd57900 100644 --- a/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/util/TrieNode.java +++ b/fdb-record-layer-core/src/main/java/com/apple/foundationdb/record/util/TrieNode.java @@ -74,6 +74,7 @@ abstract class AbstractTrieNode> imple @Nonnull private final Supplier heightSupplier; + @SuppressWarnings("this-escape") public AbstractTrieNode(@Nullable final T value, @Nullable final Map childrenMap) { this.value = value; this.childrenMap = childrenMap == null ? null : ImmutableMap.copyOf(childrenMap); diff --git a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/AlphanumericLengthFilterFactory.java b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/AlphanumericLengthFilterFactory.java index c52118989c..71646af680 100644 --- a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/AlphanumericLengthFilterFactory.java +++ b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/AlphanumericLengthFilterFactory.java @@ -36,6 +36,7 @@ public class AlphanumericLengthFilterFactory extends TokenFilterFactory { public static final String MIN_KEY = "min"; public static final String MAX_KEY = "max"; + @SuppressWarnings("this-escape") public AlphanumericLengthFilterFactory(Map args) { super(args); min = requireInt(args, MIN_KEY); diff --git a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/LuceneConcurrency.java b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/LuceneConcurrency.java index 35de0b7cb5..f9e877f44f 100644 --- a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/LuceneConcurrency.java +++ b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/LuceneConcurrency.java @@ -126,6 +126,7 @@ public AsyncToSyncTimeoutException(final String message, final Throwable cause) super(message, cause); } + @SuppressWarnings("this-escape") public AsyncToSyncTimeoutException(final String message, final Throwable cause, final Object... keyValues) { super(message, cause); addLogInfo(keyValues); diff --git a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/LuceneIndexMaintainer.java b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/LuceneIndexMaintainer.java index 771e91e51f..3c942e0560 100644 --- a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/LuceneIndexMaintainer.java +++ b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/LuceneIndexMaintainer.java @@ -124,6 +124,7 @@ public class LuceneIndexMaintainer extends StandardIndexMaintainer { @Nonnull private final LucenePartitioner partitioner; + @SuppressWarnings("this-escape") public LuceneIndexMaintainer(@Nonnull final IndexMaintainerState state, @Nonnull Executor executor) { super(state); this.executor = executor; @@ -720,8 +721,9 @@ protected FDBDirectory getDirectory(@Nonnull Tuple groupingKey, @Nullable Intege return directoryManager.getDirectory(groupingKey, partitionId); } + @Nonnull @VisibleForTesting - public FDBDirectoryManager getDirectoryManager() { + public final FDBDirectoryManager getDirectoryManager() { return directoryManager; } diff --git a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/RegistrySynonymGraphFilterFactory.java b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/RegistrySynonymGraphFilterFactory.java index 46821b5390..60cd25551f 100644 --- a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/RegistrySynonymGraphFilterFactory.java +++ b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/RegistrySynonymGraphFilterFactory.java @@ -38,6 +38,7 @@ public class RegistrySynonymGraphFilterFactory extends TokenFilterFactory { private final boolean ignoreCase; + @SuppressWarnings("this-escape") public RegistrySynonymGraphFilterFactory(final Map args) { super(args); String synonymName = get(args, "synonyms"); diff --git a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/directory/AgilityContext.java b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/directory/AgilityContext.java index 573f5048a8..8b1baf1abb 100644 --- a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/directory/AgilityContext.java +++ b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/directory/AgilityContext.java @@ -213,6 +213,7 @@ class Agile implements AgilityContext { private Function> commitCheck; private Throwable lastException = null; + @SuppressWarnings("this-escape") protected Agile(FDBRecordContext callerContext, @Nullable FDBRecordContextConfig.Builder contextBuilder, final long timeQuotaMillis, final long sizeQuotaBytes) { this.callerContext = callerContext; contextConfigBuilder = contextBuilder != null ? contextBuilder : callerContext.getConfig().toBuilder(); diff --git a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/directory/FDBDirectory.java b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/directory/FDBDirectory.java index a3e8813169..e0a94b4b7a 100644 --- a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/directory/FDBDirectory.java +++ b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/directory/FDBDirectory.java @@ -185,10 +185,12 @@ public class FDBDirectory extends Directory { private LucenePrimaryKeySegmentIndex primaryKeySegmentIndex; @VisibleForTesting + @SuppressWarnings("this-escape") public FDBDirectory(@Nonnull Subspace subspace, @Nonnull FDBRecordContext context, @Nullable Map indexOptions) { this(subspace, indexOptions, null, null, true, AgilityContext.nonAgile(context)); } + @SuppressWarnings("this-escape") public FDBDirectory(@Nonnull Subspace subspace, @Nullable Map indexOptions, @Nullable FDBDirectorySharedCacheManager sharedCacheManager, @Nullable Tuple sharedCacheKey, boolean deferDeleteToCompoundFile, AgilityContext agilityContext) { @@ -196,6 +198,7 @@ public FDBDirectory(@Nonnull Subspace subspace, @Nullable Map in DEFAULT_BLOCK_SIZE, DEFAULT_INITIAL_CAPACITY, DEFAULT_BLOCK_CACHE_MAXIMUM_SIZE, DEFAULT_CONCURRENCY_LEVEL, deferDeleteToCompoundFile); } + @SuppressWarnings("this-escape") public FDBDirectory(@Nonnull Subspace subspace, @Nullable Map indexOptions, @Nullable FDBDirectorySharedCacheManager sharedCacheManager, @Nullable Tuple sharedCacheKey, boolean deferDeleteToCompoundFile, AgilityContext agilityContext, int blockCacheMaximumSize) { @@ -203,6 +206,7 @@ public FDBDirectory(@Nonnull Subspace subspace, @Nullable Map in DEFAULT_BLOCK_SIZE, DEFAULT_INITIAL_CAPACITY, blockCacheMaximumSize, DEFAULT_CONCURRENCY_LEVEL, deferDeleteToCompoundFile); } + @SuppressWarnings("this-escape") private FDBDirectory(@Nonnull Subspace subspace, @Nullable Map indexOptions, @Nullable FDBDirectorySharedCacheManager sharedCacheManager, @Nullable Tuple sharedCacheKey, AgilityContext agilityContext, int blockSize, final int initialCapacity, final int blockCacheMaximumSize, final int concurrencyLevel, diff --git a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/directory/FDBIndexInput.java b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/directory/FDBIndexInput.java index d90867d188..c526c660d4 100644 --- a/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/directory/FDBIndexInput.java +++ b/fdb-record-layer-lucene/src/main/java/com/apple/foundationdb/record/lucene/directory/FDBIndexInput.java @@ -90,6 +90,7 @@ public FDBIndexInput(@Nonnull final String fileName, @Nonnull final FDBDirectory * @param currentData future with CurrentData Fetch * @throws IOException exception */ + @SuppressWarnings("this-escape") public FDBIndexInput(@Nonnull final String resourceDescription, @Nonnull final String fileName, @Nonnull final FDBDirectory fdbDirectory, @Nonnull CompletableFuture reference, long initialOffset, long position, int currentBlock, @Nullable CompletableFuture currentData) throws IOException { diff --git a/fdb-record-layer-lucene/src/main/java/org/apache/lucene/codecs/lucene84/LuceneOptimizedPostingsReader.java b/fdb-record-layer-lucene/src/main/java/org/apache/lucene/codecs/lucene84/LuceneOptimizedPostingsReader.java index 2eb81d09c5..cb74d153f5 100644 --- a/fdb-record-layer-lucene/src/main/java/org/apache/lucene/codecs/lucene84/LuceneOptimizedPostingsReader.java +++ b/fdb-record-layer-lucene/src/main/java/org/apache/lucene/codecs/lucene84/LuceneOptimizedPostingsReader.java @@ -198,7 +198,7 @@ public void decodeTerm(DataInput in, FieldInfo fieldInfo, BlockTermState _termSt } else { assert absolute == false; assert termState.singletonDocID != -1; - termState.singletonDocID += BitUtil.zigZagDecode(l >>> 1); + termState.singletonDocID += (int)BitUtil.zigZagDecode(l >>> 1); } } else { termState.docStartFP += in.readVLong(); @@ -900,7 +900,7 @@ private void skipPositions() throws IOException { int end = posBufferUpto + toSkip; while (posBufferUpto < end) { if (indexHasPayloads) { - payloadByteUpto += payloadLengthBuffer[posBufferUpto]; + payloadByteUpto += (int)payloadLengthBuffer[posBufferUpto]; } posBufferUpto++; } @@ -930,7 +930,7 @@ private void skipPositions() throws IOException { posBufferUpto = 0; while (posBufferUpto < toSkip) { if (indexHasPayloads) { - payloadByteUpto += payloadLengthBuffer[posBufferUpto]; + payloadByteUpto += (int)payloadLengthBuffer[posBufferUpto]; } posBufferUpto++; } @@ -966,7 +966,7 @@ public int nextPosition() throws IOException { refillPositions(); posBufferUpto = 0; } - position += posDeltaBuffer[posBufferUpto]; + position += (int)posDeltaBuffer[posBufferUpto]; if (indexHasPayloads) { payloadLength = (int) payloadLengthBuffer[posBufferUpto]; @@ -1401,7 +1401,7 @@ public int advance(int target) throws IOException { this.doc = (int) docBuffer[next]; this.freq = (int) freqBuffer[next]; for (int i = docBufferUpto; i <= next; ++i) { - posPendingCount += freqBuffer[i]; + posPendingCount += (int)freqBuffer[i]; } docUpto += next - docBufferUpto + 1; docBufferUpto = next + 1; @@ -1455,7 +1455,7 @@ public int nextPosition() throws IOException { refillPositions(); posBufferUpto = 0; } - position += posDeltaBuffer[posBufferUpto++]; + position += (int)posDeltaBuffer[posBufferUpto++]; posPendingCount--; return position; @@ -1674,7 +1674,7 @@ private void refillDocs() throws IOException { } if (indexHasPos && needsPositions) { while (posDocUpTo < docUpto) { // catch on positions, bring posPendingCount upto the current doc - posPendingCount += freqBuffer[docBufferUpto - (docUpto - posDocUpTo)]; + posPendingCount += (int)freqBuffer[docBufferUpto - (docUpto - posDocUpTo)]; posDocUpTo++; } } @@ -1858,7 +1858,7 @@ private void skipPositions() throws IOException { int end = posBufferUpto + toSkip; while (posBufferUpto < end) { if (indexHasPayloads) { - payloadByteUpto += payloadLengthBuffer[posBufferUpto]; + payloadByteUpto += (int)payloadLengthBuffer[posBufferUpto]; } posBufferUpto++; } @@ -1888,7 +1888,7 @@ private void skipPositions() throws IOException { posBufferUpto = 0; while (posBufferUpto < toSkip) { if (indexHasPayloads) { - payloadByteUpto += payloadLengthBuffer[posBufferUpto]; + payloadByteUpto += (int)payloadLengthBuffer[posBufferUpto]; } posBufferUpto++; } @@ -1909,7 +1909,7 @@ public int nextPosition() throws IOException { isFreqsRead = true; } while (posDocUpTo < docUpto) { // bring posPendingCount upto the current doc - posPendingCount += freqBuffer[docBufferUpto - (docUpto - posDocUpTo)]; + posPendingCount += (int)freqBuffer[docBufferUpto - (docUpto - posDocUpTo)]; posDocUpTo++; } @@ -1937,7 +1937,7 @@ public int nextPosition() throws IOException { refillPositions(); posBufferUpto = 0; } - position += posDeltaBuffer[posBufferUpto]; + position += (int)posDeltaBuffer[posBufferUpto]; if (indexHasPayloads) { payloadLength = (int) payloadLengthBuffer[posBufferUpto]; diff --git a/fdb-record-layer-lucene/src/test/java/com/apple/foundationdb/record/lucene/directory/MockedLuceneIndexMaintainer.java b/fdb-record-layer-lucene/src/test/java/com/apple/foundationdb/record/lucene/directory/MockedLuceneIndexMaintainer.java index 039103674b..8b952c5d54 100644 --- a/fdb-record-layer-lucene/src/test/java/com/apple/foundationdb/record/lucene/directory/MockedLuceneIndexMaintainer.java +++ b/fdb-record-layer-lucene/src/test/java/com/apple/foundationdb/record/lucene/directory/MockedLuceneIndexMaintainer.java @@ -39,6 +39,7 @@ public class MockedLuceneIndexMaintainer extends LuceneIndexMaintainer { final InjectedFailureRepository injectedFailures; + @SuppressWarnings("this-escape") public MockedLuceneIndexMaintainer(@Nonnull final IndexMaintainerState state, @Nonnull final Executor executor, final InjectedFailureRepository injectedFailures) { super(state, executor); this.injectedFailures = injectedFailures; diff --git a/fdb-relational-api/src/main/java/com/apple/foundationdb/relational/api/exceptions/ContextualSQLException.java b/fdb-relational-api/src/main/java/com/apple/foundationdb/relational/api/exceptions/ContextualSQLException.java index 8fd750bf5f..186d77743e 100644 --- a/fdb-relational-api/src/main/java/com/apple/foundationdb/relational/api/exceptions/ContextualSQLException.java +++ b/fdb-relational-api/src/main/java/com/apple/foundationdb/relational/api/exceptions/ContextualSQLException.java @@ -32,7 +32,7 @@ /** * An exception intended to carry over additional context within a SQLException. */ -@SuppressWarnings("PMD.FormalParameterNamingConventions") +@SuppressWarnings({"PMD.FormalParameterNamingConventions", "serial"}) @API(API.Status.EXPERIMENTAL) public class ContextualSQLException extends SQLException { private static final long serialVersionUID = 2135244094396331484L; diff --git a/fdb-relational-api/src/main/java/com/apple/foundationdb/relational/api/exceptions/RelationalException.java b/fdb-relational-api/src/main/java/com/apple/foundationdb/relational/api/exceptions/RelationalException.java index 08d8182d44..0b42d36b88 100644 --- a/fdb-relational-api/src/main/java/com/apple/foundationdb/relational/api/exceptions/RelationalException.java +++ b/fdb-relational-api/src/main/java/com/apple/foundationdb/relational/api/exceptions/RelationalException.java @@ -29,6 +29,7 @@ import java.util.Map; @API(API.Status.EXPERIMENTAL) +@SuppressWarnings("serial") public class RelationalException extends Exception { private static final long serialVersionUID = 1L; private final ErrorCode errorCode; diff --git a/fdb-relational-api/src/main/java/com/apple/foundationdb/relational/api/fluentsql/expression/UserDefinedField.java b/fdb-relational-api/src/main/java/com/apple/foundationdb/relational/api/fluentsql/expression/UserDefinedField.java index 7267889af8..c83337042e 100644 --- a/fdb-relational-api/src/main/java/com/apple/foundationdb/relational/api/fluentsql/expression/UserDefinedField.java +++ b/fdb-relational-api/src/main/java/com/apple/foundationdb/relational/api/fluentsql/expression/UserDefinedField.java @@ -82,7 +82,7 @@ public Iterable getParts() { @Nonnull @Override - public T getType() { + public final T getType() { return type; } diff --git a/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/MutablePlanGenerationContext.java b/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/MutablePlanGenerationContext.java index 3ef8ece6f2..5b0caaaa8e 100644 --- a/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/MutablePlanGenerationContext.java +++ b/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/MutablePlanGenerationContext.java @@ -235,7 +235,7 @@ public void setForExplain(boolean forExplain) { } @SpotBugsSuppressWarnings(value = "EI_EXPOSE_REP2", justification = "Intentional") - public void setContinuation(@Nullable byte[] continuation) { + public final void setContinuation(@Nullable byte[] continuation) { this.continuation = continuation; } diff --git a/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/visitors/BaseVisitor.java b/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/visitors/BaseVisitor.java index a1d3e50dd4..ca08787b1d 100644 --- a/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/visitors/BaseVisitor.java +++ b/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/visitors/BaseVisitor.java @@ -104,6 +104,7 @@ public class BaseVisitor extends AbstractParseTreeVisitor implements Typ @Nonnull private final LogicalOperatorCatalog logicalOperatorCatalog; + @SuppressWarnings("this-escape") public BaseVisitor(@Nonnull MutablePlanGenerationContext mutablePlanGenerationContext, @Nonnull RecordLayerSchemaTemplate metadata, @Nonnull DdlQueryFactory ddlQueryFactory, diff --git a/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/structuredsql/statement/UpdateStatementImpl.java b/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/structuredsql/statement/UpdateStatementImpl.java index 94d99498e5..f61d4503cc 100644 --- a/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/structuredsql/statement/UpdateStatementImpl.java +++ b/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/structuredsql/statement/UpdateStatementImpl.java @@ -133,7 +133,7 @@ public String getSqlQuery() { @Nonnull @Override - public Map, Expression> getSetClauses() { + public final Map, Expression> getSetClauses() { return ImmutableMap.copyOf(setClauses); } @@ -503,6 +503,7 @@ public Void visitTerminal(TerminalNode node) { public static class CustomSimpleId extends RelationalParser.UidContext { + @SuppressWarnings("this-escape") public CustomSimpleId(ParserRuleContext parent, int invokingState, @Nonnull final String name) { super(parent, invokingState); addChild(new TerminalNodeImpl(new CustomCommonToken(name))); diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e913c13ef7..9379dde5d9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -22,7 +22,7 @@ # Main dependency versions -antlr = "4.9.3" +antlr = "4.13.2" # AutoService kept on 1.0-rc6 to avoid annotation being retained in CLASS. See: https://github.com/FoundationDB/fdb-record-layer/issues/1281 autoService = "1.0-rc6" # AutoService for development which enables incremental builds, cannot be enabled for production builds due to downstream dependencies