<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.19"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Kudu C++ client API: kudu::client::KuduTransaction Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kudu C++ client API
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.19 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classkudu_1_1client_1_1KuduTransaction-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">kudu::client::KuduTransaction Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for kudu::client::KuduTransaction:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classkudu_1_1client_1_1KuduTransaction.png" alt=""/>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad79babbbd8bd296741fad2ed0adce55a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">CreateSession</a> (sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a> &gt; *session) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ad79babbbd8bd296741fad2ed0adce55a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf0b693b1ff9a44399bea3ed1f22f495"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#aaf0b693b1ff9a44399bea3ed1f22f495">Commit</a> () WARN_UNUSED_RESULT</td></tr>
<tr class="separator:aaf0b693b1ff9a44399bea3ed1f22f495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4347410b4f7e6a70ebc2f66b06c569ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a4347410b4f7e6a70ebc2f66b06c569ce">StartCommit</a> () WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a4347410b4f7e6a70ebc2f66b06c569ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69b6da1caffdba1f0610f5b8ef00e4ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">IsCommitComplete</a> (bool *is_complete, <a class="el" href="classkudu_1_1Status.html">Status</a> *completion_status) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a69b6da1caffdba1f0610f5b8ef00e4ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68b5c532b44f84beabe7ae7ca46889f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a68b5c532b44f84beabe7ae7ca46889f8">Rollback</a> () WARN_UNUSED_RESULT</td></tr>
<tr class="separator:a68b5c532b44f84beabe7ae7ca46889f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad55ec331c2e0471dca2e73b30750b5f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">Serialize</a> (std::string *serialized_txn, const <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a> &amp;options=<a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>()) const WARN_UNUSED_RESULT</td></tr>
<tr class="separator:ad55ec331c2e0471dca2e73b30750b5f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:acacb5462953dcbd8248241759ee0ba52"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">Deserialize</a> (const sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> &gt; &amp;client, const std::string &amp;serialized_txn, sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> &gt; *txn) WARN_UNUSED_RESULT</td></tr>
<tr class="separator:acacb5462953dcbd8248241759ee0ba52"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A class representing a multi-row transaction in Kudu. Once created using <code>KuduClient::BeginTransaction()</code> or <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">KuduTransaction::Deserialize</a></code> method, <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> instance can be used to commit or rollback the underlying multi-row transaction and create a transactional session.</p>
<dl class="section note"><dt>Note</dt><dd>The <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> should be kept in scope to maintain automatic keep-alive heartbeating for the corresponding transaction. Once this object goes out of scope, the heartbeating stops and the transaction may automatically be aborted soon if no other clients do the heartbeating.</dd>
<dd>
There isn't any automation to rollback or commit the underlying transaction upon destruction of an instance of this class.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>The set of methods in this class, their behavior, and signatures are experimental and may change or disappear in future. The class itself is experimental and may change its lineage, API status, or disappear in future. </dd></dl>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aaf0b693b1ff9a44399bea3ed1f22f495"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf0b693b1ff9a44399bea3ed1f22f495">&#9670;&nbsp;</a></span>Commit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::Commit </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Commit the transaction.</p>
<p>This method automatically flushes all transactional sessions created off this transaction handle via <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">KuduTransaction::CreateSession()</a></code>, initiates committing the transaction, and then waits for the commit phase to finalize. The flushing of all the derivative transactional sessions helps avoiding unintentional data loss when those sessions are not flushed explicitly before committing. No new operations should be pushed into the derivative transactional sessions created off this handle once the method has been called.</p>
<dl class="section return"><dt>Returns</dt><dd>Returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code> if all the stages of the transaction's commit sequence were successful, i.e. the status of various pre-commit work, the status of starting the commit phase, the status of the commit phase itself once it's completed. Returns non-OK status of the very first failed stage of the transaction's commit sequence. </dd></dl>

