This is an automated email from the ASF dual-hosted git repository. yong pushed a commit to branch branch-4.15 in repository https://gitbox.apache.org/repos/asf/bookkeeper.git
commit 0e9a394aa6fbb7a7dae392caab8ade2abb03dc68 Author: Hang Chen <[email protected]> AuthorDate: Tue Jun 28 09:02:19 2022 +0800 Fix bookie CI test not run (#3367) ### Motivation The `bookie-tests` CI runs the following tests. ``` - name: Run bookie tests run: mvn -B -nsu -pl bookkeeper-server test -Dtest="org.apache.bookkeeper.bookie.*Test" -DfailIfNoTests=false -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO ``` For the `remaining-tests` CI runs the following tests. ```bash - name: Run remaining tests run: mvn -B -nsu -am -pl bookkeeper-server clean install test -Dtest="!org.apache.bookkeeper.client.**,!org.apache.bookkeeper.bookie.**,!org.apache.bookkeeper.replication.**,!org.apache.bookkeeper.tls.**" -DfailIfNoTests=false -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO ``` The problem is that `bookie-tests` only run tests with the name `org.apache.bookkeeper.bookie.*Test`, however, the `remaining-tests` exclude tests with name `org.apache.bookkeeper.bookie.**`. It leads to a lot of tests in `org.apache.bookkeeper.bookie.*` package doesn't run at all in CI. ### Modification Turn on `org.apache.bookkeeper.bookie.**` tests in `bookie-tests` CI. I have been testing on my laptop, there are many tests can't pass, I may need more time to make those failed tests to be passed. The following tests need to fixed. - [x] org.apache.bookkeeper.bookie.storage.ldb.ConversionTest.test - [x] org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorageTest.testLimboStateThrowsInLimboWhenNoEntry - [x] org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorageTest.testLimboStateSucceedsWhenFenced - [x] org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorageTest.testLimboStateSucceedsWhenInLimboButHasEntry - [x] org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorageTest.testLimboStateThrowsInLimboWhenNotFenced - [x] org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorageTest.testStorageStateFlags (cherry picked from commit 97dff2e4ebd9d088cf1fa30f1e23fa0e28753a5c) --- .github/workflows/bookie-tests.yml | 8 +------- .../storage/ldb/SingleDirectoryDbLedgerStorage.java | 1 + .../bookie/storage/ldb/DbLedgerStorageTest.java | 18 ++++++++---------- 3 files changed, 10 insertions(+), 17 deletions(-) diff --git a/.github/workflows/bookie-tests.yml b/.github/workflows/bookie-tests.yml index 5b2a40ee85..f2ae745eb0 100644 --- a/.github/workflows/bookie-tests.yml +++ b/.github/workflows/bookie-tests.yml @@ -54,14 +54,8 @@ jobs: - name: Maven build bookkeeper-server run: mvn -B -nsu -am -pl bookkeeper-server clean install -DskipTests -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO - - name: Run EntryLogTests - run: mvn -B -nsu -pl bookkeeper-server test -Dtest="org.apache.bookkeeper.bookie.TestEntryLog" -DfailIfNoTests=false -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO - - - name: Run InterleavedLedgerStorageTest - run: mvn -B -nsu -pl bookkeeper-server test -Dtest="org.apache.bookkeeper.bookie.TestInterleavedLederStorage" -DfailIfNoTests=false -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO - - name: Run bookie tests - run: mvn -B -nsu -pl bookkeeper-server test -Dtest="org.apache.bookkeeper.bookie.*Test" -DfailIfNoTests=false -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO + run: mvn -B -nsu -pl bookkeeper-server test -Dtest="org.apache.bookkeeper.bookie.**" -DfailIfNoTests=false -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO - name: Run shell tests run: mvn -B -nsu -pl tests/scripts install -DfailIfNoTests=false -Dorg.slf4j.simpleLogger.defaultLogLevel=INFO diff --git a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/SingleDirectoryDbLedgerStorage.java b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/SingleDirectoryDbLedgerStorage.java index 9df81bc83a..f8ffcb9ee9 100644 --- a/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/SingleDirectoryDbLedgerStorage.java +++ b/bookkeeper-server/src/main/java/org/apache/bookkeeper/bookie/storage/ldb/SingleDirectoryDbLedgerStorage.java @@ -990,6 +990,7 @@ public class SingleDirectoryDbLedgerStorage implements CompactableLedgerStorage } } + ledgerIndex.flush(); batch.flush(); batch.close(); diff --git a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/DbLedgerStorageTest.java b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/DbLedgerStorageTest.java index 00efee9e4b..de62611daa 100644 --- a/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/DbLedgerStorageTest.java +++ b/bookkeeper-server/src/test/java/org/apache/bookkeeper/bookie/storage/ldb/DbLedgerStorageTest.java @@ -452,8 +452,6 @@ public class DbLedgerStorageTest { } catch (BookieException.DataUnknownException e) { fail("Should have been able to read entry"); } - - storage.shutdown(); } @Test @@ -462,7 +460,7 @@ public class DbLedgerStorageTest { ByteBuf entry0 = Unpooled.buffer(1024); entry0.writeLong(1); // ledger id - entry0.writeLong(0); // entry id + entry0.writeLong(1); // entry id entry0.writeBytes("entry-0".getBytes()); storage.addEntry(entry0); @@ -491,6 +489,8 @@ public class DbLedgerStorageTest { } finally { restartedStorage.shutdown(); } + + storage = (DbLedgerStorage) new TestBookieImpl(conf).getLedgerStorage(); } @Test @@ -499,7 +499,7 @@ public class DbLedgerStorageTest { ByteBuf entry0 = Unpooled.buffer(1024); entry0.writeLong(1); // ledger id - entry0.writeLong(0); // entry id + entry0.writeLong(1); // entry id entry0.writeBytes("entry-0".getBytes()); storage.addEntry(entry0); @@ -530,7 +530,7 @@ public class DbLedgerStorageTest { ByteBuf entry0 = Unpooled.buffer(1024); entry0.writeLong(1); // ledger id - entry0.writeLong(0); // entry id + entry0.writeLong(1); // entry id entry0.writeBytes("entry-0".getBytes()); storage.addEntry(entry0); @@ -543,8 +543,6 @@ public class DbLedgerStorageTest { } catch (IOException ioe) { fail("Should have been able to get isFenced response"); } - - storage.shutdown(); } @Test @@ -553,7 +551,7 @@ public class DbLedgerStorageTest { ByteBuf entry0 = Unpooled.buffer(1024); entry0.writeLong(1); // ledger id - entry0.writeLong(0); // entry id + entry0.writeLong(1); // entry id entry0.writeBytes("entry-0".getBytes()); storage.addEntry(entry0); @@ -566,8 +564,6 @@ public class DbLedgerStorageTest { } catch (BookieException.DataUnknownException e) { // expected } - - storage.shutdown(); } @Test @@ -631,5 +627,7 @@ public class DbLedgerStorageTest { } finally { restartedStorage2.shutdown(); } + + storage = (DbLedgerStorage) new TestBookieImpl(conf).getLedgerStorage(); } }
