flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tzulitai <...@git.apache.org>
Subject [GitHub] flink pull request #5393: [FLINK-8516] Allow for custom hash function for sh...
Date Wed, 31 Jan 2018 15:20:45 GMT
Github user tzulitai commented on a diff in the pull request:

    https://github.com/apache/flink/pull/5393#discussion_r165083343
  
    --- Diff: flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/internals/KinesisDataFetcher.java
---
    @@ -584,17 +594,34 @@ private static ShardMetricsReporter registerShardMetrics(MetricGroup
metricGroup
     	//  Miscellaneous utility functions
     	// ------------------------------------------------------------------------
     
    +	/**
    +	 * Function to map a Kinesis shard to a Flink subtask index.
    +	 */
    +	public interface ShardToSubtaskIndexFn {
    +		/**
    +		 * Function to map a Kinesis shard to a Flink subtask index.
    +		 *
    +		 * @param shard the shard to determine
    +		 * @param totalNumberOfSubtasks total number of subtasks
    +		 * @return index or hash code
    +		 */
    +		// TODO: extra parameter can be eliminated by creating hash function after runtime
context is present
    +		int getSubTaskIndex(StreamShardHandle shard, int totalNumberOfSubtasks);
    --- End diff --
    
    I actually prefer passing the `totalNumberOfSubtasks` value independently, instead of
passing in `runtimeContext`. IMO, it provides more context on the nature of the assignment.
    
    Moreover, IMO, having a factory as the API is much more complicating for the user.


---

Mime
View raw message