blob: 0f07bf229b5609d8728645787e0e6e424e4dd024 [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>KafkaSpoutRetryService (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="KafkaSpoutRetryService (Storm 2.4.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/KafkaSpoutRetryService.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/KafkaSpoutRetryExponentialBackoff.TimeInterval.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/KafkaSpoutTestBolt.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/KafkaSpoutRetryService.html" target="_top">Frames</a></li>
<li><a href="KafkaSpoutRetryService.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>Field&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>Field&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.storm.kafka.spout</div>
<h2 title="Interface KafkaSpoutRetryService" class="title">Interface KafkaSpoutRetryService</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</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></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/storm/kafka/spout/KafkaSpoutRetryExponentialBackoff.html" title="class in org.apache.storm.kafka.spout">KafkaSpoutRetryExponentialBackoff</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">KafkaSpoutRetryService</span>
extends <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></pre>
<div class="block"><p>Represents the logic that manages the retrial of failed tuples.</p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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/KafkaSpoutRetryService.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/KafkaSpoutRetryService.html#getMessageId-org.apache.kafka.common.TopicPartition-long-">getMessageId</a></span>(org.apache.kafka.common.TopicPartition&nbsp;topicPartition,
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/KafkaSpoutRetryService.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/KafkaSpoutRetryService.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/KafkaSpoutRetryService.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/KafkaSpoutRetryService.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/KafkaSpoutRetryService.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/KafkaSpoutRetryService.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>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="schedule-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schedule</h4>
<pre>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"><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="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="remove-org.apache.storm.kafka.spout.KafkaSpoutMessageId-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>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"><p>Removes a message from the list of messages scheduled for retrial.</p></div>
<dl>
<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>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"><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="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="earliestRetriableOffsets--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>earliestRetriableOffsets</h4>
<pre><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"><p>Gets the earliest retriable offsets.</p></div>
<dl>
<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>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"><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="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>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"><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="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="readyMessageCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readyMessageCount</h4>
<pre>int&nbsp;readyMessageCount()</pre>
<div class="block"><p>Get the number of messages ready for retry.</p></div>
<dl>
<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="blockListLast">
<li class="blockList">
<h4>getMessageId</h4>
<pre><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;topicPartition,
long&nbsp;offset)</pre>
<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="paramLabel">Parameters:</span></dt>
<dd><code>topicPartition</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>
</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/KafkaSpoutRetryService.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/KafkaSpoutRetryExponentialBackoff.TimeInterval.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/KafkaSpoutTestBolt.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/KafkaSpoutRetryService.html" target="_top">Frames</a></li>
<li><a href="KafkaSpoutRetryService.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>Field&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>Field&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; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>