In general it happens when there is a ConflictingVersionException,
it retries and if it times out while retrying, it will log the error
The ConflictingVersionException is similar to the OptimisticLockFailuerEx
in the data store, i.e. the current config version is incremented and
recorded at the start of a push and if a second config is pushed before
the first completes, the version changes and it detects that and
re-pushes the first config. The CSS pushes one config at a time
but this can happen during dependency resolution if it finds a
dependent module that wasn't created yet or its config changed
and needs to be dynamically recreated. The dependent module is
pushed which results in a conflicting version. This
happens with BGP.
Signed-off-by: Sai MarapaReddy <sai.marapareddy@gmail.com>
Author: Sai MarapaReddy <sai.marapareddy@gmail.com>
Change-Id: Ic1d4639625fa54ccc3d54331a960f421ad6fa1dd
LOG.warn("Transaction {} failed on {}", taON, validationException.toString());
throw validationException;
} catch (ConflictingVersionException e) {
- LOG.error("Exception while commit of {}, aborting transaction", taON, e);
+ LOG.debug("Exception while commit of {}, aborting transaction", taON, e);
// clean up
abortTransaction();
throw e;