[
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)