You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ma...@apache.org on 2026/07/06 19:55:49 UTC
(flink) 01/02: [FLINK-36242][test] Fix inconsistent logic between listTable and getTable in TestFileSystemCatalog
This is an automated email from the ASF dual-hosted git repository.
MartijnVisser pushed a commit to branch release-1.20
in repository https://gitbox.apache.org/repos/asf/flink.git
commit b8ba71ddea641ab99e382d5fa638020b3c414b48
Author: Feng Jin <ji...@gmail.com>
AuthorDate: Tue Sep 10 11:06:23 2024 +0800
[FLINK-36242][test] Fix inconsistent logic between listTable and getTable in TestFileSystemCatalog
(cherry picked from commit 5ea7ea70f317bea1d544579ed6f9bac8b72d15ec)
---
.../file/testutils/catalog/TestFileSystemCatalog.java | 9 ++++++---
.../file/testutils/catalog/TestFileSystemCatalogTest.java | 15 +++++++++++++--
.../testutils/catalog/TestFileSystemCatalogTestBase.java | 1 +
3 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/flink-test-utils-parent/flink-table-filesystem-test-utils/src/main/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalog.java b/flink-test-utils-parent/flink-table-filesystem-test-utils/src/main/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalog.java
index 6d64ecee032..3d72da3ae78 100644
--- a/flink-test-utils-parent/flink-table-filesystem-test-utils/src/main/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalog.java
+++ b/flink-test-utils-parent/flink-table-filesystem-test-utils/src/main/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalog.java
@@ -241,6 +241,7 @@ public class TestFileSystemCatalog extends AbstractCatalog {
return Arrays.stream(fs.listStatus(dbPath))
.filter(FileStatus::isDir)
.map(fileStatus -> fileStatus.getPath().getName())
+ .filter(name -> tableExists(new ObjectPath(databaseName, name)))
.collect(Collectors.toList());
} catch (IOException e) {
throw new CatalogException(
@@ -355,10 +356,12 @@ public class TestFileSystemCatalog extends AbstractCatalog {
try {
if (!fs.exists(path)) {
fs.mkdirs(path);
+ }
+ if (!fs.exists(tableSchemaPath)) {
fs.mkdirs(tableSchemaPath);
- if (isFileSystemTable(catalogTable.getOptions())) {
- fs.mkdirs(tableDataPath);
- }
+ }
+ if (isFileSystemTable(catalogTable.getOptions()) && !fs.exists(tableDataPath)) {
+ fs.mkdirs(tableDataPath);
}
// write table schema
diff --git a/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTest.java b/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTest.java
index 3d7ba88a96e..1936896146b 100644
--- a/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTest.java
+++ b/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTest.java
@@ -42,6 +42,8 @@ import org.apache.flink.table.refresh.RefreshHandler;
import org.junit.jupiter.api.Test;
+import java.nio.file.Files;
+import java.nio.file.Paths;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
@@ -305,12 +307,21 @@ public class TestFileSystemCatalogTest extends TestFileSystemCatalogTestBase {
// test list table
List<String> tables = catalog.listTables(TEST_DEFAULT_DATABASE);
- assertThat(tables.contains(tablePath1.getObjectName())).isTrue();
- assertThat(tables.contains(tablePath2.getObjectName())).isTrue();
+ assertThat(tables).contains(tablePath1.getObjectName());
+ assertThat(tables).contains(tablePath2.getObjectName());
// test list non-exist database table
assertThrows(
DatabaseNotExistException.class, () -> catalog.listTables(NONE_EXIST_DATABASE));
+
+ // test list table ignore the empty path
+ String nonExistTablePath =
+ String.format(
+ "%s/%s/%s",
+ tempFile.getAbsolutePath(), TEST_DEFAULT_DATABASE, NONE_EXIST_TABLE);
+ Files.createDirectories(Paths.get(nonExistTablePath));
+ tables = catalog.listTables(TEST_DEFAULT_DATABASE);
+ assertThat(tables).doesNotContain(NONE_EXIST_TABLE);
}
@Test
diff --git a/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTestBase.java b/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTestBase.java
index 8cd5fc306e6..fb419cf019e 100644
--- a/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTestBase.java
+++ b/flink-test-utils-parent/flink-table-filesystem-test-utils/src/test/java/org/apache/flink/table/file/testutils/catalog/TestFileSystemCatalogTestBase.java
@@ -32,6 +32,7 @@ public abstract class TestFileSystemCatalogTestBase extends AbstractTestBase {
protected static final String TEST_CATALOG = "test_catalog";
protected static final String TEST_DEFAULT_DATABASE = "test_db";
protected static final String NONE_EXIST_DATABASE = "none_exist_database";
+ protected static final String NONE_EXIST_TABLE = "none_exist_table";
protected TestFileSystemCatalog catalog;