[jira] [Commented] (KAFKA-8207) StickyPartitionAssignor for KStream

2019-08-06 Thread neeraj (JIRA)


[ 
https://issues.apache.org/jira/browse/KAFKA-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16901245#comment-16901245
 ] 

neeraj commented on KAFKA-8207:
---

Hi [~bchen225242] I have written you an email pasting content 

--
Initially, we got stuck in the critical bug  
https://issues.apache.org/jira/browse/KAFKA-8715 but then we took source code 
and changed the GroupMetadata.scala to use UUID instead of 
currentStateTimestamp (code snippet at the end of mail) as mentioned in the 
pull request. We rebuild the Kafka and replaced the kafka_2.12-2.3.0  jar at 
all broker lib folder
 
We expected that when we restart our consumer cluster (20 machines)/or a single 
node we will be getting same partitions in the same node but that is not the 
case (consumer group give details). We need this because we plan to store a lot 
of aggregated data in rocks DB in our consumer cluster(20 machines)., different 
partitions to the different machine at restart means eventually each node will 
have all the data and it will take a lot of time to build the stores.

> StickyPartitionAssignor for KStream
> ---
>
> Key: KAFKA-8207
> URL: https://issues.apache.org/jira/browse/KAFKA-8207
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Affects Versions: 2.0.0
>Reporter: neeraj
>Priority: Major
>
> In KStreams I am not able to give a sticky partition assignor or my custom 
> partition assignor.
> Overriding the property while building stream does not work
> streams props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, 
> CustomAssignor.class.getName());
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)


[jira] [Commented] (KAFKA-8207) StickyPartitionAssignor for KStream

2019-05-20 Thread Boyang Chen (JIRA)


[ 
https://issues.apache.org/jira/browse/KAFKA-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16844168#comment-16844168
 ] 

Boyang Chen commented on KAFKA-8207:


Hey [~neeraj.bhatt] thank you for your interest! Good news is that we are 
planning to ship major features for static membership in 2.3, while 
unfortunately we could get everything in, and progress is tracked here:

https://issues.apache.org/jira/browse/KAFKA-7018


Feel free to be our alpha user in case you are interested :) And grab me 
(boy...@confluent.io) if there is anything not behaving as expected.

> StickyPartitionAssignor for KStream
> ---
>
> Key: KAFKA-8207
> URL: https://issues.apache.org/jira/browse/KAFKA-8207
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Affects Versions: 2.0.0
>Reporter: neeraj
>Priority: Major
>
> In KStreams I am not able to give a sticky partition assignor or my custom 
> partition assignor.
> Overriding the property while building stream does not work
> streams props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, 
> CustomAssignor.class.getName());
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8207) StickyPartitionAssignor for KStream

2019-05-20 Thread Matthias J. Sax (JIRA)


[ 
https://issues.apache.org/jira/browse/KAFKA-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16844062#comment-16844062
 ] 

Matthias J. Sax commented on KAFKA-8207:


I actually just talked to [~bchen225242] – it seems that static group 
membership will be included in 2.3 – the last missing piece was merged on 
Friday. The release plan wiki page just does not reflect this yet.

> StickyPartitionAssignor for KStream
> ---
>
> Key: KAFKA-8207
> URL: https://issues.apache.org/jira/browse/KAFKA-8207
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Affects Versions: 2.0.0
>Reporter: neeraj
>Priority: Major
>
> In KStreams I am not able to give a sticky partition assignor or my custom 
> partition assignor.
> Overriding the property while building stream does not work
> streams props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, 
> CustomAssignor.class.getName());
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8207) StickyPartitionAssignor for KStream

2019-05-20 Thread Matthias J. Sax (JIRA)


[ 
https://issues.apache.org/jira/browse/KAFKA-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16843733#comment-16843733
 ] 

Matthias J. Sax commented on KAFKA-8207:


I think that's correct. [~bchen225242] worked hard to get it into 2.3, but I 
think it moved to 2.4.

> StickyPartitionAssignor for KStream
> ---
>
> Key: KAFKA-8207
> URL: https://issues.apache.org/jira/browse/KAFKA-8207
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Affects Versions: 2.0.0
>Reporter: neeraj
>Priority: Major
>
> In KStreams I am not able to give a sticky partition assignor or my custom 
> partition assignor.
> Overriding the property while building stream does not work
> streams props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, 
> CustomAssignor.class.getName());
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8207) StickyPartitionAssignor for KStream

2019-05-20 Thread neeraj (JIRA)


[ 
https://issues.apache.org/jira/browse/KAFKA-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16843677#comment-16843677
 ] 

neeraj commented on KAFKA-8207:
---

