From 26121115954d89d677b631fd5e576ef263b0c41b Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 6 Apr 2017 14:09:32 +0200 Subject: Fixed changereplay guard ...and improved debug output slightly. --- common/changereplay.cpp | 8 +++++--- common/changereplay.h | 2 +- common/synchronizer.cpp | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/common/changereplay.cpp b/common/changereplay.cpp index 4870551..6b4540e 100644 --- a/common/changereplay.cpp +++ b/common/changereplay.cpp @@ -29,8 +29,9 @@ using namespace Sink; using namespace Sink::Storage; -ChangeReplay::ChangeReplay(const ResourceContext &resourceContext) - : mStorage(storageLocation(), resourceContext.instanceId(), DataStore::ReadOnly), mChangeReplayStore(storageLocation(), resourceContext.instanceId() + ".changereplay", DataStore::ReadWrite), mReplayInProgress(false), mLogCtx{"changereplay"} +ChangeReplay::ChangeReplay(const ResourceContext &resourceContext, const Sink::Log::Context &ctx) + : mStorage(storageLocation(), resourceContext.instanceId(), DataStore::ReadOnly), mChangeReplayStore(storageLocation(), resourceContext.instanceId() + ".changereplay", DataStore::ReadWrite), mReplayInProgress(false), mLogCtx{ctx.subContext("changereplay")}, + mGuard{new QObject} { SinkTraceCtx(mLogCtx) << "Created change replay: " << resourceContext.instanceId(); } @@ -100,10 +101,11 @@ KAsync::Job ChangeReplay::replayNextRevision() return KAsync::doWhile( [this, lastReplayedRevision, topRevision]() -> KAsync::Job { if (!mGuard) { + SinkTraceCtx(mLogCtx) << "Exit due to guard"; return KAsync::value(KAsync::Break); } if (*lastReplayedRevision >= *topRevision) { - SinkTraceCtx(mLogCtx) << "Done replaying"; + SinkTraceCtx(mLogCtx) << "Done replaying" << *lastReplayedRevision << *topRevision; return KAsync::value(KAsync::Break); } diff --git a/common/changereplay.h b/common/changereplay.h index 2772da9..edc4462 100644 --- a/common/changereplay.h +++ b/common/changereplay.h @@ -39,7 +39,7 @@ class SINK_EXPORT ChangeReplay : public QObject { Q_OBJECT public: - ChangeReplay(const ResourceContext &resourceContext); + ChangeReplay(const ResourceContext &resourceContext, const Sink::Log::Context &ctx= {}); qint64 getLastReplayedRevision(); virtual bool allChangesReplayed(); diff --git a/common/synchronizer.cpp b/common/synchronizer.cpp index 900c6d5..284f867 100644 --- a/common/synchronizer.cpp +++ b/common/synchronizer.cpp @@ -33,7 +33,7 @@ using namespace Sink; Synchronizer::Synchronizer(const Sink::ResourceContext &context) - : ChangeReplay(context), + : ChangeReplay(context, {"synchronizer"}), mLogCtx{"synchronizer"}, mResourceContext(context), mEntityStore(Storage::EntityStore::Ptr::create(mResourceContext, mLogCtx)), -- cgit v1.2.3