Bohdan Kazydub created DRILL-7565:
-------------------------------------
Summary: ANALYZE TABLE ... REFRESH METADATA does not work for
empty Parquet files
Key: DRILL-7565
URL: https://issues.apache.org/jira/browse/DRILL-7565
Project: Apache Drill
Issue Type: Bug
Affects Versions: 1.17.0
Reporter: Bohdan Kazydub
Assignee: Vova Vysotskyi
The following query does not create metadata for empty Parquet table:
{code}
@Test
public void testAnalyzeEmptyParquetTable() throws Exception {
String tableName = "parquet/empty/simple/empty_simple.parquet";
try {
client.alterSession(ExecConstants.METASTORE_ENABLED, true);
testBuilder()
.sqlQuery("ANALYZE TABLE dfs.`%s` REFRESH METADATA", tableName)
.unOrdered()
.baselineColumns("ok", "summary")
.baselineValues(true, String.format("Collected / refreshed metadata
for table [dfs.default.%s]", tableName))
.go();
} finally {
run("analyze table dfs.`%s` drop metadata if exists", tableName);
client.resetSession(ExecConstants.METASTORE_ENABLED);
}
}
{code}
but yields
{code}
java.lang.AssertionError: Different number of records returned
Expected :1
Actual :0
<Click to see difference>
at
org.apache.drill.test.DrillTestWrapper.compareResults(DrillTestWrapper.java:862)
at
org.apache.drill.test.DrillTestWrapper.compareUnorderedResults(DrillTestWrapper.java:567)
at org.apache.drill.test.DrillTestWrapper.run(DrillTestWrapper.java:171)
at org.apache.drill.test.TestBuilder.go(TestBuilder.java:145)
at
org.apache.drill.exec.store.parquet.TestEmptyParquet.testSelectWithDisabledMetastore(TestEmptyParquet.java:430)
at java.lang.Thread.run(Thread.java:748)
{code}
When changing expected result set to empty
({{TestBuilder#expectsEmptyResultSet()}}), {{SHOW TABLES}} command after
{{ANALYZE TABLE ...}} does not show any table.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)