try {
tx.submit().checkedGet(125, TimeUnit.SECONDS);
- } catch (final TransactionCommitFailedException | TimeoutException e) {
+ } catch (final Exception e) {
LOG.warn("Unable to fill the initial item list.", e);
settableFuture.set(RpcResultBuilder.<ProduceTransactionsOutput>failed()
.withError(RpcError.ErrorType.APPLICATION, "Unexpected-exception", e).build());
.withResult(output).build());
executor.shutdown();
- } catch (InterruptedException | ExecutionException | TimeoutException exception) {
+ } catch (Exception exception) {
LOG.error("Write transactions failed.", exception);
completionFuture.set(RpcResultBuilder.<ProduceTransactionsOutput>failed()
.withError(RpcError.ErrorType.APPLICATION, "Unexpected-exception", exception).build());
+ for (int i = 0; i < futures.size(); i++) {
+ final CheckedFuture<Void, TransactionCommitFailedException> future = futures.get(i);
+ if (!future.isDone()) {
+ LOG.warn("Future #{}/{} possibly hanged.", future, futures.size());
+ }
+ }
+
executor.shutdown();
} finally {
try {