You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2021/02/02 13:28:00 UTC

[jira] [Updated] (HUDI-1446) Support skip bootstrapIndex's init in abstract fs view init

     [ https://issues.apache.org/jira/browse/HUDI-1446?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ASF GitHub Bot updated HUDI-1446:
---------------------------------
    Labels: pull-request-available  (was: )

> Support skip bootstrapIndex's init in abstract fs view init
> -----------------------------------------------------------
>
>                 Key: HUDI-1446
>                 URL: https://issues.apache.org/jira/browse/HUDI-1446
>             Project: Apache Hudi
>          Issue Type: Improvement
>            Reporter: ann
>            Priority: Major
>              Labels: pull-request-available
>
> the bootstrapIndex default is HFileBootstrapIndex. If program doesn't include hbase pom, it would throw a exception as follows:
> Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/util/BytesCaused by: java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/util/Bytes at org.apache.hudi.common.bootstrap.index.HFileBootstrapIndex.<clinit>(HFileBootstrapIndex.java:92) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.apache.hudi.common.util.ReflectionUtils.getClass(ReflectionUtils.java:53) at org.apache.hudi.common.util.ReflectionUtils.loadClass(ReflectionUtils.java:87) at org.apache.hudi.common.util.ReflectionUtils.loadClass(ReflectionUtils.java:98) at org.apache.hudi.common.bootstrap.index.BootstrapIndex.getBootstrapIndex(BootstrapIndex.java:159) at org.apache.hudi.common.table.view.AbstractTableFileSystemView.init(AbstractTableFileSystemView.java:106) at org.apache.hudi.common.table.view.HoodieTableFileSystemView.init(HoodieTableFileSystemView.java:106) at org.apache.hudi.common.table.view.HoodieTableFileSystemView.<init>(HoodieTableFileSystemView.java:100) at org.apache.hudi.common.table.view.FileSystemViewManager.createInMemoryFileSystemView(FileSystemViewManager.java:158) at org.apache.hudi.common.table.view.FileSystemViewManager.lambda$createViewManager$ab86fd6b$5(FileSystemViewManager.java:213) at org.apache.hudi.common.table.view.FileSystemViewManager.lambda$getFileSystemView$1(FileSystemViewManager.java:104) at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) at org.apache.hudi.common.table.view.FileSystemViewManager.getFileSystemView(FileSystemViewManager.java:103) at org.apache.hudi.table.HoodieTable.getBaseFileOnlyView(HoodieTable.java:242) at org.apache.hudi.table.action.commit.UpsertPartitioner.getSmallFiles(UpsertPartitioner.java:230) at org.apache.hudi.table.action.commit.UpsertPartitioner.lambda$getSmallFilesForPartitions$681ff4ab$1(UpsertPartitioner.java:213) at org.apache.hudi.client.common.function.FunctionWrapper.lambda$throwingMapToPairWrapper$3(FunctionWrapper.java:68) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) at org.apache.hudi.client.common.HoodieFlinkEngineContext.mapToPair(HoodieFlinkEngineContext.java:79) at org.apache.hudi.table.action.commit.UpsertPartitioner.getSmallFilesForPartitions(UpsertPartitioner.java:213) at org.apache.hudi.table.action.commit.UpsertPartitioner.assignInserts(UpsertPartitioner.java:136) at org.apache.hudi.table.action.commit.UpsertPartitioner.<init>(UpsertPartitioner.java:97) at org.apache.hudi.table.action.commit.BaseFlinkCommitActionExecutor.getUpsertPartitioner(BaseFlinkCommitActionExecutor.java:321) at org.apache.hudi.table.action.commit.BaseFlinkCommitActionExecutor.getPartitioner(BaseFlinkCommitActionExecutor.java:144) at org.apache.hudi.table.action.commit.BaseFlinkCommitActionExecutor.execute(BaseFlinkCommitActionExecutor.java:114) at org.apache.hudi.table.action.commit.BaseFlinkCommitActionExecutor.execute(BaseFlinkCommitActionExecutor.java:68) at org.apache.hudi.table.action.commit.AbstractWriteHelper.write(AbstractWriteHelper.java:55) 
>  
> When write data into hoodie table using operation api, shouldn't init a bootstrap index.
> The patch change Bootstrap api , it would return a null if execution config does not set bootstrap path, and skip some process when index is null in abstract fs view.



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