[
https://issues.apache.org/jira/browse/HUDI-1536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Raymond Xu updated HUDI-1536:
-----------------------------
Epic Link: HUDI-5197
> Running Java client Copy-on-write table results in exception
> ------------------------------------------------------------
>
> Key: HUDI-1536
> URL: https://issues.apache.org/jira/browse/HUDI-1536
> Project: Apache Hudi
> Issue Type: Bug
> Components: bootstrap
> Affects Versions: 0.7.0
> Reporter: Arun Prasath
> Priority: Major
>
> Running java client example results in below error
> 906206 [main] ERROR
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor - Error
> upserting bucketType UPDATE for partition :0
> java.util.NoSuchElementException: No value present in Option
> at org.apache.hudi.common.util.Option.get(Option.java:88)
> at org.apache.hudi.io.HoodieMergeHandle.<init>(HoodieMergeHandle.java:83)
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.getUpdateHandle(BaseJavaCommitActionExecutor.java:288)
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.handleUpdate(BaseJavaCommitActionExecutor.java:264)
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.handleUpsertPartition(BaseJavaCommitActionExecutor.java:238)
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.lambda$execute$0(BaseJavaCommitActionExecutor.java:118)
> at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.execute(BaseJavaCommitActionExecutor.java:116)
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.execute(BaseJavaCommitActionExecutor.java:66)
> at
> org.apache.hudi.table.action.commit.AbstractWriteHelper.write(AbstractWriteHelper.java:55)
> at
> org.apache.hudi.table.action.commit.JavaUpsertCommitActionExecutor.execute(JavaUpsertCommitActionExecutor.java:47)
> at
> org.apache.hudi.table.HoodieJavaCopyOnWriteTable.upsert(HoodieJavaCopyOnWriteTable.java:62)
> at
> org.apache.hudi.table.HoodieJavaCopyOnWriteTable.upsert(HoodieJavaCopyOnWriteTable.java:50)
> at
> org.apache.hudi.client.HoodieJavaWriteClient.upsert(HoodieJavaWriteClient.java:101)
> at HoodieJavaWriteClientExample.main(HoodieJavaWriteClientExample.java:104)
> Exception in thread "main" org.apache.hudi.exception.HoodieUpsertException:
> Error upserting bucketType UPDATE for partition :0
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.handleUpsertPartition(BaseJavaCommitActionExecutor.java:245)
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.lambda$execute$0(BaseJavaCommitActionExecutor.java:118)
> at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.execute(BaseJavaCommitActionExecutor.java:116)
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.execute(BaseJavaCommitActionExecutor.java:66)
> at
> org.apache.hudi.table.action.commit.AbstractWriteHelper.write(AbstractWriteHelper.java:55)
> at
> org.apache.hudi.table.action.commit.JavaUpsertCommitActionExecutor.execute(JavaUpsertCommitActionExecutor.java:47)
> at
> org.apache.hudi.table.HoodieJavaCopyOnWriteTable.upsert(HoodieJavaCopyOnWriteTable.java:62)
> at
> org.apache.hudi.table.HoodieJavaCopyOnWriteTable.upsert(HoodieJavaCopyOnWriteTable.java:50)
> at
> org.apache.hudi.client.HoodieJavaWriteClient.upsert(HoodieJavaWriteClient.java:101)
> at HoodieJavaWriteClientExample.main(HoodieJavaWriteClientExample.java:104)
> Caused by: java.util.NoSuchElementException: No value present in Option
> at org.apache.hudi.common.util.Option.get(Option.java:88)
> at org.apache.hudi.io.HoodieMergeHandle.<init>(HoodieMergeHandle.java:83)
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.getUpdateHandle(BaseJavaCommitActionExecutor.java:288)
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.handleUpdate(BaseJavaCommitActionExecutor.java:264)
> at
> org.apache.hudi.table.action.commit.BaseJavaCommitActionExecutor.handleUpsertPartition(BaseJavaCommitActionExecutor.java:238)
> ... 10 more
>
> In HoodieMergeHandle constructor code below line
> init(fileId, partitionPath,
> {color:#00875a}hoodieTable.getBaseFileOnlyView().getLatestBaseFile(partitionPath,
> fileId){color}.get());
> returns an Option and get is performed on it without safety check.
> Input file path: Local file system (mac os)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)