[
https://issues.apache.org/jira/browse/HUDI-9573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Danny Chen updated HUDI-9573:
-----------------------------
Description:
Currently we see a few type casting errors in a few places:
{code:java}
org.apache.hudi.common.table.timeline.versioning.v2.CommitMetadataSerDeV2.deserialize(CommitMetadataSerDeV2.java:88)
at
org.apache.hudi.common.table.timeline.HoodieTimeline.readNonEmptyInstantContent(HoodieTimeline.java:153)
at
org.apache.hudi.common.table.timeline.HoodieTimeline.readRollbackPlan(HoodieTimeline.java:244)
at
org.apache.hudi.metadata.HoodieTableMetadataUtil.getRollbackedCommits(HoodieTableMetadataUtil.java:2034)
... 30 more
Caused by: java.lang.ClassCastException: class
org.apache.avro.generic.GenericData$Record cannot be cast to class
org.apache.avro.specific.SpecificRecordBase
(org.apache.avro.generic.GenericData$Record and
org.apache.avro.specific.SpecificRecordBase are in unnamed module of loader
'app'){code}
The reason is some JDK releases does now allow type coersion for instantces
from different classloaders,
see issue https://github.com/apache/hudi/issues/13410 for more details.
was:
Currently we see a few type casting errors in a few places:
{code:java}
org.apache.hudi.common.table.timeline.versioning.v2.CommitMetadataSerDeV2.deserialize(CommitMetadataSerDeV2.java:88)
at
org.apache.hudi.common.table.timeline.HoodieTimeline.readNonEmptyInstantContent(HoodieTimeline.java:153)
at
org.apache.hudi.common.table.timeline.HoodieTimeline.readRollbackPlan(HoodieTimeline.java:244)
at
org.apache.hudi.metadata.HoodieTableMetadataUtil.getRollbackedCommits(HoodieTableMetadataUtil.java:2034)
... 30 more
Caused by: java.lang.ClassCastException: class
org.apache.avro.generic.GenericData$Record cannot be cast to class
org.apache.avro.specific.SpecificRecordBase
(org.apache.avro.generic.GenericData$Record and
org.apache.avro.specific.SpecificRecordBase are in unnamed module of loader
'app'){code}
See issue https://github.com/apache/hudi/issues/13410 for more details.
> Inspect all the forced class casting in the repo
> ------------------------------------------------
>
> Key: HUDI-9573
> URL: https://issues.apache.org/jira/browse/HUDI-9573
> Project: Apache Hudi
> Issue Type: Improvement
> Components: core
> Reporter: Danny Chen
> Priority: Major
>
> Currently we see a few type casting errors in a few places:
> {code:java}
> org.apache.hudi.common.table.timeline.versioning.v2.CommitMetadataSerDeV2.deserialize(CommitMetadataSerDeV2.java:88)
> at
> org.apache.hudi.common.table.timeline.HoodieTimeline.readNonEmptyInstantContent(HoodieTimeline.java:153)
> at
> org.apache.hudi.common.table.timeline.HoodieTimeline.readRollbackPlan(HoodieTimeline.java:244)
> at
> org.apache.hudi.metadata.HoodieTableMetadataUtil.getRollbackedCommits(HoodieTableMetadataUtil.java:2034)
> ... 30 more
> Caused by: java.lang.ClassCastException: class
> org.apache.avro.generic.GenericData$Record cannot be cast to class
> org.apache.avro.specific.SpecificRecordBase
> (org.apache.avro.generic.GenericData$Record and
> org.apache.avro.specific.SpecificRecordBase are in unnamed module of loader
> 'app'){code}
> The reason is some JDK releases does now allow type coersion for instantces
> from different classloaders,
> see issue https://github.com/apache/hudi/issues/13410 for more details.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)