Improve aborted transaction logging 23/80423/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 20 Feb 2019 13:47:12 +0000 (14:47 +0100)
committerRobert Varga <nite@hq.sk>
Wed, 20 Feb 2019 22:03:36 +0000 (22:03 +0000)
commitb72468698fd0ec9f29b6533bd367b485775e744d
treed284dddf48c2774f870d41c11336f6b3a1d83e53
parenteaa9e36d7b1a0576c24e7658615eedeebb993cca
Improve aborted transaction logging

The fact that a snapshot is recorded does not mean it has not been
closed -- in fact write-aspect transactions do not actively remove
themselves.

When we prune recorded snapshots on transaction chain close, we need
to pay attention to the return value of abort(), as that is
indicating whether we should in fact warn about an unclosed
transaction.

This means that the actual set of transactions we warn about cannot
be determined until we have traversed all recorded snapshots, hence
modify the logic to record the identifiers that were in fact aborted
and report all of them in a single message along with a stack trace
so the offender may be identifier.

Change-Id: I8b176f1990c9aa9c056cd03203ea50fb9b9549a0
JIRA: CONTROLLER-1886
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 21eed79684671b9a44e34edbd589419cb9bb6087)
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/ClientBackedTransactionChain.java