[ 
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)

Reply via email to