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)

Reply via email to