diff --git a/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreCountRecordsTest.java b/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreCountRecordsTest.java index 78f72a6145..08cbff7fb8 100644 --- a/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreCountRecordsTest.java +++ b/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreCountRecordsTest.java @@ -45,6 +45,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; +import javax.annotation.Nonnull; import java.util.HashMap; import java.util.concurrent.CompletableFuture; import java.util.concurrent.atomic.AtomicInteger; @@ -260,10 +261,16 @@ private void recountAndClearRecords(boolean useIndex) throws Exception { // Need to allow immediate rebuild of new count index. final FDBRecordStoreBase.UserVersionChecker alwaysEnabled = new FDBRecordStoreBase.UserVersionChecker() { @Override - public CompletableFuture checkUserVersion(int oldUserVersion, int oldMetaDataVersion, RecordMetaDataProvider metaData) { + public CompletableFuture checkUserVersion(@Nonnull final RecordMetaDataProto.DataStoreInfo storeHeader, final RecordMetaDataProvider metaData) { return CompletableFuture.completedFuture(1); } + @Deprecated + @Override + public CompletableFuture checkUserVersion(int oldUserVersion, int oldMetaDataVersion, RecordMetaDataProvider metaData) { + throw new RecordCoreException("deprecated checkUserVersion called"); + } + @Override public IndexState needRebuildIndex(Index index, long recordCount, boolean indexOnNewRecordTypes) { return IndexState.READABLE; diff --git a/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreIndexTest.java b/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreIndexTest.java index ba6950b971..5b04764d68 100644 --- a/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreIndexTest.java +++ b/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreIndexTest.java @@ -37,6 +37,7 @@ import com.apple.foundationdb.record.RecordIndexUniquenessViolation; import com.apple.foundationdb.record.RecordMetaData; import com.apple.foundationdb.record.RecordMetaDataBuilder; +import com.apple.foundationdb.record.RecordMetaDataProto; import com.apple.foundationdb.record.RecordMetaDataProvider; import com.apple.foundationdb.record.RecordStoreState; import com.apple.foundationdb.record.ScanProperties; @@ -1936,9 +1937,15 @@ public void noMaintenanceFilteredIndexOnCheckVersion() throws Exception { context.getTimer().reset(); FDBRecordStoreBase.UserVersionChecker userVersionChecker = new FDBRecordStoreBase.UserVersionChecker() { + @Override + public CompletableFuture checkUserVersion(@Nonnull final RecordMetaDataProto.DataStoreInfo storeHeader, final RecordMetaDataProvider metaData) { + return CompletableFuture.completedFuture(1); + } + + @Deprecated @Override public CompletableFuture checkUserVersion(int oldUserVersion, int oldMetaDataVersion, RecordMetaDataProvider metaData) { - return CompletableFuture.completedFuture(Integer.valueOf(1)); + throw new RecordCoreException("deprecated checkUserVersion called"); } @Override @@ -1981,9 +1988,15 @@ public void testChangeIndexDefinition(boolean withCount, final String newIndexFieldName) throws Exception { final FDBRecordStoreBase.UserVersionChecker alwaysDisabled = new FDBRecordStoreBase.UserVersionChecker() { + @Override + public CompletableFuture checkUserVersion(@Nonnull final RecordMetaDataProto.DataStoreInfo storeHeader, final RecordMetaDataProvider metaData) { + return CompletableFuture.completedFuture(1); + } + + @Deprecated @Override public CompletableFuture checkUserVersion(int oldUserVersion, int oldMetaDataVersion, RecordMetaDataProvider metaData) { - return CompletableFuture.completedFuture(Integer.valueOf(1)); + throw new RecordCoreException("deprecated checkUserVersion called"); } @Override @@ -1993,9 +2006,15 @@ public IndexState needRebuildIndex(Index index, long recordCount, boolean indexO }; final FDBRecordStoreBase.UserVersionChecker alwaysEnabled = new FDBRecordStoreBase.UserVersionChecker() { + @Override + public CompletableFuture checkUserVersion(@Nonnull final RecordMetaDataProto.DataStoreInfo storeHeader, final RecordMetaDataProvider metaData) { + return CompletableFuture.completedFuture(1); + } + + @Deprecated @Override public CompletableFuture checkUserVersion(int oldUserVersion, int oldMetaDataVersion, RecordMetaDataProvider metaData) { - return CompletableFuture.completedFuture(Integer.valueOf(1)); + throw new RecordCoreException("deprecated checkUserVersion called"); } @Override @@ -2129,9 +2148,15 @@ public void testChangeIndexDefinitionNotReadable() throws Exception { @Test public void testSelectiveIndexDisable() throws Exception { final FDBRecordStoreBase.UserVersionChecker selectiveEnable = new FDBRecordStoreBase.UserVersionChecker() { + @Override + public CompletableFuture checkUserVersion(@Nonnull final RecordMetaDataProto.DataStoreInfo storeHeader, final RecordMetaDataProvider metaData) { + return CompletableFuture.completedFuture(1); + } + + @Deprecated @Override public CompletableFuture checkUserVersion(int oldUserVersion, int oldMetaDataVersion, RecordMetaDataProvider metaData) { - return CompletableFuture.completedFuture(Integer.valueOf(1)); + throw new RecordCoreException("deprecated checkUserVersion called"); } @Override diff --git a/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreOpeningTest.java b/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreOpeningTest.java index 55757f0ac9..b722176813 100644 --- a/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreOpeningTest.java +++ b/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreOpeningTest.java @@ -27,6 +27,7 @@ import com.apple.foundationdb.record.RecordMetaData; import com.apple.foundationdb.record.RecordMetaDataBuilder; import com.apple.foundationdb.record.RecordMetaDataOptionsProto; +import com.apple.foundationdb.record.RecordMetaDataProto; import com.apple.foundationdb.record.RecordMetaDataProvider; import com.apple.foundationdb.record.TestHelpers; import com.apple.foundationdb.record.TestNoIndexesProto; @@ -726,9 +727,15 @@ public SizeBasedUserVersionChecker(IndexState stateToReturn) { this.size = new AtomicLong(-1L); } + @Override + public CompletableFuture checkUserVersion(@Nonnull final RecordMetaDataProto.DataStoreInfo storeHeader, final RecordMetaDataProvider metaData) { + return CompletableFuture.completedFuture(storeHeader.getUserVersion()); + } + + @Deprecated @Override public CompletableFuture checkUserVersion(final int oldUserVersion, final int oldMetaDataVersion, final RecordMetaDataProvider metaData) { - return CompletableFuture.completedFuture(oldUserVersion); + throw new RecordCoreException("deprecated checkUserVersion called"); } @Override diff --git a/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreSplitRecordsTest.java b/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreSplitRecordsTest.java index 9444172746..fa113da78c 100644 --- a/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreSplitRecordsTest.java +++ b/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreSplitRecordsTest.java @@ -27,6 +27,7 @@ import com.apple.foundationdb.record.RecordCursorIterator; import com.apple.foundationdb.record.RecordMetaData; import com.apple.foundationdb.record.RecordMetaDataBuilder; +import com.apple.foundationdb.record.RecordMetaDataProto; import com.apple.foundationdb.record.RecordMetaDataProvider; import com.apple.foundationdb.record.ScanProperties; import com.apple.foundationdb.record.TestHelpers; @@ -316,10 +317,16 @@ public void clearOmitUnsplitRecordSuffixOverlapping() { // We want to test that a conflict comes from the clearing itself. final FDBRecordStoreBase.UserVersionChecker dontBuild = new FDBRecordStoreBase.UserVersionChecker() { @Override - public CompletableFuture checkUserVersion(int oldUserVersion, int oldMetaDataVersion, RecordMetaDataProvider metaData) { + public CompletableFuture checkUserVersion(@Nonnull final RecordMetaDataProto.DataStoreInfo storeHeader, final RecordMetaDataProvider metaData) { return CompletableFuture.completedFuture(0); } + @Deprecated + @Override + public CompletableFuture checkUserVersion(int oldUserVersion, int oldMetaDataVersion, RecordMetaDataProvider metaData) { + throw new RecordCoreException("deprecated checkUserVersion called"); + } + @Override public IndexState needRebuildIndex(Index index, long recordCount, boolean indexOnNewRecordTypes) { return IndexState.DISABLED; diff --git a/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreTest.java b/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreTest.java index 7e69413655..ad6678e686 100644 --- a/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreTest.java +++ b/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreTest.java @@ -866,15 +866,22 @@ public RecordMetaData getRecordMetaData() { } @Override - public CompletableFuture checkUserVersion(int oldUserVersion, int oldMetaDataVersion, RecordMetaDataProvider metaData) { - if (oldUserVersion < 0) { + public CompletableFuture checkUserVersion(@Nonnull final RecordMetaDataProto.DataStoreInfo storeHeader, final RecordMetaDataProvider metaData) { + if (storeHeader.getFormatVersion() == 0) { return CompletableFuture.completedFuture(defaultVersion); } + int oldUserVersion = storeHeader.getUserVersion(); if (oldUserVersion == 101) { needOld = true; } return CompletableFuture.completedFuture(oldUserVersion); } + + @Deprecated + @Override + public CompletableFuture checkUserVersion(int oldUserVersion, int oldMetaDataVersion, RecordMetaDataProvider metaData) { + throw new RecordCoreException("deprecated checkUserVersion called"); + } } @Test