Matthias J. Sax created KAFKA-4969: -------------------------------------- Summary: State-store workload-aware StreamsPartitionAssignor Key: KAFKA-4969 URL: https://issues.apache.org/jira/browse/KAFKA-4969 Project: Kafka Issue Type: Improvement Components: streams Reporter: Matthias J. Sax
Currently, {{StreamPartitionsAssigner}} does not distinguish different "types" of tasks. For example, task can be stateless of have one or multiple stores. This can lead to an suboptimal task placement: assume there are 2 stateless and 2 stateful tasks and the app is running with 2 instances. To share the "store load" it would be good to place one stateless and one stateful task per instance. Right now, there is no guarantee about this, and it can happen, that one instance processed both stateless tasks while the other processes both stateful tasks. We should improve {{StreamPartitionAssignor}} and introduce "task types" including a cost model for task placement. We should consider the following parameters: - number of stores - number of sources/sinks - number of processors - regular task vs standby task This improvement should be backed by a design document in the project wiki (no KIP required though) as it's a fairly complex change. -- This message was sent by Atlassian JIRA (v6.3.15#6346)