Rollback changes to CollectionReferenceManager on DB rollback
AbandonedPublic

Authored by dvratil on Apr 7 2019, 7:42 AM.

Details

Reviewers
dfaure
Summary

This is one of the in-memory caches that must be rolled-back during a
database transaction rollback to preserve consistent state of the
whole system.

Test Plan

Builds and looks sensible, but this is hard to reproduce or even test,
so I haven't actually tried this.

Diff Detail

Repository
R165 Akonadi
Branch
arcpatch-D20337
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 10559
Build 10577: arc lint + arc unit
dvratil created this revision.Apr 7 2019, 7:42 AM
Restricted Application added a project: KDE PIM. · View Herald TranscriptApr 7 2019, 7:42 AM
Restricted Application added a subscriber: kde-pim. · View Herald Transcript
dvratil requested review of this revision.Apr 7 2019, 7:42 AM
dfaure requested changes to this revision.Apr 7 2019, 8:00 AM
dfaure added inline comments.
src/server/storage/collectionstatistics.cpp
215 ↗(On Diff #55627)

This should never be needed.
http://eel.is/c++draft/class.copy.elision#3

src/shared/akscopeguard.h
35

Is there any situation where this might be null?

This revision now requires changes to proceed.Apr 7 2019, 8:00 AM
dvratil updated this revision to Diff 55633.Apr 7 2019, 8:37 AM

Address review comments

dvratil updated this revision to Diff 55634.Apr 7 2019, 8:42 AM

Unfuckup

dfaure requested changes to this revision.Apr 7 2019, 8:45 AM
dfaure added inline comments.
src/server/handler/collectionmodifyhandler.cpp
246

It sounds like this only undoes referencing, not de-referencing?

This revision now requires changes to proceed.Apr 7 2019, 8:45 AM
dvratil abandoned this revision.Apr 7 2019, 12:25 PM

I found a better fix: remove collection referencing.