</div>
</div>
<a id="ad79babbbd8bd296741fad2ed0adce55a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad79babbbd8bd296741fad2ed0adce55a">&#9670;&nbsp;</a></span>CreateSession()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::CreateSession </td>
          <td>(</td>
          <td class="paramtype">sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduSession.html">KuduSession</a> &gt; *&#160;</td>
          <td class="paramname"><em>session</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create a new <code><a class="el" href="classkudu_1_1client_1_1KuduSession.html" title="Representation of a Kudu client session.">KuduSession</a></code> with "transactional" semantics.</p>
<p>Every write operation performed in the context of the newly created "transactional" session becomes a part of the corresponding multi-row transaction represented by an instance of this class. Multiple sessions can be created in the context of the same multi-row distributed transaction by the same or different Kudu clients residing on a single or multiple nodes.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">session</td><td>The result session object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>

</div>
</div>
<a id="acacb5462953dcbd8248241759ee0ba52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acacb5462953dcbd8248241759ee0ba52">&#9670;&nbsp;</a></span>Deserialize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::Deserialize </td>
          <td>(</td>
          <td class="paramtype">const sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduClient.html">KuduClient</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>serialized_txn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sp::shared_ptr&lt; <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> &gt; *&#160;</td>
          <td class="paramname"><em>txn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Re-create <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> object given its serialized representation.</p>
<p>This method doesn't perform any RPC under the hood. The newly created object automatically does or does not send keep-alive messages depending on the <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html#af1349e70e599bb44e47fcfc548c6b9df">KuduTransaction::SerializationOptions::enable_keepalive()</a></code> setting when the original <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> object was serialized using <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad55ec331c2e0471dca2e73b30750b5f5">KuduTransaction::Serialize()</a></code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">client</td><td>Client instance to bound the result object to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">serialized_txn</td><td>String containing serialized representation of <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> object. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">txn</td><td>The result <a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a> object, wrapped into a smart pointer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>

</div>
</div>
<a id="a69b6da1caffdba1f0610f5b8ef00e4ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69b6da1caffdba1f0610f5b8ef00e4ee">&#9670;&nbsp;</a></span>IsCommitComplete()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::IsCommitComplete </td>
          <td>(</td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>is_complete</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classkudu_1_1Status.html">Status</a> *&#160;</td>
          <td class="paramname"><em>completion_status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Whether the commit has completed i.e. no longer in progress of finalizing.</p>
<p>This method checks for the transaction's commit status, setting the <code>is_complete</code> out parameter to <code>true</code> and the <code>completion_status</code> parameter to the finalization status of the commit process, assuming the method returning <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code>. The happy case is when the method returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code>, <code>is_complete</code> is set to <code>true</code> and <code>completion_status</code> is set to <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code> &ndash; that means the transaction has successfully finalized its commit phase.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">is_complete</td><td>Whether the process of finalizing the commit of the transaction has ended, including both success and failure outcomes. In other words, the value of this out parameter indicates whether the finalization of the transaction's commit phase is no longer in progress: it already succeeded or failed by the time of processing the request. This parameter is assigned a meaningful value iff the method returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code>. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">completion_status</td><td>The status of finalization of the transaction's commit phase: <ul>
<li><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a> if the commit phase successfully finalized </li>
<li>non-OK status if the commit phase failed to finalize This parameter is assigned a meaningful value iff the method returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code>. </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The result status of querying the transaction's commit status. Both <code>is_complete</code> and <code>completion_status</code> are set iff the method returns <code><a class="el" href="classkudu_1_1Status.html#adaff3248b2f66041d0a7dd59f118b7ac">Status::OK()</a></code>. </dd></dl>

</div>
</div>
<a id="a68b5c532b44f84beabe7ae7ca46889f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68b5c532b44f84beabe7ae7ca46889f8">&#9670;&nbsp;</a></span>Rollback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::Rollback </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Rollback/abort the transaction.</p>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>

</div>
</div>
<a id="ad55ec331c2e0471dca2e73b30750b5f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad55ec331c2e0471dca2e73b30750b5f5">&#9670;&nbsp;</a></span>Serialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::Serialize </td>
          <td>(</td>
          <td class="paramtype">std::string *&#160;</td>
          <td class="paramname"><em>serialized_txn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a> &amp;&#160;</td>
          <td class="paramname"><em>options</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Export the information on this transaction in a serialized form.</p>
<p>The serialized information on a Kudu transaction can be passed among different Kudu clients running at multiple nodes, so those separate Kudu clients can perform operations to be a part of the same distributed transaction. The resulting string is referred as "transaction token" and can be deserialized into a transaction handle (i.e. an object of the <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html">KuduTransaction</a></code> class) via the <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#acacb5462953dcbd8248241759ee0ba52">KuduTransaction::Deserialize()</a></code> method.</p>
<p>This method doesn't perform any RPC under the hood. The behavior of this method is controlled by <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a></code> set for this transaction handle.</p>
<dl class="section note"><dt>Note</dt><dd>The representation of the data in the serialized form (i.e. the format of a Kudu transaction token) is an implementation detail, not a part of the public API.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">serialized_txn</td><td>Result string to output the serialized transaction information. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">options</td><td>Options to use when serializing the handle (optional). If omitted, the default serialization parameters are used &ndash; the same as it would be for a default-constructed instance of <a class="el" href="classkudu_1_1client_1_1KuduTransaction_1_1SerializationOptions.html">SerializationOptions</a> used for this parameter. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Operation result status. </dd></dl>

</div>
</div>
<a id="a4347410b4f7e6a70ebc2f66b06c569ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4347410b4f7e6a70ebc2f66b06c569ce">&#9670;&nbsp;</a></span>StartCommit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTransaction::StartCommit </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Start committing this transaction, but don't wait for the commit phase to finalize.</p>
<p>This method initiates the commit phase for this transaction, not waiting for the commit phase to finalize. It requires all the transactional sessions created off this handle via <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#ad79babbbd8bd296741fad2ed0adce55a">KuduTransaction::CreateSession()</a></code> to be flushed already. No new operations should be pushed into the derivative transactional sessions created off this handle once the method has been called. To check for the transaction's commit status, use the <code><a class="el" href="classkudu_1_1client_1_1KuduTransaction.html#a69b6da1caffdba1f0610f5b8ef00e4ee">KuduTransaction::IsCommitComplete()</a></code> method.</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classkudu_1_1Status.html" title="A representation of an operation&#39;s outcome.">Status</a> of starting the commit phase for this transaction if all the transactional sessions created off this handle are flushed, otherwise returns <code><a class="el" href="classkudu_1_1Status.html#a65232f9f7de16f12db13e6c55137c48b">Status::IllegalState()</a></code>. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
  <small>Generated for Kudu version 1.16.0 on Tue Apr 12 2022 16:34:46 by Doxygen 1.8.19</small>
  <br>
  <small>Copyright © 2022 The Apache Software Foundation.</small>
</address>
</body>
</html>
