From 20a414c60c02c61f07e67026ae850e3625b99216 Mon Sep 17 00:00:00 2001 From: Tomas Cere Date: Fri, 19 May 2017 14:29:33 +0200 Subject: [PATCH] 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 (cherry picked from commit bf9e4dc047d4899f76cd95a1f1f4106f3c5bb4a3) --- .../it/provider/impl/WriteTransactionsHandler.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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()); -- 2.36.6