Add new migration strategy for Pekko Persistence snapshots#1423
Add new migration strategy for Pekko Persistence snapshots#1423pjfanning merged 10 commits intoapache:mainfrom
Conversation
|
Does it make sense to have a fourh option which is only reading pekko snapshots, it definitely won't be the default now but later on jf we introduce some change that we know won't work with akka it may make sense to change it as a default to signal that "we don't support all with this release" |
The 'ignore' option in this PR only supports Pekko snapshots and avoids the overhead of having to to try to repair the serializer class names that get saved in the persisted data. |
Thanks, I was just skimming this on the phone so I couldn't look at it properly which brings me to the second point, maybe we can rename the options like this so its more explicit/clear?
Wdyt? |
Thanks @mdedetrich - I agree the naming isn't right but I don't think your suggestion quite works either. Let me think about better naming and I'll come back with some changes for review. |
Update reference.conf Update SnapshotSerializerSpec.scala new impl
6481f00 to
b5f928b
Compare
I pushed some some changes. The config is about migrating data and is not about whether we support Pekko and Akka snapshots. I renamed 'Ignore' to 'NoMigration'. With 'NoMigration', we will fail if there is an attempt to update an Akka generated snapshot. With 'Akka' and 'Pekko', we support both Akka and Pekko generated snapshots but the config controls what serializer name value gets included in the persisted data. |
|
@mdedetrich @kerr @raboof @Roiocam @nvollmar @samueleresca I'm hoping to get this into the 1.1.0 release and I was hoping to get that release process started maybe next week. Would any of you have time to review this? |
samueleresca
left a comment
There was a problem hiding this comment.
I went through the #1421 discussion and reviewed the PR. The changes look reasonable to me.
See #1421
The docs in https://cwiki.apache.org/confluence/display/PEKKO/Pekko+Akka+Compatibility can be updated when this or its equivalent are ready for release.
The issue is that the 'manifest' value saved with the snapshot includes the class name of the serializer which can be 'akka' or 'org.apache.pekko' prefixed.
The idea is that the new config
pekko.persistence.snapshot-store.auto-migrate-manifestsupports 3 values: