[ https://issues.apache.org/jira/browse/IMPALA-14203?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Quanlong Huang updated IMPALA-14203: ------------------------------------ Description: MetastoreEventsProcessorTest.testIgnoreNonDefaultCatalogs fails when build on Apache Hive 3: {noformat} java.lang.AssertionError at org.junit.Assert.fail(Assert.java:86) at org.junit.Assert.assertTrue(Assert.java:41) at org.junit.Assert.assertNotNull(Assert.java:712) at org.junit.Assert.assertNotNull(Assert.java:722) at org.apache.impala.catalog.events.MetastoreEventsProcessorTest.testIgnoreNonDefaultCatalogs(MetastoreEventsProcessorTest.java:409) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:316) at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:240) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:214) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:155) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162) at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495){noformat} The last assertion of the test fails: {code:java} // assert that dbname and table in the default catalog exist assertNotNull(catalog_.getDb(TEST_DB_NAME)); assertNotNull(catalog_.getTable(TEST_DB_NAME, tblName)); dropDatabaseCascade(catName, TEST_DB_NAME); // when a catalog is created a default database is also created within it dropDatabaseCascade(catName, "default"); dropHiveCatalogIfExists(catName); eventsProcessor_.processEvents(); assertEquals(EventProcessorStatus.ACTIVE, eventsProcessor_.getStatus()); // assert that dbname and table in the default catalog exist assertNotNull(catalog_.getDb(TEST_DB_NAME)); assertNotNull(catalog_.getTable(TEST_DB_NAME, tblName)); // <---- This fails{code} The test creates two tables using the same db and table names in two different catalogs. Then drops the non-default catalog in Hive and verifies the db and table in the default catalog still exists in the metadata cache. It seems the table is dropped when dropping the db of another catalog. Might be a bug of Hive 3.1.3 and fixed in later Hive versions. was: The last assertion of the test fails when build on Apache Hive 3. {code:java} // assert that dbname and table in the default catalog exist assertNotNull(catalog_.getDb(TEST_DB_NAME)); assertNotNull(catalog_.getTable(TEST_DB_NAME, tblName)); dropDatabaseCascade(catName, TEST_DB_NAME); // when a catalog is created a default database is also created within it dropDatabaseCascade(catName, "default"); dropHiveCatalogIfExists(catName); eventsProcessor_.processEvents(); assertEquals(EventProcessorStatus.ACTIVE, eventsProcessor_.getStatus()); // assert that dbname and table in the default catalog exist assertNotNull(catalog_.getDb(TEST_DB_NAME)); assertNotNull(catalog_.getTable(TEST_DB_NAME, tblName)); // <---- This fails{code} The test creates two tables using the same db and table names in two different catalogs. Then drops the non-default catalog in Hive and verifies the db and table in the default catalog still exists in the metadata cache. It seems the table is dropped when dropping the db of another catalog. Might be a bug of Hive 3.1.3 and fixed in later Hive versions. > MetastoreEventsProcessorTest.testIgnoreNonDefaultCatalogs fails when build on > Apache Hive3 > ------------------------------------------------------------------------------------------ > > Key: IMPALA-14203 > URL: https://issues.apache.org/jira/browse/IMPALA-14203 > Project: IMPALA > Issue Type: Bug > Components: Catalog > Reporter: Quanlong Huang > Assignee: Quanlong Huang > Priority: Major > > MetastoreEventsProcessorTest.testIgnoreNonDefaultCatalogs fails when build on > Apache Hive 3: > {noformat} > java.lang.AssertionError > at org.junit.Assert.fail(Assert.java:86) > at org.junit.Assert.assertTrue(Assert.java:41) > at org.junit.Assert.assertNotNull(Assert.java:712) > at org.junit.Assert.assertNotNull(Assert.java:722) > at > org.apache.impala.catalog.events.MetastoreEventsProcessorTest.testIgnoreNonDefaultCatalogs(MetastoreEventsProcessorTest.java:409) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) > at org.junit.runners.ParentRunner.run(ParentRunner.java:363) > at > org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:316) > at > org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:240) > at > org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:214) > at > org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:155) > at > org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385) > at > org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162) > at > org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507) > at > org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495){noformat} > The last assertion of the test fails: > {code:java} > // assert that dbname and table in the default catalog exist > assertNotNull(catalog_.getDb(TEST_DB_NAME)); > assertNotNull(catalog_.getTable(TEST_DB_NAME, tblName)); > dropDatabaseCascade(catName, TEST_DB_NAME); > // when a catalog is created a default database is also created within it > dropDatabaseCascade(catName, "default"); > dropHiveCatalogIfExists(catName); > eventsProcessor_.processEvents(); > assertEquals(EventProcessorStatus.ACTIVE, eventsProcessor_.getStatus()); > // assert that dbname and table in the default catalog exist > assertNotNull(catalog_.getDb(TEST_DB_NAME)); > assertNotNull(catalog_.getTable(TEST_DB_NAME, tblName)); // <---- This > fails{code} > The test creates two tables using the same db and table names in two > different catalogs. Then drops the non-default catalog in Hive and verifies > the db and table in the default catalog still exists in the metadata cache. > It seems the table is dropped when dropping the db of another catalog. Might > be a bug of Hive 3.1.3 and fixed in later Hive versions. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org