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

Kostas Kloudas edited comment on FLINK-19438 at 9/28/20, 7:36 AM:
------------------------------------------------------------------

[~sheep] thanks for opening the issue. Queryable State is a feature mainly 
intended for debugging purposes and currently we do not actively add new 
features. In general, we recommend to go through the State Processor API, as 
you mentioned.

Supporting features like the one you mention has already been proposed. But the 
increased complexity of trying to support everything through Queryable State is 
one of the reasons why the State Processor API was introduced. This API intends 
(among other things) to decouple to Processing/Write Path of state from the 
Querying Path so that we can add features to one without impacting the other. 

As an example of how one can (negatively) affect the other, you can see 
https://issues.apache.org/jira/browse/FLINK-5961, where Queryable State would 
require increased locking to guard against concurrent updates, which, in turn, 
could negatively impact performance during stream processing.


was (Author: kkl0u):
[~sheep] thanks for opening the issue. Queryable State is a feature mainly 
intended for debugging purposes and currently we do not actively add new 
features. For other cases we recommend to go through the State Processor API, 
as you mentioned.

Supporting features like the one you mention has already been proposed. But the 
increased complexity of trying to support everything through Queryable State is 
one of the reasons why the State Processor API was introduced. This API intends 
(among other things) to decouple to Processing/Write Path of state from the 
Querying Path so that we can add features to one without impacting the other. 

As an example of how one can (negatively) affect the other, you can see 
https://issues.apache.org/jira/browse/FLINK-5961, where Queryable State would 
require increased locking to guard against concurrent updates, which, in turn, 
could negatively impact performance during stream processing.

> Queryable State needs to support both read-uncommitted and read-committed 
> --------------------------------------------------------------------------
>
>                 Key: FLINK-19438
>                 URL: https://issues.apache.org/jira/browse/FLINK-19438
>             Project: Flink
>          Issue Type: Wish
>          Components: Runtime / Queryable State
>            Reporter: sheep
>            Priority: Major
>
> Flink exposes its managed keyed (partitioned) state to the outside world and 
> allows the user to query a job’s state from outside Flink. From a traditional 
> database isolation-level viewpoint, the queries access uncommitted state, 
> thus following the read-uncommitted isolation level.
> I fully understand Flink provides read-uncommitted state query in order to 
> query real-time state. But the read-committed state is also important (I 
> cannot fully explain). From Flink 1.9, querying even modifying the state in 
> Checkpoint has been implemented. The state in Checkpoint is equivalent to 
> read-committed state.  So, users can query read-committed state via the state 
> processor api.
> *Flink should provide users  for configuration of isolation level of 
> Queryable State by integration of the two levels of state query.*



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

Reply via email to