Arun Prasath created HUDI-1536:
----------------------------------

             Summary: 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


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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to