From: Tomas Cere Date: Fri, 19 May 2017 12:29:33 +0000 (+0200) Subject: BUG 8403 Timeout writetransactions on initial ensure X-Git-Tag: release/carbon-sr1~68 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=bf9e4dc047d4899f76cd95a1f1f4106f3c5bb4a3 BUG 8403 Timeout writetransactions on initial ensure This stage can get stuck aswell and if the submit is never timed out from the backend as a result of a bug it will never complete. Change-Id: Ia424d009cd201e3f03a13af88c35b1390b40cbee Signed-off-by: Tomas Cere --- diff --git a/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/WriteTransactionsHandler.java b/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/WriteTransactionsHandler.java index c4abb391e6..6c8750e695 100644 --- a/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/WriteTransactionsHandler.java +++ b/opendaylight/md-sal/samples/clustering-test-app/provider/src/main/java/org/opendaylight/controller/clustering/it/provider/impl/WriteTransactionsHandler.java @@ -143,12 +143,12 @@ public class WriteTransactionsHandler implements Runnable { // write only the top list tx.merge(LogicalDatastoreType.CONFIGURATION, ID_INTS_YID, containerNode); try { - tx.submit().checkedGet(); + tx.submit().checkedGet(125, TimeUnit.SECONDS); } catch (final OptimisticLockFailedException e) { // when multiple write-transactions are executed concurrently we need to ignore this. // If we get optimistic lock here it means id-ints already exists and we can continue. LOG.debug("Got an optimistic lock when writing initial top level list element.", e); - } catch (final TransactionCommitFailedException e) { + } catch (final TransactionCommitFailedException | TimeoutException e) { LOG.warn("Unable to ensure IdInts list for id: {} exists.", id, e); settableFuture.set(RpcResultBuilder.failed() .withError(RpcError.ErrorType.APPLICATION, "Unexpected-exception", e).build()); @@ -164,8 +164,8 @@ public class WriteTransactionsHandler implements Runnable { tx.merge(LogicalDatastoreType.CONFIGURATION, idListWithKey, entry); try { - tx.submit().checkedGet(); - } catch (final TransactionCommitFailedException e) { + tx.submit().checkedGet(125, TimeUnit.SECONDS); + } catch (final TransactionCommitFailedException | TimeoutException e) { LOG.warn("Unable to ensure IdInts list for id: {} exists.", id, e); settableFuture.set(RpcResultBuilder.failed() .withError(RpcError.ErrorType.APPLICATION, "Unexpected-exception", e).build());