This is an automated email from the ASF dual-hosted git repository.

jshao pushed a commit to branch branch-1.2
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/branch-1.2 by this push:
     new c121cd192e [Cherry-pick to branch-1.2] [#10700] test: Harden retention 
count assertions in TestFunctionMetaService and TestFilesetMetaService (#10701) 
(#10756)
c121cd192e is described below

commit c121cd192e2ee25b9a7a2f5c53fce3e790d7cfc3
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Apr 13 15:45:49 2026 +0800

    [Cherry-pick to branch-1.2] [#10700] test: Harden retention count 
assertions in TestFunctionMetaService and TestFilesetMetaService (#10701) 
(#10756)
    
    **Cherry-pick Information:**
    - Original commit: d4893e5f57d99525b2608fc187fd6c920fdfe011
    - Target branch: `branch-1.2`
    - Status: ✅ Clean cherry-pick (no conflicts)
    
    Co-authored-by: mchades <[email protected]>
    Co-authored-by: Copilot <[email protected]>
---
 .../relational/service/TestFilesetMetaService.java | 24 +++++++++++++----
 .../service/TestFunctionMetaService.java           | 30 +++++++++++++++++-----
 2 files changed, 43 insertions(+), 11 deletions(-)

diff --git 
a/core/src/test/java/org/apache/gravitino/storage/relational/service/TestFilesetMetaService.java
 
b/core/src/test/java/org/apache/gravitino/storage/relational/service/TestFilesetMetaService.java
index c292418c1e..34c62659ec 100644
--- 
a/core/src/test/java/org/apache/gravitino/storage/relational/service/TestFilesetMetaService.java
+++ 
b/core/src/test/java/org/apache/gravitino/storage/relational/service/TestFilesetMetaService.java
@@ -335,12 +335,16 @@ public class TestFilesetMetaService extends 
TestJDBCBackend {
                   auditInfo1,
                   "/tmp1");
             });
+    Map<Integer, Long> versionDeletedMap = 
listFilesetVersions(filesetEntity.id());
+    assertEquals(2, versionDeletedMap.size());
+    assertVersionActive(versionDeletedMap, 1);
+    assertVersionActive(versionDeletedMap, 2);
+
     FilesetMetaService.getInstance().deleteFilesetVersionsByRetentionCount(1L, 
100);
-    List<Pair<Integer, String>> versionInfos = 
listFilesetInvalidVersions(filesetEntity.id());
-    // version 1 should be softly deleted
-    Assertions.assertEquals(1, versionInfos.size());
-    Assertions.assertEquals(1, versionInfos.get(0).getLeft());
-    Assertions.assertEquals(LOCATION_NAME_UNKNOWN, 
versionInfos.get(0).getRight());
+    versionDeletedMap = listFilesetVersions(filesetEntity.id());
+    assertEquals(2, versionDeletedMap.size());
+    assertVersionSoftDeleted(versionDeletedMap, 1);
+    assertVersionActive(versionDeletedMap, 2);
   }
 
   private List<Pair<Integer, String>> listFilesetInvalidVersions(Long 
filesetId) {
@@ -363,6 +367,16 @@ public class TestFilesetMetaService extends 
TestJDBCBackend {
     return deletedVersions;
   }
 
+  private void assertVersionActive(Map<Integer, Long> versionDeletedMap, int 
version) {
+    assertTrue(versionDeletedMap.containsKey(version));
+    assertEquals(0L, versionDeletedMap.get(version));
+  }
+
+  private void assertVersionSoftDeleted(Map<Integer, Long> versionDeletedMap, 
int version) {
+    assertTrue(versionDeletedMap.containsKey(version));
+    assertTrue(versionDeletedMap.get(version) > 0L);
+  }
+
   private FilesetEntity createFilesetEntity(
       Long id, Namespace namespace, String name, AuditInfo auditInfo, String 
location) {
     return FilesetEntity.builder()
diff --git 
a/core/src/test/java/org/apache/gravitino/storage/relational/service/TestFunctionMetaService.java
 
b/core/src/test/java/org/apache/gravitino/storage/relational/service/TestFunctionMetaService.java
index a068b64550..6d87b04408 100644
--- 
a/core/src/test/java/org/apache/gravitino/storage/relational/service/TestFunctionMetaService.java
+++ 
b/core/src/test/java/org/apache/gravitino/storage/relational/service/TestFunctionMetaService.java
@@ -398,17 +398,25 @@ public class TestFunctionMetaService extends 
TestJDBCBackend {
       FunctionMetaService.getInstance().updateFunction(functionIdent, e -> 
updatedFunction);
     }
 
-    // Verify all 5 versions exist
-    assertEquals(5, listFunctionVersions(function.id()).size());
+    // Verify all 5 versions are active before retention cleanup
+    Map<Integer, Long> versionDeletedMap = listFunctionVersions(function.id());
+    assertEquals(5, versionDeletedMap.size());
+    for (int version = 1; version <= 5; version++) {
+      assertVersionActive(versionDeletedMap, version);
+    }
 
     // Soft delete versions by retention count (keep only 2)
     
FunctionMetaService.getInstance().deleteFunctionVersionsByRetentionCount(2L, 
100);
 
-    // Verify 3 versions are soft deleted
-    Map<Integer, Long> versionDeletedMap = listFunctionVersions(function.id());
+    // Verify versions 1-3 are soft deleted and versions 4-5 remain active
+    versionDeletedMap = listFunctionVersions(function.id());
     assertEquals(5, versionDeletedMap.size());
-    assertEquals(2, versionDeletedMap.values().stream().filter(value -> value 
== 0L).count());
-    assertEquals(3, versionDeletedMap.values().stream().filter(value -> value 
!= 0L).count());
+    for (int version = 1; version <= 3; version++) {
+      assertVersionSoftDeleted(versionDeletedMap, version);
+    }
+    for (int version = 4; version <= 5; version++) {
+      assertVersionActive(versionDeletedMap, version);
+    }
   }
 
   @TestTemplate
@@ -496,4 +504,14 @@ public class TestFunctionMetaService extends 
TestJDBCBackend {
     }
     return versionDeletedTime;
   }
+
+  private void assertVersionActive(Map<Integer, Long> versionDeletedMap, int 
version) {
+    assertTrue(versionDeletedMap.containsKey(version));
+    assertEquals(0L, versionDeletedMap.get(version));
+  }
+
+  private void assertVersionSoftDeleted(Map<Integer, Long> versionDeletedMap, 
int version) {
+    assertTrue(versionDeletedMap.containsKey(version));
+    assertTrue(versionDeletedMap.get(version) > 0L);
+  }
 }

Reply via email to