in core/src/main/scala/org/apache/pekko/persistence/jdbc/snapshot/dao/DefaultSnapshotDao.scala [39:57]
private def toSnapshotData(row: SnapshotRow): Try[(SnapshotMetadata, Any)] = {
val snapshot = serialization.deserialize(row.snapshotPayload, row.snapshotSerId, row.snapshotSerManifest)
snapshot.flatMap { snapshot =>
val metadata = for {
mPayload <- row.metaPayload
mSerId <- row.metaSerId
} yield (mPayload, mSerId)
metadata match {
case None =>
Success((SnapshotMetadata(row.persistenceId, row.sequenceNumber, row.created), snapshot))
case Some((payload, id)) =>
serialization.deserialize(payload, id, row.metaSerManifest.getOrElse("")).map { meta =>
(SnapshotMetadata(row.persistenceId, row.sequenceNumber, row.created, Some(meta)), snapshot)
}
}
}
}