[ 
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

Reply via email to