You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Rijo Joseph (Jira)" <ji...@apache.org> on 2022/03/20 14:05:00 UTC
[jira] [Created] (HIVE-26050) Hive reads fails via clients like Trino after compaction failure
Rijo Joseph created HIVE-26050:
----------------------------------
Summary: Hive reads fails via clients like Trino after compaction failure
Key: HIVE-26050
URL: https://issues.apache.org/jira/browse/HIVE-26050
Project: Hive
Issue Type: Bug
Reporter: Rijo Joseph
When compactions fail on hive 3.1.2, it is for some reason creating an empty metadata file which is causing the reader to fail with `{*}_No content to map to Object due to end of input_{*}` while checking for the state of compaction.
Looks like there should be a validation of the content of the file is empty of not before mapping here [https://github.com/apache/hive/blob/8190d2be7b7165effa62bd21b7d60ef81fb0e4af/ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java#L1679] ?
{code:java}
// Caused by: java.io.EOFException: No content to map to Object due to end of input
at io.trino.hive.$internal.org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2775)
at io.trino.hive.$internal.org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2718)
at io.trino.hive.$internal.org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1909)
at org.apache.hadoop.hive.ql.io.AcidUtils$MetaDataFile.isCompacted(AcidUtils.java:1679)
at org.apache.hadoop.hive.ql.io.AcidUtils.isValidBase(AcidUtils.java:1142)
at org.apache.hadoop.hive.ql.io.AcidUtils.getChildState(AcidUtils.java:1175)
at org.apache.hadoop.hive.ql.io.AcidUtils.getAcidState(AcidUtils.java:1019)
at org.apache.hadoop.hive.ql.io.AcidUtils.getAcidState(AcidUtils.java:978)
at io.trino.plugin.hive.BackgroundHiveSplitLoader.lambda$loadPartition$4(BackgroundHiveSplitLoader.java:502)
at io.trino.plugin.hive.authentication.NoHdfsAuthentication.doAs(NoHdfsAuthentication.java:25)
at io.trino.plugin.hive.HdfsEnvironment.doAs(HdfsEnvironment.java:97)
at io.trino.plugin.hive.BackgroundHiveSplitLoader.loadPartition(BackgroundHiveSplitLoader.java:502)
at io.trino.plugin.hive.BackgroundHiveSplitLoader.loadSplits(BackgroundHiveSplitLoader.java:352)
at io.trino.plugin.hive.BackgroundHiveSplitLoader$HiveSplitLoaderTask.process(BackgroundHiveSplitLoader.java:276)
... 6 more {code}
Also, not sure why an empty metadata file is getting created in case of failure to compaction.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)