[
https://issues.apache.org/jira/browse/IMPALA-10557?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wenzhe Zhou reassigned IMPALA-10557:
------------------------------------
Assignee: Wenzhe Zhou
> Allow Impala to use Kudu's multi-row transaction implementation
> ---------------------------------------------------------------
>
> Key: IMPALA-10557
> URL: https://issues.apache.org/jira/browse/IMPALA-10557
> Project: IMPALA
> Issue Type: New Feature
> Components: Clients
> Reporter: Andrew Wong
> Assignee: Wenzhe Zhou
> Priority: Major
>
> Once Kudu's support for multi-row transactions materializes, it'd be great if
> Impala could expose a query option or session-level flag to indicate that
> Impala should run queries that insert into Kudu in the context of a single
> transaction.
> When the query option is set, similar to how transactions are opened for Hive
> ACID tables, a new Kudu transaction should be started by Impala's Frontend,
> and the resulting KuduTransaction object should be serialized and passed as
> context to the Impala executors, which should open their Kudu sessions using
> the {{KuduTransaction::CreateSession()}} API instead of the usual
> {{KuduClient::NewSession()}}.
> Errors returned in the session should be propagated to the Impala Frontend
> before committing – it seems reasonable to expect that any session errors
> should result in Impala aborting the transaction.
> The {{KuduTransaction}} handle in the frontend has a heartbeater built in, so
> unlike Hive ACID transactions, which require manual tracking of heartbeating,
> no additional manual requests are needed to maintain the transaction.
> Kudu's Java client API is defined in [this
> patch|https://gerrit.cloudera.org/c/16894/], and C++ client API is defined in
> [this patch|https://gerrit.cloudera.org/c/16710/]. The implementation isn't
> fully operational quite yet – once [this patch to automatically register
> participants|https://gerrit.cloudera.org/c/17037/] lands, Impala developers
> should at least be able to start adding basic testing non-overlapping cases
> (partition locking is still in progress).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]