osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


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)