This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new a215a63b50b branch-3.0: [fix](external catalog) Persisting the
External Catalog comment field #46946 (#47270)
a215a63b50b is described below
commit a215a63b50b571494e30000dce7283d648dd4335
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Feb 25 19:05:19 2025 +0800
branch-3.0: [fix](external catalog) Persisting the External Catalog comment
field #46946 (#47270)
Cherry-picked from #46946
Co-authored-by: zy-kkk <[email protected]>
---
.../apache/doris/datasource/ExternalCatalog.java | 4 ++-
.../doris/datasource/ExternalCatalogTest.java | 33 ++++++++++++++++++++++
2 files changed, 36 insertions(+), 1 deletion(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java
b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java
index 7a81076773b..d315373eca0 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalCatalog.java
@@ -139,6 +139,9 @@ public abstract class ExternalCatalog
// <db name, table name> to tableAutoAnalyzePolicy
@SerializedName(value = "taap")
protected Map<Pair<String, String>, String> tableAutoAnalyzePolicy =
Maps.newHashMap();
+ @SerializedName(value = "comment")
+ private String comment;
+
// db name does not contains "default_cluster"
protected Map<String, Long> dbNameToId = Maps.newConcurrentMap();
private boolean objectCreated = false;
@@ -147,7 +150,6 @@ public abstract class ExternalCatalog
protected TransactionManager transactionManager;
private ExternalSchemaCache schemaCache;
- private String comment;
// A cached and being converted properties for external catalog.
// generated from catalog properties.
private byte[] propLock = new byte[0];
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/datasource/ExternalCatalogTest.java
b/fe/fe-core/src/test/java/org/apache/doris/datasource/ExternalCatalogTest.java
index f8e72c366b5..67d1e2d7ab4 100644
---
a/fe/fe-core/src/test/java/org/apache/doris/datasource/ExternalCatalogTest.java
+++
b/fe/fe-core/src/test/java/org/apache/doris/datasource/ExternalCatalogTest.java
@@ -276,4 +276,37 @@ public class ExternalCatalogTest extends TestWithFeService
{
dis.close();
file.delete();
}
+
+ @Test
+ public void testSerializationWithComment() throws Exception {
+ MetaContext metaContext = new MetaContext();
+ metaContext.setMetaVersion(FeMetaVersion.VERSION_CURRENT);
+ metaContext.setThreadLocalInfo();
+
+ // 1. Write objects to file
+ File file = new File("./external_catalog_with_comment_test.dat");
+ file.createNewFile();
+ DataOutputStream dos = new
DataOutputStream(Files.newOutputStream(file.toPath()));
+
+ TestExternalCatalog ctl = (TestExternalCatalog)
mgr.getCatalog("test1");
+ String testComment = "This is a test comment for serialization";
+ ctl.setComment(testComment); // Set a custom comment value
+ ctl.write(dos);
+ dos.flush();
+ dos.close();
+
+ // 2. Read objects from file
+ DataInputStream dis = new
DataInputStream(Files.newInputStream(file.toPath()));
+
+ TestExternalCatalog ctl2 = (TestExternalCatalog)
ExternalCatalog.read(dis);
+ Configuration conf = ctl2.getConfiguration();
+ Assertions.assertNotNull(conf);
+
+ // Verify the comment is properly serialized and deserialized
+ Assertions.assertEquals(testComment, ctl2.getComment());
+
+ // 3. delete files
+ dis.close();
+ file.delete();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]