test_class.declarator: TEST_OFFSET = 101L
test_class.modifier: private static final
test_class.original_string: private static final Long TEST_OFFSET = 101L;
test_class.type: Long
test_class.var_name: TEST_OFFSET
test_class.declarator: TEST_OFFSET2 = 102L
test_class.modifier: private static final
test_class.original_string: private static final Long TEST_OFFSET2 = 102L;
test_class.type: Long
test_class.var_name: TEST_OFFSET2
test_class.file: storm/storm-app/src/test/java/storm/kafka/ExponentialBackoffMsgRetryManagerTest.java
test_class.identifier: ExponentialBackoffMsgRetryManagerTest
test_case.body: @Test(expected = IllegalStateException.class)
      public void testRetryWithoutFail() throws Exception {
          ExponentialBackoffMsgRetryManager manager = new ExponentialBackoffMsgRetryManager(0, 0d, 0);
          manager.retryStarted(TEST_OFFSET);
      }
test_case.class_method_signature: ExponentialBackoffMsgRetryManagerTest.testRetryWithoutFail()
test_case.full_signature: @Test(expected = IllegalStateException.class) public void testRetryWithoutFail()
test_case.identifier: testRetryWithoutFail
test_case.invocations: retryStarted
test_case.modifiers: @Test(expected = IllegalStateException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testRetryWithoutFail()
focal_class.declarator: retryInitialDelayMs
focal_class.modifier: private final
focal_class.original_string: private final long retryInitialDelayMs;
focal_class.type: long
focal_class.var_name: retryInitialDelayMs
focal_class.declarator: retryDelayMultiplier
focal_class.modifier: private final
focal_class.original_string: private final double retryDelayMultiplier;
focal_class.type: double
focal_class.var_name: retryDelayMultiplier
focal_class.declarator: retryDelayMaxMs
focal_class.modifier: private final
focal_class.original_string: private final long retryDelayMaxMs;
focal_class.type: long
focal_class.var_name: retryDelayMaxMs
focal_class.declarator: waiting = new PriorityQueue<MessageRetryRecord>(11, new RetryTimeComparator())
focal_class.modifier: private
focal_class.original_string: private Queue<MessageRetryRecord> waiting = new PriorityQueue<MessageRetryRecord>(11, new RetryTimeComparator());
focal_class.type: Queue<MessageRetryRecord>
focal_class.var_name: waiting
focal_class.declarator: records = new HashMap<Long,MessageRetryRecord>()
focal_class.modifier: private
focal_class.original_string: private Map<Long,MessageRetryRecord> records = new HashMap<Long,MessageRetryRecord>();
focal_class.type: Map<Long,MessageRetryRecord>
focal_class.var_name: records
focal_class.file: storm/storm-app/src/main/java/storm/kafka/ExponentialBackoffMsgRetryManager.java
focal_class.identifier: ExponentialBackoffMsgRetryManager
focal_class.interfaces: implements FailedMsgRetryManager
focal_class.class_method_signature: ExponentialBackoffMsgRetryManager.ExponentialBackoffMsgRetryManager(long retryInitialDelayMs, double retryDelayMultiplier, long retryDelayMaxMs)
focal_class.full_signature: public  ExponentialBackoffMsgRetryManager(long retryInitialDelayMs, double retryDelayMultiplier, long retryDelayMaxMs)
focal_class.identifier: ExponentialBackoffMsgRetryManager
focal_class.modifiers: public
focal_class.parameters: (long retryInitialDelayMs, double retryDelayMultiplier, long retryDelayMaxMs)
focal_class.signature:  ExponentialBackoffMsgRetryManager(long retryInitialDelayMs, double retryDelayMultiplier, long retryDelayMaxMs)
focal_class.class_method_signature: ExponentialBackoffMsgRetryManager.failed(Long offset)
focal_class.full_signature: @Override public void failed(Long offset)
focal_class.identifier: failed
focal_class.modifiers: @Override public
focal_class.parameters: (Long offset)
focal_class.return: void
focal_class.signature: void failed(Long offset)
focal_class.class_method_signature: ExponentialBackoffMsgRetryManager.acked(Long offset)
focal_class.full_signature: @Override public void acked(Long offset)
focal_class.identifier: acked
focal_class.modifiers: @Override public
focal_class.parameters: (Long offset)
focal_class.return: void
focal_class.signature: void acked(Long offset)
focal_class.class_method_signature: ExponentialBackoffMsgRetryManager.retryStarted(Long offset)
focal_class.full_signature: @Override public void retryStarted(Long offset)
focal_class.identifier: retryStarted
focal_class.modifiers: @Override public
focal_class.parameters: (Long offset)
focal_class.return: void
focal_class.signature: void retryStarted(Long offset)
focal_class.class_method_signature: ExponentialBackoffMsgRetryManager.nextFailedMessageToRetry()
focal_class.full_signature: @Override public Long nextFailedMessageToRetry()
focal_class.identifier: nextFailedMessageToRetry
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Long
focal_class.signature: Long nextFailedMessageToRetry()
focal_class.class_method_signature: ExponentialBackoffMsgRetryManager.shouldRetryMsg(Long offset)
focal_class.full_signature: @Override public boolean shouldRetryMsg(Long offset)
focal_class.identifier: shouldRetryMsg
focal_class.modifiers: @Override public
focal_class.parameters: (Long offset)
focal_class.return: boolean
focal_class.signature: boolean shouldRetryMsg(Long offset)
focal_method.body: @Override
      public void retryStarted(Long offset) {
          MessageRetryRecord record = this.records.get(offset);
          if (record == null || !this.waiting.contains(record)) {
              throw new IllegalStateException("cannot retry a message that has not failed");
          } else {
              this.waiting.remove(record);
          }
      }
focal_method.class_method_signature: ExponentialBackoffMsgRetryManager.retryStarted(Long offset)
focal_method.full_signature: @Override public void retryStarted(Long offset)
focal_method.identifier: retryStarted
focal_method.invocations: get contains remove
focal_method.modifiers: @Override public
focal_method.parameters: (Long offset)
focal_method.return: void
focal_method.signature: void retryStarted(Long offset)