// 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.<WriteTransactionsOutput>failed()
.withError(RpcError.ErrorType.APPLICATION, "Unexpected-exception", e).build());
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.<WriteTransactionsOutput>failed()
.withError(RpcError.ErrorType.APPLICATION, "Unexpected-exception", e).build());
tx.put(LogicalDatastoreType.CONFIGURATION, itemListId, mapBuilder.build());
try {
- tx.submit().checkedGet();
- } catch (final TransactionCommitFailedException e) {
+ tx.submit().checkedGet(125, TimeUnit.SECONDS);
+ } catch (final TransactionCommitFailedException | TimeoutException e) {
LOG.warn("Unable to fill the initial item list.", e);
settableFuture.set(RpcResultBuilder.<WriteTransactionsOutput>failed()
.withError(RpcError.ErrorType.APPLICATION, "Unexpected-exception", e).build());
final ListenableFuture<List<Void>> allFutures = Futures.allAsList(futures);
try {
- allFutures.get(30, TimeUnit.SECONDS);
+ // Timeout from cds should be 2 minutes so leave some leeway.
+ allFutures.get(125, TimeUnit.SECONDS);
LOG.debug("All futures completed successfully.");