From 49a3316dd6237acc1c885529715ea24ecc80e52b Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 24 Apr 2022 16:58:40 +0200 Subject: [PATCH] Add more tracing to DataJournalV0 We seem to have a problem with completing a specific write, add a few more traces to try to pin the problem down. JIRA: CONTROLLER-2043 Change-Id: I9efb37fd40e48ff81c988da7edcb0ae0010f7baf Signed-off-by: Robert Varga --- .../controller/akka/segjournal/DataJournalV0.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/DataJournalV0.java b/opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/DataJournalV0.java index bc5eead800..a2b39192c8 100644 --- a/opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/DataJournalV0.java +++ b/opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/DataJournalV0.java @@ -21,6 +21,7 @@ import io.atomix.storage.journal.SegmentedJournalWriter; import io.atomix.utils.serializer.Namespace; import java.io.File; import java.io.Serializable; +import java.util.List; import org.opendaylight.controller.akka.segjournal.DataJournalEntry.FromPersistence; import org.opendaylight.controller.akka.segjournal.DataJournalEntry.ToPersistence; import org.opendaylight.controller.akka.segjournal.SegmentedJournalActor.ReplayMessages; @@ -110,15 +111,23 @@ final class DataJournalV0 extends DataJournal { for (int i = 0; i < count; ++i) { final long mark = writer.getLastIndex(); final AtomicWrite request = message.getRequest(i); + + final List reprs = CollectionConverters.asJava(request.payload()); + LOG.trace("{}: append {}/{}: {} items at mark {}", persistenceId, i, count, mark, reprs.size()); try { - for (PersistentRepr repr : CollectionConverters.asJava(request.payload())) { + for (PersistentRepr repr : reprs) { final Object payload = repr.payload(); if (!(payload instanceof Serializable)) { throw new UnsupportedOperationException("Non-serializable payload encountered " + payload.getClass()); } - recordMessageSize(writer.append(new ToPersistence(repr)).size()); + LOG.trace("{}: starting append of {}", persistenceId, payload); + final Indexed entry = writer.append(new ToPersistence(repr)); + final int size = entry.size(); + LOG.trace("{}: finished append of {} with {} bytes at {}", persistenceId, payload, size, + entry.index()); + recordMessageSize(size); } } catch (Exception e) { LOG.warn("{}: failed to write out request", persistenceId, e); -- 2.36.6