blob: 561c8e49fb54f66918ec943ee686bc524402bdec [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>KafkaSpoutRetryExponentialBackoff (Storm 2.4.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="KafkaSpoutRetryExponentialBackoff (Storm 2.4.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":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/KafkaSpoutRetryExponentialBackoff.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/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.TimeInterval.html" title="class in org.apache.storm.kafka.spout"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html" target="_top">Frames</a></li>
<li><a href="KafkaSpoutRetryExponentialBackoff.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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.storm.kafka.spout</div>
<h2 title="Class KafkaSpoutRetryExponentialBackoff" class="title">Class KafkaSpoutRetryExponentialBackoff</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/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.storm.kafka.spout.KafkaSpoutRetryExponentialBackoff</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html" title="interface in org.apache.storm.kafka.spout">KafkaSpoutRetryService</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">KafkaSpoutRetryExponentialBackoff</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html" title="interface in org.apache.storm.kafka.spout">KafkaSpoutRetryService</a></pre>
<div class="block"><p>Implementation of <a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html" title="interface in org.apache.storm.kafka.spout"><code>KafkaSpoutRetryService</code></a> using the exponential backoff formula. The time of the nextRetry is set as follows: nextRetry = failCount == 1 ? currentTime + initialDelay : currentTime + delayPeriod*2^(failCount-1) where failCount = 1, 2, 3, &hellip; nextRetry = Min(nextRetry, currentTime + maxDelay)</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.apache.storm.kafka.spout.KafkaSpoutRetryExponentialBackoff">Serialized Form</a></dd>
</dl>
</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>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.TimeInterval.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutRetryExponentialBackoff.TimeInterval</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html#KafkaSpoutRetryExponentialBackoff-org.apache.storm.kafka.spout.KafkaSpoutRetryExponentialBackoff.TimeInterval-org.apache.storm.kafka.spout.KafkaSpoutRetryExponentialBackoff.TimeInterval-int-org.apache.storm.kafka.spout.KafkaSpoutRetryExponentialBackoff.TimeInterval-">KafkaSpoutRetryExponentialBackoff</a></span>(<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.TimeInterval.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutRetryExponentialBackoff.TimeInterval</a>&nbsp;initialDelay,
<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.TimeInterval.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutRetryExponentialBackoff.TimeInterval</a>&nbsp;delayPeriod,
int&nbsp;maxRetries,
<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.TimeInterval.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutRetryExponentialBackoff.TimeInterval</a>&nbsp;maxDelay)</code>
<div class="block">The time stamp of the next retry is scheduled according to the exponential backoff formula (geometric progression): nextRetry = failCount == 1 ? currentTime + initialDelay : currentTime + delayPeriod^(failCount-1), where failCount = 1, 2, 3, &hellip; nextRetry = Min(nextRetry, currentTime + maxDelay).</div>
</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><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.kafka.common.TopicPartition,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html#earliestRetriableOffsets--">earliestRetriableOffsets</a></span>()</code>
<div class="block">Gets the earliest retriable offsets.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutMessageId</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html#getMessageId-org.apache.kafka.common.TopicPartition-long-">getMessageId</a></span>(org.apache.kafka.common.TopicPartition&nbsp;tp,
long&nbsp;offset)</code>
<div class="block">Gets the <a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout"><code>KafkaSpoutMessageId</code></a> for the record on the given topic partition and offset.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html#isReady-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">isReady</a></span>(<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutMessageId</a>&nbsp;msgId)</code>
<div class="block">Checks if a specific failed <a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout"><code>KafkaSpoutMessageId</code></a> is ready to be retried, i.e is scheduled and has retry time that is less than current time.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html#isScheduled-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">isScheduled</a></span>(<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutMessageId</a>&nbsp;msgId)</code>
<div class="block">Checks if a specific failed <a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout"><code>KafkaSpoutMessageId</code></a> is scheduled to be retried.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html#readyMessageCount--">readyMessageCount</a></span>()</code>
<div class="block">Get the number of messages ready for retry.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html#remove-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">remove</a></span>(<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutMessageId</a>&nbsp;msgId)</code>
<div class="block">Removes a message from the list of messages scheduled for retrial.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html#retainAll-java.util.Collection-">retainAll</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.kafka.common.TopicPartition&gt;&nbsp;topicPartitions)</code>
<div class="block">Retains all the messages whose <code>TopicPartition</code> belongs to the specified <code>Collection&lt;TopicPartition&gt;</code>.</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/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html#schedule-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">schedule</a></span>(<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutMessageId</a>&nbsp;msgId)</code>
<div class="block">Schedules this <a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout"><code>KafkaSpoutMessageId</code></a> if not yet scheduled, or updates retry time if it has already been scheduled.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html#toString--">toString</a></span>()</code>&nbsp;</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="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/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">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="KafkaSpoutRetryExponentialBackoff-org.apache.storm.kafka.spout.KafkaSpoutRetryExponentialBackoff.TimeInterval-org.apache.storm.kafka.spout.KafkaSpoutRetryExponentialBackoff.TimeInterval-int-org.apache.storm.kafka.spout.KafkaSpoutRetryExponentialBackoff.TimeInterval-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>KafkaSpoutRetryExponentialBackoff</h4>
<pre>public&nbsp;KafkaSpoutRetryExponentialBackoff(<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.TimeInterval.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutRetryExponentialBackoff.TimeInterval</a>&nbsp;initialDelay,
<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.TimeInterval.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutRetryExponentialBackoff.TimeInterval</a>&nbsp;delayPeriod,
int&nbsp;maxRetries,
<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.TimeInterval.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutRetryExponentialBackoff.TimeInterval</a>&nbsp;maxDelay)</pre>
<div class="block"><p>The time stamp of the next retry is scheduled according to the exponential backoff formula (geometric progression): nextRetry = failCount == 1 ? currentTime + initialDelay : currentTime + delayPeriod^(failCount-1), where failCount = 1, 2, 3, &hellip; nextRetry = Min(nextRetry, currentTime + maxDelay). <p/> By specifying a value for maxRetries lower than Integer.MAX_VALUE, the user decides to sacrifice guarantee of delivery for the previous polled records in favor of processing more records.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>initialDelay</code> - initial delay of the first retry</dd>
<dd><code>delayPeriod</code> - the time interval that is the ratio of the exponential backoff formula (geometric progression)</dd>
<dd><code>maxRetries</code> - maximum number of times a tuple is retried before being acked and scheduled for commit</dd>
<dd><code>maxDelay</code> - maximum amount of time waiting before retrying</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="earliestRetriableOffsets--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>earliestRetriableOffsets</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.kafka.common.TopicPartition,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;earliestRetriableOffsets()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#earliestRetriableOffsets--">KafkaSpoutRetryService</a></code></span></div>
<div class="block"><p>Gets the earliest retriable offsets.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#earliestRetriableOffsets--">earliestRetriableOffsets</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html" title="interface in org.apache.storm.kafka.spout">KafkaSpoutRetryService</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The earliest retriable offset for each TopicPartition that has offsets ready to be retried, i.e. for which a tuple has failed and has retry time less than current time.</dd>
</dl>
</li>
</ul>
<a name="isReady-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isReady</h4>
<pre>public&nbsp;boolean&nbsp;isReady(<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutMessageId</a>&nbsp;msgId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#isReady-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">KafkaSpoutRetryService</a></code></span></div>
<div class="block"><p>Checks if a specific failed <a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout"><code>KafkaSpoutMessageId</code></a> is ready to be retried, i.e is scheduled and has retry time that is less than current time.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#isReady-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">isReady</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html" title="interface in org.apache.storm.kafka.spout">KafkaSpoutRetryService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msgId</code> - message to check for readiness</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if message is ready to be retried, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isScheduled-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isScheduled</h4>
<pre>public&nbsp;boolean&nbsp;isScheduled(<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutMessageId</a>&nbsp;msgId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#isScheduled-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">KafkaSpoutRetryService</a></code></span></div>
<div class="block"><p>Checks if a specific failed <a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout"><code>KafkaSpoutMessageId</code></a> is scheduled to be retried. The message may or may not be ready to be retried yet.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#isScheduled-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">isScheduled</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html" title="interface in org.apache.storm.kafka.spout">KafkaSpoutRetryService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msgId</code> - message to check for scheduling status</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the message is scheduled to be retried, regardless of being or not ready to be retried. Returns false is this message is not scheduled for retrial</dd>
</dl>
</li>
</ul>
<a name="remove-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public&nbsp;boolean&nbsp;remove(<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutMessageId</a>&nbsp;msgId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#remove-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">KafkaSpoutRetryService</a></code></span></div>
<div class="block"><p>Removes a message from the list of messages scheduled for retrial.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#remove-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">remove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html" title="interface in org.apache.storm.kafka.spout">KafkaSpoutRetryService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msgId</code> - message to remove from retrial</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the message was scheduled for retrial, false otherwise</dd>
</dl>
</li>
</ul>
<a name="retainAll-java.util.Collection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>retainAll</h4>
<pre>public&nbsp;boolean&nbsp;retainAll(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.kafka.common.TopicPartition&gt;&nbsp;topicPartitions)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#retainAll-java.util.Collection-">KafkaSpoutRetryService</a></code></span></div>
<div class="block"><p>Retains all the messages whose <code>TopicPartition</code> belongs to the specified <code>Collection&lt;TopicPartition&gt;</code>. All messages that come from a <code>TopicPartition</code> NOT existing in the collection will be removed. This method is useful to cleanup state following partition rebalance.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#retainAll-java.util.Collection-">retainAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html" title="interface in org.apache.storm.kafka.spout">KafkaSpoutRetryService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>topicPartitions</code> - Collection of <code>TopicPartition</code> for which to keep messages</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if at least one message was removed, false otherwise</dd>
</dl>
</li>
</ul>
<a name="schedule-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schedule</h4>
<pre>public&nbsp;boolean&nbsp;schedule(<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutMessageId</a>&nbsp;msgId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#schedule-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">KafkaSpoutRetryService</a></code></span></div>
<div class="block"><p>Schedules this <a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout"><code>KafkaSpoutMessageId</code></a> if not yet scheduled, or updates retry time if it has already been scheduled. It may also indicate that the message should not be retried, in which case the message will not be scheduled.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#schedule-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">schedule</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html" title="interface in org.apache.storm.kafka.spout">KafkaSpoutRetryService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msgId</code> - message to schedule for retrial</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the message will be retried, false otherwise</dd>
</dl>
</li>
</ul>
<a name="readyMessageCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readyMessageCount</h4>
<pre>public&nbsp;int&nbsp;readyMessageCount()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#readyMessageCount--">KafkaSpoutRetryService</a></code></span></div>
<div class="block"><p>Get the number of messages ready for retry.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#readyMessageCount--">readyMessageCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html" title="interface in org.apache.storm.kafka.spout">KafkaSpoutRetryService</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of messages that are ready for retry</dd>
</dl>
</li>
</ul>
<a name="getMessageId-org.apache.kafka.common.TopicPartition-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessageId</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutMessageId</a>&nbsp;getMessageId(org.apache.kafka.common.TopicPartition&nbsp;tp,
long&nbsp;offset)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#getMessageId-org.apache.kafka.common.TopicPartition-long-">KafkaSpoutRetryService</a></code></span></div>
<div class="block"><p>Gets the <a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout"><code>KafkaSpoutMessageId</code></a> for the record on the given topic partition and offset.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html#getMessageId-org.apache.kafka.common.TopicPartition-long-">getMessageId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryService.html" title="interface in org.apache.storm.kafka.spout">KafkaSpoutRetryService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tp</code> - The topic partition of the record</dd>
<dd><code>offset</code> - The offset of the record</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The id the record was scheduled for retry with, or a new <a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout"><code>KafkaSpoutMessageId</code></a> if the record was not scheduled for retry.</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></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/KafkaSpoutRetryExponentialBackoff.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 class="aboutLanguage"><script type="text/javascript" src="../../../../../highlight.pack.js"></script>
<script type="text/javascript"><!--
hljs.initHighlightingOnLoad();
//--></script></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutMessageId.html" title="class in org.apache.storm.kafka.spout"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.TimeInterval.html" title="class in org.apache.storm.kafka.spout"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html" target="_top">Frames</a></li>
<li><a href="KafkaSpoutRetryExponentialBackoff.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>