You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Ashish Surana (JIRA)" <ji...@apache.org> on 2018/02/13 00:05:00 UTC

[jira] [Comment Edited] (KAFKA-6555) Making state store queryable during restoration

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

Ashish Surana edited comment on KAFKA-6555 at 2/13/18 12:04 AM:
----------------------------------------------------------------

Ok, shouldn't it be the child ticket for KAFKA-6144 because the related tickets KAFKA-6145 & KAFKA-6031 doesn't completely solve the pause time during rebalancing.

KAFKA-6145 reduces the time of rebalancing state of the stream task to a great extent, but it doesn't completely remove it.

KAFKA-6031 is to allow reads from standby replicas, but it also doesn't completely eliminate the need to access state during rebalancing. What if there is no replica, and primary goes down? What if one of the replica doesn't get promoted to active? What if all the replicas of the partition are in rebalancing state at the same time?

KAFKA-6144 captures the idea of this ticket i.e. to allow access to state store during rebalancing but KAKFA-6145 & KAFKA-6031 are not sufficient to achieve that.

 


was (Author: asurana):
Ok, shouldn't it be the child ticket for KAFKA-6144 because the related tickets KAFKA-6145 & KAFKA-6031 doesn't completely solve the pause time during rebalancing.

 

KAFKA-6145 reduces the time of rebalancing state of the stream task to a great extent, but it doesn't completely remove it.

KAFKA-6031 is to allow reads from standby replicas, but it also doesn't completely eliminate the need to access state during rebalancing. What if there is no replica, and primary goes down? What if one of the replica doesn't get promoted to active? What if all the replicas of the partition are in rebalancing state at the same time?

 

KAFKA-6144 captures the idea of this ticket i.e. to allow access to state store during rebalancing but KAKFA-6145 & KAFKA-6031 are not sufficient to achieve that.

 

> Making state store queryable during restoration
> -----------------------------------------------
>
>                 Key: KAFKA-6555
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6555
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Ashish Surana
>            Priority: Major
>
> State store in Kafka streams are currently only queryable when StreamTask is in RUNNING state. The idea is to make it queryable even in the RESTORATION (PARTITION_ASSIGNED) state as the time spend on restoration can be huge and making the data inaccessible during this time could be downtime not suitable for many applications.
> When the active partition goes down then one of the following occurs:
>  # One of the standby replica partition gets promoted to active: Replica task has to restore the remaining state from the changelog topic before it can become RUNNING. The time taken for this depends on how much the replica is lagging behind. During this restoration time the state store for that partition is currently not queryable giving making the partition down. We can make the state store partition queryable for the data already present in the state store.
>  # When there is no replica or standby task, then active task will be started in one of the existing node. That node has to build the entire state from the changelog topic which can take lot of time depending on how big is the changelog topic, and keeping state store not queryable during this time is the downtime for the parition.
> It's very important improvement as it could simply improve the availability of microservices developed using kafka streams.
> I am working on a patch for this change. Any feedback or comments are welcome.
>  
>  



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