ajantha-bhat commented on code in PR #5037:
URL: https://github.com/apache/iceberg/pull/5037#discussion_r898206634
##########
core/src/main/java/org/apache/iceberg/BaseMetastoreCatalog.java:
##########
@@ -65,6 +66,22 @@ public Table loadTable(TableIdentifier identifier) {
return result;
}
+ @Override
+ public org.apache.iceberg.Table registerTable(TableIdentifier identifier,
String metadataFileLocation) {
+ Preconditions.checkArgument(isValidIdentifier(identifier), "Invalid
identifier: %s", identifier);
+
Review Comment:
I know we just moved this `HiveCatalog`.
But we can add the below validation
```
Preconditions.checkArgument(metadataFileLocation != null &&
!metadataFileLocation.isEmpty(),
"Cannot register an empty metadata file location as a table");
```
##########
nessie/src/test/java/org/apache/iceberg/nessie/TestNessieTable.java:
##########
@@ -356,6 +360,107 @@ public void testListTables() {
Assertions.assertThat(catalog.tableExists(TABLE_IDENTIFIER)).isTrue();
}
+ @Test
+ public void testRegisterTableWithGivenBranch() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ catalog.dropTable(TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"@main`"), false);
+ catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME + "@main`"),
+ "file:" + metadataVersionFiles.get(0));
+ Table newTable = catalog.loadTable(TableIdentifier.of(DB_NAME, "`" +
TABLE_NAME + "@main`"));
+ Assertions.assertThat(newTable).isNotNull();
+ TableOperations ops = ((HasTableOperations) newTable).operations();
+ String metadataLocation = ((NessieTableOperations)
ops).currentMetadataLocation();
+ Assertions.assertThat("file:" +
metadataVersionFiles.get(0)).isEqualTo(metadataLocation);
+ Assertions.assertThat(catalog.tableExists(TableIdentifier.of(DB_NAME, "`"
+ TABLE_NAME + "@main`"))).isTrue();
+ }
+
+ @Test
+ public void testRegisterTableBranchNotPresent() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+
+ Assertions.assertThatThrownBy(
+ () -> catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"`@default"),
+ "file:" + metadataVersionFiles.get(0)))
+ .isInstanceOf(IllegalArgumentException.class)
+ .hasMessage("Nessie ref 'default' does not exist");
+ }
+
+ @Test
+ public void testRegisterTableWithDefaultBranch() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ catalog.dropTable(TABLE_IDENTIFIER);
+ catalog.registerTable(TABLE_IDENTIFIER, "file:" +
metadataVersionFiles.get(0));
+
+ Table newTable = catalog.loadTable(TABLE_IDENTIFIER);
+ Assertions.assertThat(newTable).isNotNull();
+ TableOperations ops = ((HasTableOperations) newTable).operations();
+ String metadataLocation = ((NessieTableOperations)
ops).currentMetadataLocation();
+ Assertions.assertThat("file:" +
metadataVersionFiles.get(0)).isEqualTo(metadataLocation);
+ Assertions.assertThat(catalog.tableExists(TABLE_IDENTIFIER)).isTrue();
+ }
+
+ @Test
+ public void testRegisterTableTableAlreadyExists() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+
+ Assertions.assertThatThrownBy(() ->
catalog.registerTable(TABLE_IDENTIFIER, "file:" + metadataVersionFiles.get(0)))
+ .isInstanceOf(AlreadyExistsException.class)
+ .hasMessage(
+ "Table already exists: db.tbl");
+ }
+
+ @Test
+ public void testRegisterTableTagName() throws NessieConflictException,
NessieNotFoundException {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ api.createReference().sourceRefName(BRANCH).reference(Tag.of("tag_1",
catalog.currentHash())).create();
+
+ Assertions.assertThatThrownBy(
+ () -> catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"`@tag_1"),
+ "file:" + metadataVersionFiles.get(0)))
+ .isInstanceOf(IllegalArgumentException.class)
+ .hasMessage("You can only mutate tables when using a branch
without a hash or timestamp.");
+ }
+
+ @Ignore
+ public void testRegisterTableMoreThanOneBranch() throws
NessieConflictException, NessieNotFoundException {
+ // Dependency on PR #5033 for the backend bug fixes in drop table.
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ catalog.dropTable(TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"@main`"), false);
+ catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME + "@main`"),
+ "file:" + metadataVersionFiles.get(0));
+ Table newTable = catalog.loadTable(TableIdentifier.of(DB_NAME, "`" +
TABLE_NAME + "@main`"));
+ Assertions.assertThat(newTable).isNotNull();
+ TableOperations ops = ((HasTableOperations) newTable).operations();
+ String metadataLocation = ((NessieTableOperations)
ops).currentMetadataLocation();
+ Assertions.assertThat("file:" +
metadataVersionFiles.get(0)).isEqualTo(metadataLocation);
+ Assertions.assertThat(catalog.tableExists(TableIdentifier.of(DB_NAME, "`"
+ TABLE_NAME + "@main`"))).isTrue();
+
+ api.createReference().sourceRefName(BRANCH).reference(Tag.of("branch1",
catalog.currentHash())).create();
+
+ List<String> metadataVersionFiles1 = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles1.size());
+ catalog.dropTable(TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"@branch1`"));
+ catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME + "@branch1`"),
+ "file:" + metadataVersionFiles1.get(0));
+ Table newTable1 = catalog.loadTable(TableIdentifier.of(DB_NAME, "`" +
TABLE_NAME + "@branch1`"));
+ Assertions.assertThat(newTable1).isNotNull();
+ TableOperations ops1 = ((HasTableOperations) newTable1).operations();
+ String metadataLocation1 = ((NessieTableOperations)
ops1).currentMetadataLocation();
+ Assertions.assertThat("file:" +
metadataVersionFiles1.get(0)).isEqualTo(metadataLocation1);
+ Assertions.assertThat(catalog.tableExists(TableIdentifier.of(DB_NAME, "`"
+ TABLE_NAME + "@branch1`"))).isTrue();
+ }
+
private String getTableBasePath(String tableName) {
String databasePath = temp.toString() + "/" + DB_NAME;
return Paths.get(databasePath, tableName).toAbsolutePath().toString();
Review Comment:
We can add `registerTable` test cases of `GlueCatalog` also in this PR or
follow-up PR.
##########
nessie/src/test/java/org/apache/iceberg/nessie/TestNessieTable.java:
##########
@@ -356,6 +360,107 @@ public void testListTables() {
Assertions.assertThat(catalog.tableExists(TABLE_IDENTIFIER)).isTrue();
}
+ @Test
+ public void testRegisterTableWithGivenBranch() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ catalog.dropTable(TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"@main`"), false);
+ catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME + "@main`"),
+ "file:" + metadataVersionFiles.get(0));
+ Table newTable = catalog.loadTable(TableIdentifier.of(DB_NAME, "`" +
TABLE_NAME + "@main`"));
+ Assertions.assertThat(newTable).isNotNull();
+ TableOperations ops = ((HasTableOperations) newTable).operations();
+ String metadataLocation = ((NessieTableOperations)
ops).currentMetadataLocation();
+ Assertions.assertThat("file:" +
metadataVersionFiles.get(0)).isEqualTo(metadataLocation);
+ Assertions.assertThat(catalog.tableExists(TableIdentifier.of(DB_NAME, "`"
+ TABLE_NAME + "@main`"))).isTrue();
+ }
+
+ @Test
+ public void testRegisterTableBranchNotPresent() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+
+ Assertions.assertThatThrownBy(
+ () -> catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"`@default"),
+ "file:" + metadataVersionFiles.get(0)))
+ .isInstanceOf(IllegalArgumentException.class)
+ .hasMessage("Nessie ref 'default' does not exist");
+ }
+
+ @Test
+ public void testRegisterTableWithDefaultBranch() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ catalog.dropTable(TABLE_IDENTIFIER);
+ catalog.registerTable(TABLE_IDENTIFIER, "file:" +
metadataVersionFiles.get(0));
+
+ Table newTable = catalog.loadTable(TABLE_IDENTIFIER);
+ Assertions.assertThat(newTable).isNotNull();
+ TableOperations ops = ((HasTableOperations) newTable).operations();
+ String metadataLocation = ((NessieTableOperations)
ops).currentMetadataLocation();
+ Assertions.assertThat("file:" +
metadataVersionFiles.get(0)).isEqualTo(metadataLocation);
+ Assertions.assertThat(catalog.tableExists(TABLE_IDENTIFIER)).isTrue();
+ }
+
+ @Test
+ public void testRegisterTableTableAlreadyExists() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+
+ Assertions.assertThatThrownBy(() ->
catalog.registerTable(TABLE_IDENTIFIER, "file:" + metadataVersionFiles.get(0)))
+ .isInstanceOf(AlreadyExistsException.class)
+ .hasMessage(
+ "Table already exists: db.tbl");
+ }
+
+ @Test
+ public void testRegisterTableTagName() throws NessieConflictException,
NessieNotFoundException {
Review Comment:
you can combine all 3 negative scenario test case (that is checking
Assertions.assertThatThrownBy) into one.
##########
nessie/src/test/java/org/apache/iceberg/nessie/TestNessieTable.java:
##########
@@ -356,6 +360,107 @@ public void testListTables() {
Assertions.assertThat(catalog.tableExists(TABLE_IDENTIFIER)).isTrue();
}
+ @Test
+ public void testRegisterTableWithGivenBranch() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ catalog.dropTable(TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"@main`"), false);
+ catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME + "@main`"),
+ "file:" + metadataVersionFiles.get(0));
+ Table newTable = catalog.loadTable(TableIdentifier.of(DB_NAME, "`" +
TABLE_NAME + "@main`"));
+ Assertions.assertThat(newTable).isNotNull();
Review Comment:
can you extract line 372 to 376 in a common function and reuse in other the
testcases?
##########
core/src/main/java/org/apache/iceberg/BaseMetastoreCatalog.java:
##########
@@ -65,6 +66,22 @@ public Table loadTable(TableIdentifier identifier) {
return result;
}
+ @Override
+ public org.apache.iceberg.Table registerTable(TableIdentifier identifier,
String metadataFileLocation) {
+ Preconditions.checkArgument(isValidIdentifier(identifier), "Invalid
identifier: %s", identifier);
+
+ // Throw an exception if this table already exists in the catalog.
+ if (tableExists(identifier)) {
+ throw new org.apache.iceberg.exceptions.AlreadyExistsException("Table
already exists: %s", identifier);
+ }
+
+ TableOperations ops = newTableOps(identifier);
+ InputFile metadataFile = ops.io().newInputFile(metadataFileLocation);
+ TableMetadata metadata = TableMetadataParser.read(ops.io(), metadataFile);
+ ops.commit(null, metadata);
Review Comment:
Instead of line 81, can we have it like this as @rdblue suggested in
https://github.com/apache/iceberg/pull/4099/files#r805404106
```
try {
// use temporary ops to pick up the table metadata settings
ops.temp(metadata).commit(null, metadata);
} catch (CommitFailedException ignored) {
throw new AlreadyExistsException("Table was created concurrently: %s",
identifier);
}
```
##########
nessie/src/test/java/org/apache/iceberg/nessie/TestNessieTable.java:
##########
@@ -356,6 +360,107 @@ public void testListTables() {
Assertions.assertThat(catalog.tableExists(TABLE_IDENTIFIER)).isTrue();
}
+ @Test
+ public void testRegisterTableWithGivenBranch() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ catalog.dropTable(TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"@main`"), false);
Review Comment:
nit: code looks cleaner if we use `TableReference` instead of
\`tableName@branch\` syntax.
You can refer the example here
https://github.com/apache/iceberg/pull/5033/files#diff-a92127e5d74e2be0c013d0eddf4c9d2af29a71f05e21d7289808271d4c97db78
##########
nessie/src/main/java/org/apache/iceberg/nessie/NessieTableOperations.java:
##########
@@ -152,7 +152,8 @@ protected void doCommit(TableMetadata base, TableMetadata
metadata) {
}
}
- String newMetadataLocation = writeNewMetadata(metadata, currentVersion() +
1);
+ String newMetadataLocation = base == null &&
metadata.metadataFileLocation() != null ?
+ metadata.metadataFileLocation() : writeNewMetadata(metadata,
currentVersion() + 1);
Review Comment:
4 spaces instead of 8 space indentation.
##########
nessie/src/test/java/org/apache/iceberg/nessie/TestNessieTable.java:
##########
@@ -356,6 +360,107 @@ public void testListTables() {
Assertions.assertThat(catalog.tableExists(TABLE_IDENTIFIER)).isTrue();
}
+ @Test
+ public void testRegisterTableWithGivenBranch() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ catalog.dropTable(TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"@main`"), false);
+ catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME + "@main`"),
+ "file:" + metadataVersionFiles.get(0));
+ Table newTable = catalog.loadTable(TableIdentifier.of(DB_NAME, "`" +
TABLE_NAME + "@main`"));
+ Assertions.assertThat(newTable).isNotNull();
+ TableOperations ops = ((HasTableOperations) newTable).operations();
+ String metadataLocation = ((NessieTableOperations)
ops).currentMetadataLocation();
+ Assertions.assertThat("file:" +
metadataVersionFiles.get(0)).isEqualTo(metadataLocation);
+ Assertions.assertThat(catalog.tableExists(TableIdentifier.of(DB_NAME, "`"
+ TABLE_NAME + "@main`"))).isTrue();
+ }
+
+ @Test
+ public void testRegisterTableBranchNotPresent() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+
+ Assertions.assertThatThrownBy(
+ () -> catalog.registerTable(
Review Comment:
please recheck the indentation in all newly added code.
##########
nessie/src/test/java/org/apache/iceberg/nessie/TestNessieTable.java:
##########
@@ -356,6 +360,107 @@ public void testListTables() {
Assertions.assertThat(catalog.tableExists(TABLE_IDENTIFIER)).isTrue();
}
+ @Test
+ public void testRegisterTableWithGivenBranch() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ catalog.dropTable(TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"@main`"), false);
+ catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME + "@main`"),
+ "file:" + metadataVersionFiles.get(0));
+ Table newTable = catalog.loadTable(TableIdentifier.of(DB_NAME, "`" +
TABLE_NAME + "@main`"));
+ Assertions.assertThat(newTable).isNotNull();
+ TableOperations ops = ((HasTableOperations) newTable).operations();
+ String metadataLocation = ((NessieTableOperations)
ops).currentMetadataLocation();
+ Assertions.assertThat("file:" +
metadataVersionFiles.get(0)).isEqualTo(metadataLocation);
+ Assertions.assertThat(catalog.tableExists(TableIdentifier.of(DB_NAME, "`"
+ TABLE_NAME + "@main`"))).isTrue();
+ }
+
+ @Test
+ public void testRegisterTableBranchNotPresent() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+
+ Assertions.assertThatThrownBy(
+ () -> catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"`@default"),
+ "file:" + metadataVersionFiles.get(0)))
+ .isInstanceOf(IllegalArgumentException.class)
+ .hasMessage("Nessie ref 'default' does not exist");
+ }
+
+ @Test
+ public void testRegisterTableWithDefaultBranch() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ catalog.dropTable(TABLE_IDENTIFIER);
+ catalog.registerTable(TABLE_IDENTIFIER, "file:" +
metadataVersionFiles.get(0));
+
+ Table newTable = catalog.loadTable(TABLE_IDENTIFIER);
+ Assertions.assertThat(newTable).isNotNull();
+ TableOperations ops = ((HasTableOperations) newTable).operations();
+ String metadataLocation = ((NessieTableOperations)
ops).currentMetadataLocation();
+ Assertions.assertThat("file:" +
metadataVersionFiles.get(0)).isEqualTo(metadataLocation);
+ Assertions.assertThat(catalog.tableExists(TABLE_IDENTIFIER)).isTrue();
+ }
+
+ @Test
+ public void testRegisterTableTableAlreadyExists() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+
+ Assertions.assertThatThrownBy(() ->
catalog.registerTable(TABLE_IDENTIFIER, "file:" + metadataVersionFiles.get(0)))
+ .isInstanceOf(AlreadyExistsException.class)
+ .hasMessage(
+ "Table already exists: db.tbl");
+ }
+
+ @Test
+ public void testRegisterTableTagName() throws NessieConflictException,
NessieNotFoundException {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ api.createReference().sourceRefName(BRANCH).reference(Tag.of("tag_1",
catalog.currentHash())).create();
+
+ Assertions.assertThatThrownBy(
+ () -> catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"`@tag_1"),
+ "file:" + metadataVersionFiles.get(0)))
+ .isInstanceOf(IllegalArgumentException.class)
+ .hasMessage("You can only mutate tables when using a branch
without a hash or timestamp.");
+ }
+
+ @Ignore
+ public void testRegisterTableMoreThanOneBranch() throws
NessieConflictException, NessieNotFoundException {
+ // Dependency on PR #5033 for the backend bug fixes in drop table.
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ catalog.dropTable(TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"@main`"), false);
+ catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME + "@main`"),
+ "file:" + metadataVersionFiles.get(0));
+ Table newTable = catalog.loadTable(TableIdentifier.of(DB_NAME, "`" +
TABLE_NAME + "@main`"));
+ Assertions.assertThat(newTable).isNotNull();
+ TableOperations ops = ((HasTableOperations) newTable).operations();
+ String metadataLocation = ((NessieTableOperations)
ops).currentMetadataLocation();
+ Assertions.assertThat("file:" +
metadataVersionFiles.get(0)).isEqualTo(metadataLocation);
+ Assertions.assertThat(catalog.tableExists(TableIdentifier.of(DB_NAME, "`"
+ TABLE_NAME + "@main`"))).isTrue();
+
+ api.createReference().sourceRefName(BRANCH).reference(Tag.of("branch1",
catalog.currentHash())).create();
+
+ List<String> metadataVersionFiles1 = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles1.size());
+ catalog.dropTable(TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"@branch1`"));
+ catalog.registerTable(
+ TableIdentifier.of(DB_NAME, "`" + TABLE_NAME + "@branch1`"),
+ "file:" + metadataVersionFiles1.get(0));
+ Table newTable1 = catalog.loadTable(TableIdentifier.of(DB_NAME, "`" +
TABLE_NAME + "@branch1`"));
+ Assertions.assertThat(newTable1).isNotNull();
+ TableOperations ops1 = ((HasTableOperations) newTable1).operations();
+ String metadataLocation1 = ((NessieTableOperations)
ops1).currentMetadataLocation();
+ Assertions.assertThat("file:" +
metadataVersionFiles1.get(0)).isEqualTo(metadataLocation1);
+ Assertions.assertThat(catalog.tableExists(TableIdentifier.of(DB_NAME, "`"
+ TABLE_NAME + "@branch1`"))).isTrue();
+ }
+
private String getTableBasePath(String tableName) {
Review Comment:
Add a test case with invalid identifiers, non-null metadata path but
metadata file not exist in that path, null metadata location.
##########
nessie/src/test/java/org/apache/iceberg/nessie/TestNessieTable.java:
##########
@@ -356,6 +360,107 @@ public void testListTables() {
Assertions.assertThat(catalog.tableExists(TABLE_IDENTIFIER)).isTrue();
}
+ @Test
+ public void testRegisterTableWithGivenBranch() {
+ List<String> metadataVersionFiles = metadataVersionFiles(TABLE_NAME);
+ Assertions.assertThat(1).isEqualTo(metadataVersionFiles.size());
+ catalog.dropTable(TableIdentifier.of(DB_NAME, "`" + TABLE_NAME +
"@main`"), false);
Review Comment:
please validate the return values drop table, tablexist, registerTable by
assert
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]