You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Dima R (Jira)" <ji...@apache.org> on 2020/05/21 11:14:00 UTC

[jira] [Updated] (KAFKA-10030) Throw exception while fetching a key from a single partition

     [ https://issues.apache.org/jira/browse/KAFKA-10030?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dima R updated KAFKA-10030:
---------------------------
    External issue URL: https://github.com/apache/kafka/pull/8706

> Throw exception while fetching a key from a single partition
> ------------------------------------------------------------
>
>                 Key: KAFKA-10030
>                 URL: https://issues.apache.org/jira/browse/KAFKA-10030
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 2.5.0
>         Environment: StreamsConfig.NUM_STREAM_THREADS_CONFIG=2
>            Reporter: Dima R
>            Priority: Major
>              Labels: KAFKA-9445, KIP-562
>             Fix For: 2.6.0, 2.5.1
>
>
> StreamThreadStateStoreProvider#stores throws exception whenever taskId is not found, which is not correct behaviour in multi-threaded env where state store partitions are distributed among several StreamTasks. 
> {code:java}
> final Task task = tasks.get(keyTaskId);
> if (task == null) {
>  throw new InvalidStateStoreException(
>  String.format("The specified partition %d for store %s does not exist.",
>  storeQueryParams.partition(),
>  storeName));
> }{code}
> Reproducible with KStream number of threads more then 1 
> StoreQueryIntegrationTest#streamsConfiguration
> config.put(StreamsConfig.NUM_STREAM_THREADS_CONFIG, 2);
>  
> Suggested solution is to not throw exception if at least one state store is found, which is always true when using StoreQueryParameters.withPartition



--
This message was sent by Atlassian Jira
(v8.3.4#803005)