[jira] [Created] (FLINK-9976) Odd signatures for streaming file sink format builders

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-9976) Odd signatures for streaming file sink format builders

Shang Yuanchun (Jira)
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)