Handling of checkpoint references is not always correct
A checkpoint reference stored in an environment's metadata always contains a binding://
prefix (source), but some code doesn't seem to account for that and assumes that these references are always equal to checkpoint IDs:
-
Snapshot.createSnapshot()
(here) -
EmulatorBean.startBackend()
(here and here) -
EnvironmentRepository.fixCheckpointedEnvironmentsV1()
(here)
This is incorrect though and can silently lead to wrong or unexpected results. Hence, all related code should be fixed accordingly.