in src/main/java/software/amazon/qldb/ResultRetriever.java [321:345]
public void run() {
try {
while (null != nextPageToken) {
final Page page = super.getNextPage();
try {
while (!results.offer(new ResultHolder(page), 50, TimeUnit.MILLISECONDS)) {
if (isClosed.get()) {
throw QldbDriverException.create(Errors.RESULT_PARENT_INACTIVE.get(),
super.txnId);
}
Thread.yield();
}
} catch (InterruptedException ie) {
Thread.currentThread().interrupt();
throw QldbDriverException.create(Errors.RETRIEVE_INTERRUPTED.get(), ie);
}
}
} catch (Exception e) {
results.clear();
if (!results.offerFirst(new ResultHolder<>(e))) {
// We've failed to give back the exception; log it as a best case fallback.
logger.error(String.format(Errors.QUEUE_CAPACITY.get(), readAhead), e);
}
}
}