luoyuxia commented on code in PR #22831:
URL: https://github.com/apache/flink/pull/22831#discussion_r1241007352
##########
flink-connectors/flink-connector-files/src/main/java/org/apache/flink/connector/file/table/PartitionCommitPolicyFactory.java:
##########
@@ -37,12 +39,22 @@ public class PartitionCommitPolicyFactory implements
Serializable {
private final String policyKind;
private final String customClass;
private final String successFileName;
+ private final List<String> parameters;
public PartitionCommitPolicyFactory(
Review Comment:
We can remove this constructor.
Please also rememer to update the Hive part.
##########
flink-connectors/flink-connector-files/src/main/java/org/apache/flink/connector/file/table/FileSystemConnectorOptions.java:
##########
@@ -220,6 +221,15 @@ public class FileSystemConnectorOptions {
"The partition commit policy class for implement"
+ " PartitionCommitPolicy interface. Only
work in custom commit policy");
+ public static final ConfigOption<List<String>>
SINK_PARTITION_COMMIT_POLICY_CLASS_PARAMETERS =
+ key("sink.partition-commit.policy.class.parameters")
+ .stringType()
+ .asList()
+ .noDefaultValue()
+ .withDescription(
+ "A (semicolon-separated) list of patterns that for
custom policy class"
Review Comment:
May be we should highlight that the all the parameter(if have) of this
policy class should be string.
##########
flink-connectors/flink-connector-files/src/main/java/org/apache/flink/connector/file/table/PartitionCommitPolicyFactory.java:
##########
@@ -63,11 +75,23 @@ public List<PartitionCommitPolicy> createPolicyChain(
successFileName, fsSupplier.get());
case PartitionCommitPolicy.CUSTOM:
try {
- return (PartitionCommitPolicy)
-
cl.loadClass(customClass).newInstance();
- } catch (ClassNotFoundException
- | IllegalAccessException
- | InstantiationException e) {
+ if (parameters != null &&
!parameters.isEmpty()) {
Review Comment:
I'm wondering if change it to
```
parameters != null
```
Can it also get the constructor with empty arguments?
If so, we should consider to change to `parameters != null` to make code
more clear.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]