blob: 0404272ee4fe1afb37c1ceec1dc7d44bc6f2b76f [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AsyncKuduSession (Kudu 1.0.0 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AsyncKuduSession (Kudu 1.0.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AsyncKuduSession.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduSession.html" target="_top">Frames</a></li>
<li><a href="AsyncKuduSession.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.kudu.client</div>
<h2 title="Class AsyncKuduSession" class="title">Class AsyncKuduSession</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.kudu.client.AsyncKuduSession</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Public
@InterfaceStability.Unstable
<a href="http://docs.oracle.com/javase/7/docs/api/javax/annotation/concurrent.NotThreadSafe.html?is-external=true" title="class or interface in javax.annotation">@NotThreadSafe</a>
public class <span class="typeNameLabel">AsyncKuduSession</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></pre>
<div class="block">A AsyncKuduSession belongs to a specific AsyncKuduClient, and represents a context in
which all read/write data access should take place. Within a session,
multiple operations may be accumulated and batched together for better
efficiency. Settings like timeouts, priorities, and trace IDs are also set
per session.<p>
AsyncKuduSession is separate from KuduTable because a given batch or transaction
may span multiple tables. This is particularly important in the future when
we add ACID support, but even in the context of batching, we may be able to
coalesce writes to different tables hosted on the same server into the same
RPC.<p>
AsyncKuduSession is separate from AsyncKuduClient because, in a multi-threaded
application, different threads may need to concurrently execute
transactions. Similar to a JDBC "session", transaction boundaries will be
delineated on a per-session basis -- in between a "BeginTransaction" and
"Commit" call on a given session, all operations will be part of the same
transaction. Meanwhile another concurrent Session object can safely run
non-transactional work or other transactions without interfering.<p>
Therefore, this class is <b>not</b> thread-safe.<p>
Additionally, there is a guarantee that writes from different sessions do not
get batched together into the same RPCs -- this means that latency-sensitive
clients can run through the same AsyncKuduClient object as throughput-oriented
clients, perhaps by setting the latency-sensitive session's timeouts low and
priorities high. Without the separation of batches, a latency-sensitive
single-row insert might get batched along with 10MB worth of inserts from the
batch writer, thus delaying the response significantly.<p>
Though we currently do not have transactional support, users will be forced
to use a AsyncKuduSession to instantiate reads as well as writes. This will make
it more straight-forward to add RW transactions in the future without
significant modifications to the API.<p>
Timeouts are handled differently depending on the flush mode.
With AUTO_FLUSH_SYNC, the timeout is set on each apply()'d operation.
With AUTO_FLUSH_BACKGROUND and MANUAL_FLUSH, the timeout is assigned to a whole batch of
operations upon flush()'ing. It means that in a situation with a timeout of 500ms and a flush
interval of 1000ms, an operation can be outstanding for up to 1500ms before being timed out.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.kudu.client.SessionConfiguration">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.kudu.client.<a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></h3>
<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#apply-org.apache.kudu.client.Operation-">apply</a></span>(<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&nbsp;operation)</code>
<div class="block">Apply the given operation.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#close--">close</a></span>()</code>
<div class="block">Flushes the buffered operations and marks this session as closed.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#countPendingErrors--">countPendingErrors</a></span>()</code>
<div class="block">Return the number of errors which are pending.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#flush--">flush</a></span>()</code>
<div class="block">Flush buffered writes.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#getFlushMode--">getFlushMode</a></span>()</code>
<div class="block">Get the current flush mode.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#getPendingErrors--">getPendingErrors</a></span>()</code>
<div class="block">Return any errors from previous calls.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#getTimeoutMillis--">getTimeoutMillis</a></span>()</code>
<div class="block">Get the current timeout.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#hasPendingOperations--">hasPendingOperations</a></span>()</code>
<div class="block">Check if there are operations that haven't been completely applied.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#isClosed--">isClosed</a></span>()</code>
<div class="block">Returns true if this session has already been closed.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#isIgnoreAllDuplicateRows--">isIgnoreAllDuplicateRows</a></span>()</code>
<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
server is of the AlreadyPresent type.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">setExternalConsistencyMode</a></span>(<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>&nbsp;consistencyMode)</code>
<div class="block">Set the new external consistency mode for this session.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setFlushInterval-int-">setFlushInterval</a></span>(int&nbsp;interval)</code>
<div class="block">Set the flush interval, which will be used for the next scheduling decision.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">setFlushMode</a></span>(<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;flushMode)</code>
<div class="block">Set the new flush mode for this session.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setIgnoreAllDuplicateRows-boolean-">setIgnoreAllDuplicateRows</a></span>(boolean&nbsp;ignoreAllDuplicateRows)</code>
<div class="block">Configures the option to ignore all the row errors if they are all of the AlreadyPresent type.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark</a></span>(float&nbsp;mutationBufferLowWatermarkPercentage)</code>
<div class="block">Set the low watermark for this session.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setMutationBufferSpace-int-">setMutationBufferSpace</a></span>(int&nbsp;size)</code>
<div class="block">Set the number of operations that can be buffered.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#setTimeoutMillis-long-">setTimeoutMillis</a></span>(long&nbsp;timeout)</code>
<div class="block">Sets the timeout for the next applied operations.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="LOG">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LOG</h4>
<pre>public static final&nbsp;org.slf4j.Logger LOG</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getFlushMode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFlushMode</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;getFlushMode()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getFlushMode--">SessionConfiguration</a></code></span></div>
<div class="block">Get the current flush mode.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getFlushMode--">getFlushMode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>flush mode, AUTO_FLUSH_SYNC by default</dd>
</dl>
</li>
</ul>
<a name="setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFlushMode</h4>
<pre>public&nbsp;void&nbsp;setFlushMode(<a href="../../../../org/apache/kudu/client/SessionConfiguration.FlushMode.html" title="enum in org.apache.kudu.client">SessionConfiguration.FlushMode</a>&nbsp;flushMode)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">SessionConfiguration</a></code></span></div>
<div class="block">Set the new flush mode for this session.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushMode-org.apache.kudu.client.SessionConfiguration.FlushMode-">setFlushMode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>flushMode</code> - new flush mode, can be the same as the previous one.</dd>
</dl>
</li>
</ul>
<a name="setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExternalConsistencyMode</h4>
<pre>public&nbsp;void&nbsp;setExternalConsistencyMode(<a href="../../../../org/apache/kudu/client/ExternalConsistencyMode.html" title="enum in org.apache.kudu.client">ExternalConsistencyMode</a>&nbsp;consistencyMode)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">SessionConfiguration</a></code></span></div>
<div class="block">Set the new external consistency mode for this session.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setExternalConsistencyMode-org.apache.kudu.client.ExternalConsistencyMode-">setExternalConsistencyMode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>consistencyMode</code> - new external consistency mode, can the same as the previous one.</dd>
</dl>
</li>
</ul>
<a name="setMutationBufferSpace-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMutationBufferSpace</h4>
<pre>public&nbsp;void&nbsp;setMutationBufferSpace(int&nbsp;size)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferSpace-int-">SessionConfiguration</a></code></span></div>
<div class="block">Set the number of operations that can be buffered.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferSpace-int-">setMutationBufferSpace</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>size</code> - number of ops.</dd>
</dl>
</li>
</ul>
<a name="setMutationBufferLowWatermark-float-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMutationBufferLowWatermark</h4>
<pre>public&nbsp;void&nbsp;setMutationBufferLowWatermark(float&nbsp;mutationBufferLowWatermarkPercentage)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferLowWatermark-float-">SessionConfiguration</a></code></span></div>
<div class="block">Set the low watermark for this session. The default is set to half the mutation buffer space.
For example, a buffer space of 1000 with a low watermark set to 50% (0.5) will start randomly
sending PleaseRetryExceptions once there's an outstanding flush and the buffer is over 500.
As the buffer gets fuller, it becomes likelier to hit the exception.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setMutationBufferLowWatermark-float-">setMutationBufferLowWatermark</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mutationBufferLowWatermarkPercentage</code> - a new low watermark as a percentage,
has to be between 0 and 1 (inclusive). A value of 1 disables
the low watermark since it's the same as the high one</dd>
</dl>
</li>
</ul>
<a name="setFlushInterval-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFlushInterval</h4>
<pre>public&nbsp;void&nbsp;setFlushInterval(int&nbsp;interval)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushInterval-int-">SessionConfiguration</a></code></span></div>
<div class="block">Set the flush interval, which will be used for the next scheduling decision.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setFlushInterval-int-">setFlushInterval</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>interval</code> - interval in milliseconds.</dd>
</dl>
</li>
</ul>
<a name="setTimeoutMillis-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTimeoutMillis</h4>
<pre>public&nbsp;void&nbsp;setTimeoutMillis(long&nbsp;timeout)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setTimeoutMillis-long-">SessionConfiguration</a></code></span></div>
<div class="block">Sets the timeout for the next applied operations.
The default timeout is 0, which disables the timeout functionality.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setTimeoutMillis-long-">setTimeoutMillis</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - Timeout in milliseconds.</dd>
</dl>
</li>
</ul>
<a name="getTimeoutMillis--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTimeoutMillis</h4>
<pre>public&nbsp;long&nbsp;getTimeoutMillis()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getTimeoutMillis--">SessionConfiguration</a></code></span></div>
<div class="block">Get the current timeout.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getTimeoutMillis--">getTimeoutMillis</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>operation timeout in milliseconds, 0 if none was configured.</dd>
</dl>
</li>
</ul>
<a name="isClosed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClosed</h4>
<pre>public&nbsp;boolean&nbsp;isClosed()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isClosed--">SessionConfiguration</a></code></span></div>
<div class="block">Returns true if this session has already been closed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isClosed--">isClosed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
</dl>
</li>
</ul>
<a name="isIgnoreAllDuplicateRows--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isIgnoreAllDuplicateRows</h4>
<pre>public&nbsp;boolean&nbsp;isIgnoreAllDuplicateRows()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllDuplicateRows--">SessionConfiguration</a></code></span></div>
<div class="block">Tells if the session is currently ignoring row errors when the whole list returned by a tablet
server is of the AlreadyPresent type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#isIgnoreAllDuplicateRows--">isIgnoreAllDuplicateRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the session is enforcing this, else false</dd>
</dl>
</li>
</ul>
<a name="setIgnoreAllDuplicateRows-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIgnoreAllDuplicateRows</h4>
<pre>public&nbsp;void&nbsp;setIgnoreAllDuplicateRows(boolean&nbsp;ignoreAllDuplicateRows)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllDuplicateRows-boolean-">SessionConfiguration</a></code></span></div>
<div class="block">Configures the option to ignore all the row errors if they are all of the AlreadyPresent type.
This can be needed when facing KUDU-568. The effect of enabling this is that operation
responses that match this pattern will be cleared of their row errors, meaning that we consider
them successful.
This is disabled by default.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#setIgnoreAllDuplicateRows-boolean-">setIgnoreAllDuplicateRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ignoreAllDuplicateRows</code> - true if this session should enforce this, else false</dd>
</dl>
</li>
</ul>
<a name="countPendingErrors--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>countPendingErrors</h4>
<pre>public&nbsp;int&nbsp;countPendingErrors()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#countPendingErrors--">SessionConfiguration</a></code></span></div>
<div class="block">Return the number of errors which are pending. Errors may accumulate when
using the AUTO_FLUSH_BACKGROUND mode.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#countPendingErrors--">countPendingErrors</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a count of errors</dd>
</dl>
</li>
</ul>
<a name="getPendingErrors--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPendingErrors</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/RowErrorsAndOverflowStatus.html" title="class in org.apache.kudu.client">RowErrorsAndOverflowStatus</a>&nbsp;getPendingErrors()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getPendingErrors--">SessionConfiguration</a></code></span></div>
<div class="block">Return any errors from previous calls. If there were more errors
than could be held in the session's error storage, the overflow state is set to true.
Resets the pending errors.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#getPendingErrors--">getPendingErrors</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an object that contains the errors and the overflow status</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&gt;&nbsp;close()</pre>
<div class="block">Flushes the buffered operations and marks this session as closed.
See the javadoc on <a href="../../../../org/apache/kudu/client/AsyncKuduSession.html#flush--"><code>flush()</code></a> on how to deal with exceptions coming out of this method.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Deferred whose callback chain will be invoked when.
everything that was buffered at the time of the call has been flushed.</dd>
</dl>
</li>
</ul>
<a name="flush--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flush</h4>
<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&gt;&nbsp;flush()</pre>
<div class="block">Flush buffered writes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <code>Deferred</code> whose callback chain will be invoked when all applied operations at
the time of the call have been flushed.</dd>
</dl>
</li>
</ul>
<a name="hasPendingOperations--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasPendingOperations</h4>
<pre>public&nbsp;boolean&nbsp;hasPendingOperations()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#hasPendingOperations--">SessionConfiguration</a></code></span></div>
<div class="block">Check if there are operations that haven't been completely applied.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html#hasPendingOperations--">hasPendingOperations</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/kudu/client/SessionConfiguration.html" title="interface in org.apache.kudu.client">SessionConfiguration</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if operations are pending, else false.</dd>
</dl>
</li>
</ul>
<a name="apply-org.apache.kudu.client.Operation-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>apply</h4>
<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/OperationResponse.html" title="class in org.apache.kudu.client">OperationResponse</a>&gt;&nbsp;apply(<a href="../../../../org/apache/kudu/client/Operation.html" title="class in org.apache.kudu.client">Operation</a>&nbsp;operation)
throws <a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></pre>
<div class="block">Apply the given operation.
The behavior of this function depends on the current flush mode. Regardless
of flush mode, however, Apply may begin to perform processing in the background
for the call (e.g looking up the tablet, etc).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>operation</code> - operation to apply</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Deferred to track this operation</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/kudu/client/KuduException.html" title="class in org.apache.kudu.client">KuduException</a></code> - if an error happens or <a href="../../../../org/apache/kudu/client/PleaseThrottleException.html" title="class in org.apache.kudu.client"><code>PleaseThrottleException</code></a> is triggered</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AsyncKuduSession.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/kudu/client/ColumnRangePredicate.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduSession.html" target="_top">Frames</a></li>
<li><a href="AsyncKuduSession.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2016 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>