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

Alexey Serbin updated KUDU-1767:
--------------------------------
    Description: 
It is possible for client operations written via the same KuduSession to be 
reordered on the server side in AUTO_BACKGROUND_FLUSH mode. This violates our 
desired consistency guarantees.

This may occur because we allow concurrent flushes from the client for 
throughput reasons and there is nothing enforcing the well-ordering of lock 
acquisition from a single client session on the server side.


NOTE: In Kudu C++ client API, the reordering is also possible if using 
{{KuduSession::FlushAsync()}} in MANUAL_FLUSH mode.  In Kudu Java client API 
the reordering is also possible in MANUAL_FLUSH mode if using 
{{AsyncKuduSession}}.  Meanwhile, using {{KuduSession::Flush()}} in Kudu C++ 
client API and synchronous-style {{KuduSession}} API in Kudu Java client may 
not result in reordering of write operations in MANUAL_FLUSH mode.


  was:
It is possible for client operations written via the same KuduSession to be 
reordered on the server side in AUTO_BACKGROUND_FLUSH mode. This violates our 
desired consistency guarantees.

This may occur because we allow concurrent flushes from the client for 
throughput reasons and there is nothing enforcing the well-ordering of lock 
acquisition from a single client session on the server side.


> Reordering of client operations from the same KuduSession is possible
> ---------------------------------------------------------------------
>
>                 Key: KUDU-1767
>                 URL: https://issues.apache.org/jira/browse/KUDU-1767
>             Project: Kudu
>          Issue Type: Bug
>          Components: client, tablet
>    Affects Versions: 1.1.0
>            Reporter: Mike Percy
>            Priority: Major
>
> It is possible for client operations written via the same KuduSession to be 
> reordered on the server side in AUTO_BACKGROUND_FLUSH mode. This violates our 
> desired consistency guarantees.
> This may occur because we allow concurrent flushes from the client for 
> throughput reasons and there is nothing enforcing the well-ordering of lock 
> acquisition from a single client session on the server side.
> NOTE: In Kudu C++ client API, the reordering is also possible if using 
> {{KuduSession::FlushAsync()}} in MANUAL_FLUSH mode.  In Kudu Java client API 
> the reordering is also possible in MANUAL_FLUSH mode if using 
> {{AsyncKuduSession}}.  Meanwhile, using {{KuduSession::Flush()}} in Kudu C++ 
> client API and synchronous-style {{KuduSession}} API in Kudu Java client may 
> not result in reordering of write operations in MANUAL_FLUSH mode.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to