[~mjsax] KIP 345 seems is not a part of 2.3 release as given in 
[https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=112820648]

> StickyPartitionAssignor for KStream
> ---
>
> Key: KAFKA-8207
> URL: https://issues.apache.org/jira/browse/KAFKA-8207
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Affects Versions: 2.0.0
>Reporter: neeraj
>Priority: Major
>
> In KStreams I am not able to give a sticky partition assignor or my custom 
> partition assignor.
> Overriding the property while building stream does not work
> streams props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, 
> CustomAssignor.class.getName());
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8207) StickyPartitionAssignor for KStream

2019-04-16 Thread Matthias J. Sax (JIRA)


[ 
https://issues.apache.org/jira/browse/KAFKA-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16818742#comment-16818742
 ] 

Matthias J. Sax commented on KAFKA-8207:


There is no timeline yet. Details will be posted here: 
[https://cwiki.apache.org/confluence/display/KAFKA/Future+release+plan] (or 
follow the dev mailing list; the timeline should be announce soon).

The high level plan is to release a new version every 4 month: 
[https://cwiki.apache.org/confluence/display/KAFKA/Time+Based+Release+Plan]

If you are interested to monitor progress on KIP-345 (or even help), you can 
follow the corresponding JIRAs: 
[https://cwiki.apache.org/confluence/display/KAFKA/KIP-345%3A+Introduce+static+membership+protocol+to+reduce+consumer+rebalances]
 – feel free to comment on those tickets if you want to help – PR reviews are 
always appreciated in any case!

> StickyPartitionAssignor for KStream
> ---
>
> Key: KAFKA-8207
> URL: https://issues.apache.org/jira/browse/KAFKA-8207
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Affects Versions: 2.0.0
>Reporter: neeraj
>Priority: Major
>
> In KStreams I am not able to give a sticky partition assignor or my custom 
> partition assignor.
> Overriding the property while building stream does not work
> streams props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, 
> CustomAssignor.class.getName());
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8207) StickyPartitionAssignor for KStream

2019-04-16 Thread neeraj (JIRA)


[ 
https://issues.apache.org/jira/browse/KAFKA-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16818670#comment-16818670
 ] 

neeraj commented on KAFKA-8207:
---

[~mjsax] When is 2.3 release planned? Please feel free to assign me tasks of 
KIP 345 if it helps in early release

> StickyPartitionAssignor for KStream
> ---
>
> Key: KAFKA-8207
> URL: https://issues.apache.org/jira/browse/KAFKA-8207
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Affects Versions: 2.0.0
>Reporter: neeraj
>Priority: Major
>
> In KStreams I am not able to give a sticky partition assignor or my custom 
> partition assignor.
> Overriding the property while building stream does not work
> streams props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, 
> CustomAssignor.class.getName());
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8207) StickyPartitionAssignor for KStream

2019-04-15 Thread Matthias J. Sax (JIRA)


[ 
https://issues.apache.org/jira/browse/KAFKA-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16818471#comment-16818471
 ] 

Matthias J. Sax commented on KAFKA-8207:


I understand. However, this must be fixed differently. Not by allowing users to 
specify a custom partition assignor. Hence, I think we should close this ticket 
as "not a problem".

> StickyPartitionAssignor for KStream
> ---
>
> Key: KAFKA-8207
> URL: https://issues.apache.org/jira/browse/KAFKA-8207
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Affects Versions: 2.0.0
>Reporter: neeraj
>Priority: Major
>
> In KStreams I am not able to give a sticky partition assignor or my custom 
> partition assignor.
> Overriding the property while building stream does not work
> streams props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, 
> CustomAssignor.class.getName());
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8207) StickyPartitionAssignor for KStream

2019-04-15 Thread neeraj (JIRA)


[ 
https://issues.apache.org/jira/browse/KAFKA-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817625#comment-16817625
 ] 

neeraj commented on KAFKA-8207:
---

[~mjsax] Thanks for explaining. Any idea when 2.3 is expected? also kindly 
assign me a bug related to this KIP if it helps in early release.

> StickyPartitionAssignor for KStream
> ---
>
> Key: KAFKA-8207
> URL: https://issues.apache.org/jira/browse/KAFKA-8207
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Affects Versions: 2.0.0
>Reporter: neeraj
>Priority: Major
>
> In KStreams I am not able to give a sticky partition assignor or my custom 
> partition assignor.
> Overriding the property while building stream does not work
> streams props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, 
> CustomAssignor.class.getName());
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8207) StickyPartitionAssignor for KStream

2019-04-13 Thread Matthias J. Sax (JIRA)


