[
https://issues.apache.org/jira/browse/FLINK-31655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17736966#comment-17736966
]
Matt Wang commented on FLINK-31655:
-----------------------------------
[~tartarus] thanks for the hard testing too, and can you share how much this
time-consuming increase has affected the performance of the entire job?
we also use a similar functions internally, but the implementation is slightly
different. In order to avoid the traversal of each operation, we limit the
maximum buffersInBacklog for each Channel:
1. As long as the buffersInBacklog of this Channel does not exceed the
threshold, use this Channel directly, otherwise, search for the next channel;
2. When processing the next data, the same logical judgment will be made for
lastChannelId + 1.
Looking forward to the FLIP discussion
> Adaptive Channel selection for partitioner
> ------------------------------------------
>
> Key: FLINK-31655
> URL: https://issues.apache.org/jira/browse/FLINK-31655
> Project: Flink
> Issue Type: Improvement
> Components: Runtime / Task
> Reporter: tartarus
> Assignee: tartarus
> Priority: Major
>
> In Flink, if the upstream and downstream operator parallelism is not the
> same, then by default the RebalancePartitioner will be used to select the
> target channel.
> In our company, users often use flink to access redis, hbase or other rpc
> services, If some of the Operators are slow to return requests (for external
> service reasons), then because Rebalance/Rescale are Round-Robin the Channel
> selection policy, so the job is easy to backpressure.
> Because the Rebalance/Rescale policy does not care which subtask the data is
> sent to downstream, so we expect Rebalance/Rescale to refer to the processing
> power of the downstream subtask when choosing a Channel.
> Send more data to the free subtask, this ensures the best possible throughput
> of job!
>
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)