jackye1995 commented on a change in pull request #2565:
URL: https://github.com/apache/iceberg/pull/2565#discussion_r633146138
##########
File path: mr/src/test/java/org/apache/iceberg/mr/TestCatalogs.java
##########
@@ -191,91 +191,103 @@ public void testCreateDropTableToCatalog() throws
IOException {
}
@Test
- public void testLoadCatalog() throws IOException {
- conf.set(InputFormatConfig.CATALOG, Catalogs.LOCATION);
- Assert.assertFalse(Catalogs.loadCatalog(conf, null).isPresent());
+ public void testLoadCatalog_legacy_default() {
+ Optional<Catalog> defaultCatalog = Catalogs.loadCatalog(conf, null);
+ Assert.assertTrue(defaultCatalog.isPresent());
+ Assert.assertTrue(defaultCatalog.get() instanceof HiveCatalog);
+ }
- String nonExistentCatalogType = "fooType";
+ @Test
+ public void testLoadCatalog_legacy_hive() {
+ conf.set(InputFormatConfig.CATALOG, CatalogUtil.ICEBERG_CATALOG_TYPE_HIVE);
+ Optional<Catalog> hiveCatalog = Catalogs.loadCatalog(conf, null);
+ Assert.assertTrue(hiveCatalog.isPresent());
+ Assert.assertTrue(hiveCatalog.get() instanceof HiveCatalog);
+ }
- conf.set(InputFormatConfig.CATALOG, nonExistentCatalogType);
- AssertHelpers.assertThrows(
- "should complain about catalog not supported",
UnsupportedOperationException.class,
- "Unknown catalog type", () -> Catalogs.loadCatalog(conf, null));
+ @Test
+ public void testLoadCatalog_legacy_location() {
+ conf.set(InputFormatConfig.CATALOG, Catalogs.LOCATION);
+ Assert.assertFalse(Catalogs.loadCatalog(conf, null).isPresent());
+ }
+ @Test
+ public void testLoadCatalog_legacy_hadoop() {
conf.set(InputFormatConfig.CATALOG,
CatalogUtil.ICEBERG_CATALOG_TYPE_HADOOP);
conf.set(InputFormatConfig.HADOOP_CATALOG_WAREHOUSE_LOCATION,
"/tmp/mylocation");
Optional<Catalog> hadoopCatalog = Catalogs.loadCatalog(conf, null);
-
Assert.assertTrue(hadoopCatalog.isPresent());
Assert.assertTrue(hadoopCatalog.get() instanceof HadoopCatalog);
+ }
- conf.set(InputFormatConfig.CATALOG, CatalogUtil.ICEBERG_CATALOG_TYPE_HIVE);
- Optional<Catalog> hiveCatalog = Catalogs.loadCatalog(conf, null);
-
- Assert.assertTrue(hiveCatalog.isPresent());
- Assert.assertTrue(hiveCatalog.get() instanceof HiveCatalog);
-
- conf.set(InputFormatConfig.CATALOG, Catalogs.LOCATION);
- Assert.assertFalse(Catalogs.loadCatalog(conf, null).isPresent());
+ @Test
+ public void testLoadCatalog_legacy_unknown() {
+ conf.set(InputFormatConfig.CATALOG, "fooType");
+ AssertHelpers.assertThrows(
+ "should complain about catalog not supported",
UnsupportedOperationException.class,
+ "Unknown catalog type", () -> Catalogs.loadCatalog(conf, null));
+ }
Review comment:
Actually, because the `CATALOG_LOADER_CLASS`
(`iceberg.mr.catalog.loader.class`) is no longer used, we cannot load a custom
catalog in the legacy mode, so there is no test for it.
Looking at
https://github.com/apache/iceberg/pull/2129/files#diff-c183ea3aa154c2a5012f87d7a06dba3cff3f27975384e9fb4040fe6850a98bd6L192-L193,
this seems like a backwards incompatible change. @lcspinter is this
intentional, or should we add that part of the logic back?
--
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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]