[ 
https://issues.apache.org/jira/browse/KAFKA-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16817133#comment-16817133
 ] 

Matthias J. Sax commented on KAFKA-8207:


Thanks for following up!
{quote}StreamPartitionAssignor sticky policy is for the stickiness of Tasks to 
partition. (StickyTaskAssignor) 
{quote}
Well, StreamPartitionAssignor's stickiness is tailored to not move tasks (and 
thus not move partitions), but assign tasks to the same node if possible. (What 
you describe is also true, but this property is called "co-partitioning", not 
"stickiness".)
{quote}When node 1 goes down (for rolling deployment or for some other reason) 
rebalance kicks in and replica which is given by num.standby.replicas take over 
so it is fault tolerant, but when node 1 comes back again rebalance again kicks 
in  and node 1 processes different partitions and updates the state store for 
different partitions.
{quote}
This case should actually be covered by StreamPartitionAssignor and it should 
migrate the original partitions/task back to node1.

Hence, we still don't want to allow users to overwrite 
`StreamPartitionAssignor`. However, we know that `StreamPartitionAssignor` has 
some issue for which the stickiness is not achieved. It seems you are hitting 
this case. It's not easy to fix unfortunately.

What should help, is current work on KP-345: 
[https://cwiki.apache.org/confluence/display/KAFKA/KIP-345%3A+Introduce+static+membership+protocol+to+reduce+consumer+rebalances]
 It has a high change to be included in 2.3 release – however, it will also 
require a broker upgrade.

> StickyPartitionAssignor for KStream
> ---
>
> Key: KAFKA-8207
> URL: https://issues.apache.org/jira/browse/KAFKA-8207
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Affects Versions: 2.0.0
>Reporter: neeraj
>Priority: Major
>
> In KStreams I am not able to give a sticky partition assignor or my custom 
> partition assignor.
> Overriding the property while building stream does not work
> streams props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, 
> CustomAssignor.class.getName());
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8207) StickyPartitionAssignor for KStream

2019-04-12 Thread neeraj (JIRA)


[ 
https://issues.apache.org/jira/browse/KAFKA-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16816210#comment-16816210
 ] 

neeraj commented on KAFKA-8207:
---

StreamPartitionAssignor sticky policy is for the stickiness of Tasks to 
partition. (StickyTaskAssignor) 

I am looking for Stickiness of consumer to partition like in normal Kafka 
Consumer

We have three consumers c1,c2, and c3 in the same consumer group using KStream 
(reading from a Kafka topic with multiple). Each consumer is in a separate 
machine.  We are aggregating and saving it in the local state store at each 
node.

When node 1 goes down (for rolling deployment or for some other reason) 
rebalance kicks in and replica which is given by num.standby.replicas take over 
so it is fault tolerant, but when node 1 comes back again rebalance again kicks 
in  and node 1 processes different partitions and updates the state store for 
different partitions.

So Ideally, we want that node 1 consumer c1 should work on the same partitions 
as it was working earlier so that we can save replay time from change log and 
disk space as because of frequent rebalancing local store has data for all the 
partitions

problem similar to 

[https://tech.transferwise.com/achieving-high-availability-with-kafka-streams/]

 

 

 

> StickyPartitionAssignor for KStream
> ---
>
> Key: KAFKA-8207
> URL: https://issues.apache.org/jira/browse/KAFKA-8207
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Affects Versions: 2.0.0
>Reporter: neeraj
>Priority: Major
>
> In KStreams I am not able to give a sticky partition assignor or my custom 
> partition assignor.
> Overriding the property while building stream does not work
> streams props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, 
> CustomAssignor.class.getName());
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (KAFKA-8207) StickyPartitionAssignor for KStream

2019-04-10 Thread Matthias J. Sax (JIRA)


[ 
https://issues.apache.org/jira/browse/KAFKA-8207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16814976#comment-16814976
 ] 

Matthias J. Sax commented on KAFKA-8207:


That is by design. Kafka Streams' internal "StreamPartitionAssignor" also 
implements a "sticky" policy. I think we can close this ticket as invalid.

What do you try to achieve and why do you want to change the partition assignor?

> StickyPartitionAssignor for KStream
> ---
>
> Key: KAFKA-8207
> URL: https://issues.apache.org/jira/browse/KAFKA-8207
> Project: Kafka
>  Issue Type: Improvement
>  Components: streams
>Affects Versions: 2.0.0
>Reporter: neeraj
>Priority: Major
>
> In KStreams I am not able to give a sticky partition assignor or my custom 
> partition assignor.
> Overriding the property while building stream does not work
> streams props.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG, 
> CustomAssignor.class.getName());
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)