X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsamples%2Fclustering-test-app%2Fprovider%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fclustering%2Fit%2Fprovider%2Fimpl%2FProduceTransactionsHandler.java;h=cfd59a52511264cf8d22a37c36abf1599abb0951;hp=278a963ce7a0c76683deca006894763583562736;hb=afb59a79c28b02f0cf8a6d2c3f71aa03b55fb97a;hpb=ab2e1d841bcc427fe84d5f4b61e20611781b6639 diff --git a/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/ProduceTransactionsHandler.java b/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/ProduceTransactionsHandler.java index 278a963ce7..cfd59a5251 100644 --- a/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/ProduceTransactionsHandler.java +++ b/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/ProduceTransactionsHandler.java @@ -139,7 +139,7 @@ public class ProduceTransactionsHandler implements Runnable { 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.failed() .withError(RpcError.ErrorType.APPLICATION, "Unexpected-exception", e).build()); @@ -203,11 +203,18 @@ public class ProduceTransactionsHandler implements Runnable { .withResult(output).build()); executor.shutdown(); - } catch (InterruptedException | ExecutionException | TimeoutException exception) { + } catch (Exception exception) { LOG.error("Write transactions failed.", exception); completionFuture.set(RpcResultBuilder.failed() .withError(RpcError.ErrorType.APPLICATION, "Unexpected-exception", exception).build()); + for (int i = 0; i < futures.size(); i++) { + final CheckedFuture future = futures.get(i); + if (!future.isDone()) { + LOG.warn("Future #{}/{} possibly hanged.", future, futures.size()); + } + } + executor.shutdown(); } finally { try {