diff --git a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java index 15b32a92cdf35a519d5fdc63e10da3ce1836ce0d..78d18169bcebab4f8a335c978790ed0d0ef106cf 100644 --- a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java +++ b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java @@ -1883,7 +1883,7 @@ public class ManagedLedgerImpl implements ManagedLedger, CreateCallback { private boolean isLedgerRetentionOverSizeQuota() { // Handle the -1 size limit as "infinite" size quota - return config.getRetentionSizeInMB() > 0 + return config.getRetentionSizeInMB() >= 0 && TOTAL_SIZE_UPDATER.get(this) > ((long) config.getRetentionSizeInMB()) * 1024 * 1024; } diff --git a/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/OffloadLedgerDeleteTest.java b/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/OffloadLedgerDeleteTest.java index 0dd7c30c299e7d57dd5e1b9dc9fdfd5c89af2695..02fff694f185a6d3a66d3422497e51c5edfb1041 100644 --- a/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/OffloadLedgerDeleteTest.java +++ b/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/OffloadLedgerDeleteTest.java @@ -47,6 +47,7 @@ public class OffloadLedgerDeleteTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setMinimumRolloverTime(0, TimeUnit.SECONDS); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setOffloadLedgerDeletionLag(5, TimeUnit.MINUTES); config.setLedgerOffloader(offloader); config.setClock(clock); @@ -109,6 +110,7 @@ public class OffloadLedgerDeleteTest extends MockedBookKeeperTestCase { config.setMinimumRolloverTime(0, TimeUnit.SECONDS); config.setRetentionTime(5, TimeUnit.MINUTES); config.setOffloadLedgerDeletionLag(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); config.setClock(clock); diff --git a/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/OffloadPrefixReadTest.java b/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/OffloadPrefixReadTest.java index 038cbe4063f976cb8da1b7b52810040cb1804fe0..e79b6aae413a3ddf21f909f8fa943b6ac3ca3c5c 100644 --- a/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/OffloadPrefixReadTest.java +++ b/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/OffloadPrefixReadTest.java @@ -65,6 +65,7 @@ public class OffloadPrefixReadTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setMinimumRolloverTime(0, TimeUnit.SECONDS); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); diff --git a/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/OffloadPrefixTest.java b/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/OffloadPrefixTest.java index b4739e17d5abd1a6f94aa1c28369c54dbcb8f01a..bf2f2e845d66bd06360a63cca71b66bab5cd7a69 100644 --- a/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/OffloadPrefixTest.java +++ b/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/OffloadPrefixTest.java @@ -65,6 +65,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setMinimumRolloverTime(0, TimeUnit.SECONDS); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); int i = 0; @@ -110,6 +111,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setMinimumRolloverTime(0, TimeUnit.SECONDS); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); @@ -136,6 +138,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setMinimumRolloverTime(0, TimeUnit.SECONDS); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); @@ -171,6 +174,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setMinimumRolloverTime(0, TimeUnit.SECONDS); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); @@ -379,6 +383,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setMinimumRolloverTime(0, TimeUnit.SECONDS); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); @@ -410,6 +415,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setMinimumRolloverTime(0, TimeUnit.SECONDS); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); @@ -445,6 +451,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setMinimumRolloverTime(0, TimeUnit.SECONDS); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); @@ -688,6 +695,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setMinimumRolloverTime(0, TimeUnit.SECONDS); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); @@ -739,6 +747,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setOffloadAutoTriggerSizeThresholdBytes(100); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); @@ -774,6 +783,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setOffloadAutoTriggerSizeThresholdBytes(100); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); @@ -834,6 +844,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setOffloadAutoTriggerSizeThresholdBytes(100); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); @@ -884,6 +895,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setOffloadAutoTriggerSizeThresholdBytes(100); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); @@ -919,6 +931,7 @@ public class OffloadPrefixTest extends MockedBookKeeperTestCase { config.setMaxEntriesPerLedger(10); config.setOffloadAutoTriggerSizeThresholdBytes(0); config.setRetentionTime(10, TimeUnit.MINUTES); + config.setRetentionSizeInMB(10); config.setLedgerOffloader(offloader); ManagedLedgerImpl ledger = (ManagedLedgerImpl)factory.open("my_test_ledger", config); diff --git a/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ReadOnlyCursorTest.java b/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ReadOnlyCursorTest.java index bcc32751b1fc46e28664a72a423e0f0bacf26001..05ddd1d839628fb21879ffab7c79def2f7acb373 100644 --- a/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ReadOnlyCursorTest.java +++ b/managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ReadOnlyCursorTest.java @@ -103,7 +103,10 @@ public class ReadOnlyCursorTest extends MockedBookKeeperTestCase { @Test void skip() throws Exception { ManagedLedger ledger = factory.open("skip", - new ManagedLedgerConfig().setMaxEntriesPerLedger(2).setRetentionTime(1, TimeUnit.HOURS)); + new ManagedLedgerConfig() + .setMaxEntriesPerLedger(2) + .setRetentionTime(1, TimeUnit.HOURS) + .setRetentionSizeInMB(-1)); int N = 10; @@ -152,7 +155,10 @@ public class ReadOnlyCursorTest extends MockedBookKeeperTestCase { @Test void skipMultiple() throws Exception { ManagedLedger ledger = factory.open("skip", - new ManagedLedgerConfig().setMaxEntriesPerLedger(7).setRetentionTime(1, TimeUnit.HOURS)); + new ManagedLedgerConfig() + .setMaxEntriesPerLedger(7) + .setRetentionTime(1, TimeUnit.HOURS) + .setRetentionSizeInMB(-1)); int N = 30;