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

caolu pushed a commit to branch kylin5
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/kylin5 by this push:
     new 1536a74704 KYLIN-6038 fix storage v3 layout details deletion
1536a74704 is described below

commit 1536a747046a8b9def579e32da8a2c3be0f4fdec
Author: 夏旭晨 <[email protected]>
AuthorDate: Thu Dec 5 15:20:19 2024 +0800

    KYLIN-6038 fix storage v3 layout details deletion
    
    Co-authored-by: xuchen.xia <[email protected]>
---
 .../org/apache/kylin/metadata/cube/model/NDataLayoutDetails.java    | 4 +++-
 .../apache/kylin/metadata/cube/model/NDataLayoutDetailsManager.java | 6 ++++--
 .../kylin/metadata/cube/model/NDataLayoutDetailsManagerTest.java    | 5 +++++
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git 
a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataLayoutDetails.java
 
b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataLayoutDetails.java
index 67ae8d65f5..29300dce39 100644
--- 
a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataLayoutDetails.java
+++ 
b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataLayoutDetails.java
@@ -50,6 +50,8 @@ import lombok.val;
 @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, 
getterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = 
JsonAutoDetect.Visibility.NONE, setterVisibility = 
JsonAutoDetect.Visibility.NONE)
 public class NDataLayoutDetails extends RootPersistentEntity implements 
Serializable {
 
+    public static final String SEPARATOR = "-";
+
     @JsonProperty("project")
     private String project;
 
@@ -102,7 +104,7 @@ public class NDataLayoutDetails extends 
RootPersistentEntity implements Serializ
 
     @Override
     public String resourceName() {
-        return modelId + "-" + layoutId;
+        return modelId + SEPARATOR + layoutId;
     }
 
     @Override
diff --git 
a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataLayoutDetailsManager.java
 
b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataLayoutDetailsManager.java
index cf05c70df9..58daf671cf 100644
--- 
a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataLayoutDetailsManager.java
+++ 
b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/model/NDataLayoutDetailsManager.java
@@ -31,6 +31,8 @@ import org.apache.kylin.metadata.cachesync.CachedCrudAssist;
 
 import lombok.extern.slf4j.Slf4j;
 
+import static 
org.apache.kylin.metadata.cube.model.NDataLayoutDetails.SEPARATOR;
+
 @Slf4j
 public class NDataLayoutDetailsManager {
 
@@ -79,7 +81,7 @@ public class NDataLayoutDetailsManager {
     }
 
     public NDataLayoutDetails getNDataLayoutDetails(String modelId, long 
layoutId) {
-        return crud.get(modelId + "-" + layoutId);
+        return crud.get(modelId + SEPARATOR + layoutId);
     }
 
     public void save(NDataLayoutDetails fragment) {
@@ -115,7 +117,7 @@ public class NDataLayoutDetailsManager {
 
     public void removeDetails(String modelId, Set<Long> layoutIds) {
         for (long layoutId : layoutIds) {
-            crud.delete(crud.resourcePath(modelId + "_" + layoutId));
+            crud.delete(modelId + SEPARATOR + layoutId);
         }
     }
 
diff --git 
a/src/core-metadata/src/test/java/org/apache/kylin/metadata/cube/model/NDataLayoutDetailsManagerTest.java
 
b/src/core-metadata/src/test/java/org/apache/kylin/metadata/cube/model/NDataLayoutDetailsManagerTest.java
index 3e06ae3b71..7f5fa3a340 100644
--- 
a/src/core-metadata/src/test/java/org/apache/kylin/metadata/cube/model/NDataLayoutDetailsManagerTest.java
+++ 
b/src/core-metadata/src/test/java/org/apache/kylin/metadata/cube/model/NDataLayoutDetailsManagerTest.java
@@ -21,6 +21,8 @@ package org.apache.kylin.metadata.cube.model;
 import static org.apache.kylin.common.util.TestUtils.getTestConfig;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
 
 import org.apache.kylin.guava30.shaded.common.collect.Lists;
 import org.apache.kylin.guava30.shaded.common.collect.Range;
@@ -57,6 +59,9 @@ public class NDataLayoutDetailsManagerTest {
                 
.newArrayList(layoutFragment2.getFragmentRangeSet().asRanges().iterator());
         Assertions.assertEquals(Lists.newArrayList(Range.closedOpen(0L, 50L), 
Range.closedOpen(100L, 200L),
                 Range.closedOpen(201L, 300L)), ranges2);
+        layoutFragmentMgr.removeDetails(dataflow.getId(),
+                new 
HashSet<>(Collections.singletonList(layoutEntity.getId())));
+        
Assertions.assertNull(layoutFragmentMgr.getNDataLayoutDetails(dataflow.getId(), 
layoutEntity.getId()));
     }
 
 }

Reply via email to