You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "Ethan Guo (Jira)" <ji...@apache.org> on 2022/06/03 01:07:00 UTC

[jira] [Updated] (HUDI-3946) Validate option path in flink hudi sink

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

Ethan Guo updated HUDI-3946:
----------------------------
    Fix Version/s:     (was: 0.11.0)

> Validate option path in flink hudi sink
> ---------------------------------------
>
>                 Key: HUDI-3946
>                 URL: https://issues.apache.org/jira/browse/HUDI-3946
>             Project: Apache Hudi
>          Issue Type: Improvement
>          Components: flink
>            Reporter: Ruguo Yu
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 0.11.1
>
>
> We should do a non-null check on option 'path'[{color:#ff0000}*1*{color}] in flink hudi sink so that flink can expose the 'path' problem as early as possible, instead of throwing the error[{color:#FF0000}*2*{color}] at runtime.
> [{color:#ff0000}*1*{color}]
> {code:java}
> CREATE TABLE t1(
>   uuid VARCHAR(20) PRIMARY KEY NOT ENFORCED,
>   name VARCHAR(10),
>   age INT,
>   ts TIMESTAMP(3),
>   `partition` VARCHAR(20)
> )
> PARTITIONED BY (`partition`)
> WITH (
>   'connector' = 'hudi',
>   'path' = '${path}'
> );
> INSERT INTO t1 VALUES
>   ('id1','Danny',23,TIMESTAMP '1970-01-01 00:00:01','par1'),
>   ('id2','Stephen',33,TIMESTAMP '1970-01-01 00:00:02','par1'),
>   ('id3','Julian',53,TIMESTAMP '1970-01-01 00:00:03','par2'),
>   ('id4','Fabian',31,TIMESTAMP '1970-01-01 00:00:04','par2'),
>   ('id5','Sophia',18,TIMESTAMP '1970-01-01 00:00:05','par3'),
>   ('id6','Emma',20,TIMESTAMP '1970-01-01 00:00:06','par3'),
>   ('id7','Bob',44,TIMESTAMP '1970-01-01 00:00:07','par4'),
>   ('id8','Han',56,TIMESTAMP '1970-01-01 00:00:08','par4'); {code}
> [{color:#ff0000}*2*{color}]
> {code:java}
> Caused by: java.lang.IllegalArgumentException: Can not create a Path from a null string
>         at org.apache.hadoop.fs.Path.checkPathArg(Path.java:122) ~[hadoop-common-2.7.6.jar:?]
>         at org.apache.hadoop.fs.Path.<init>(Path.java:134) ~[hadoop-common-2.7.6.jar:?]
>         at org.apache.hudi.common.fs.FSUtils.getFs(FSUtils.java:103) ~[hudi-flink1.14-bundle_2.11-0.11.0-rc1.jar:0.11.0-rc1]
>         at org.apache.hudi.util.StreamerUtil.tableExists(StreamerUtil.java:289) ~[hudi-flink1.14-bundle_2.11-0.11.0-rc1.jar:0.11.0-rc1]
>         at org.apache.hudi.util.StreamerUtil.initTableIfNotExists(StreamerUtil.java:258) ~[hudi-flink1.14-bundle_2.11-0.11.0-rc1.jar:0.11.0-rc1]
>         at org.apache.hudi.sink.StreamWriteOperatorCoordinator.start(StreamWriteOperatorCoordinator.java:172) ~[hudi-flink1.14-bundle_2.11-0.11.0-rc1.jar:0.11.0-rc1]
>         at org.apache.flink.runtime.operators.coordination.OperatorCoordinatorHolder.start(OperatorCoordinatorHolder.java:194) ~[flink-dist_2.11-1.14.2.jar:1.14.2]
>         at org.apache.flink.runtime.scheduler.DefaultOperatorCoordinatorHandler.startAllOperatorCoordinators(DefaultOperatorCoordinatorHandler.java:85) ~[flink-dist_2.11-1.14.2.jar:1.14.2]
>         at org.apache.flink.runtime.scheduler.SchedulerBase.startScheduling(SchedulerBase.java:584) ~[flink-dist_2.11-1.14.2.jar:1.14.2]
>         at org.apache.flink.runtime.jobmaster.JobMaster.startScheduling(JobMaster.java:965) ~[flink-dist_2.11-1.14.2.jar:1.14.2]
>         at org.apache.flink.runtime.jobmaster.JobMaster.startJobExecution(JobMaster.java:882) ~[flink-dist_2.11-1.14.2.jar:1.14.2]
>         at org.apache.flink.runtime.jobmaster.JobMaster.onStart(JobMaster.java:389) ~[flink-dist_2.11-1.14.2.jar:1.14.2]
>         at org.apache.flink.runtime.rpc.RpcEndpoint.internalCallOnStart(RpcEndpoint.java:181) ~[flink-dist_2.11-1.14.2.jar:1.14.2]
>         at org.apache.flink.runtime.rpc.akka.AkkaRpcActor$StoppedState.lambda$start$0(AkkaRpcActor.java:624) ~[flink-rpc-akka_a8af7b4c-9c0c-4ac4-a1b1-1690068e50df.jar:1.14.2]
>         at org.apache.flink.runtime.concurrent.akka.ClassLoadingUtils.runWithContextClassLoader(ClassLoadingUtils.java:68) ~[flink-rpc-akka_a8af7b4c-9c0c-4ac4-a1b1-1690068e50df.jar:1.14.2]
>         at org.apache.flink.runtime.rpc.akka.AkkaRpcActor$StoppedState.start(AkkaRpcActor.java:623) ~[flink-rpc-akka_a8af7b4c-9c0c-4ac4-a1b1-1690068e50df.jar:1.14.2]
>         ... 20 more {code}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)