in src/main/java/software/amazon/qldb/tutorial/streams/StreamJournal.java [366:395]
private static void waitForKdsActivation() {
log.info("Waiting for Kinesis Stream to become Active.");
DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest()
.withStreamName(kdsName);
int retries = 0;
while (retries < MAX_RETRIES) {
try {
log.info("Sleeping for 5 sec before polling Kinesis Stream status.");
Thread.sleep(5 * 1000);
} catch (Exception ignore) {
}
DescribeStreamResult describeStreamResponse = kinesis.describeStream(describeStreamRequest);
kdsArn = describeStreamResponse.getStreamDescription().getStreamARN();
String streamStatus = describeStreamResponse.getStreamDescription().getStreamStatus();
if (streamStatus.equals("ACTIVE")) {
break;
}
log.info("Still waiting for Kinesis Stream to become Active. Current streamStatus: {}.", streamStatus);
try {
Thread.sleep(1000);
} catch (Exception ignore) {
}
retries++;
}
if (retries >= MAX_RETRIES) {
throw new RuntimeException("Kinesis Stream with name " + kdsName + " never went active");
}
}