Chesnay Schepler created FLINK-9976: ---------------------------------------
Summary: Odd signatures for streaming file sink format builders Key: FLINK-9976 URL: https://issues.apache.org/jira/browse/FLINK-9976 Project: Flink Issue Type: Bug Components: Streaming Connectors Affects Versions: 1.6.0 Reporter: Chesnay Schepler There are 2 instances of apparently unnecessary generic parameters in the format builders for the {{StreamingFileSink}}. Both these methods have a generic parameter for the BucketID type, however the builder itself already has such a parameter. The methods use unchecked casts to make the types fit, so we should be able to modify the signature to use the builders parameter instead. {code} public static class RowFormatBuilder<IN, BucketID> extends StreamingFileSink.BucketsBuilder<IN, BucketID> { ... public <ID> StreamingFileSink.RowFormatBuilder<IN, ID> withBucketerAndPolicy(final Bucketer<IN, ID> bucketer, final RollingPolicy<IN, ID> policy) { @SuppressWarnings("unchecked") StreamingFileSink.RowFormatBuilder<IN, ID> reInterpreted = (StreamingFileSink.RowFormatBuilder<IN, ID>) this; reInterpreted.bucketer = Preconditions.checkNotNull(bucketer); reInterpreted.rollingPolicy = Preconditions.checkNotNull(policy); return reInterpreted; } ... {code} {code} public static class BulkFormatBuilder<IN, BucketID> extends StreamingFileSink.BucketsBuilder<IN, BucketID> { ... public <ID> StreamingFileSink.BulkFormatBuilder<IN, ID> withBucketer(Bucketer<IN, ID> bucketer) { @SuppressWarnings("unchecked") StreamingFileSink.BulkFormatBuilder<IN, ID> reInterpreted = (StreamingFileSink.BulkFormatBuilder<IN, ID>) this; reInterpreted.bucketer = Preconditions.checkNotNull(bucketer); return reInterpreted; } ... {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)