Closed kayrus closed 1 year ago
Describe the bug
Golang prior to 1.20 has a fixed seed for math/rand.globalRand and backup/snapshots have the same suffix in a name.
math/rand.globalRand
Try to run https://go.dev/play/p/qKmDuwawK4H?v=goprev (go 1.19) several times and every time it will:
5577006791947779410 8674665223082153551 15352856648520921629 13260572831089785859 3916589616287113937
Comparing to https://go.dev/play/p/qKmDuwawK4H (go 1.20)
Steps to reproduce the behavior
Restore a snapshot and restart the velero. Then restore a new snapshot, the resulting snapshot names will have the same suffix:
2d9835a7-65e1-4728-97a0-9010a0e2a418.backup.5577006791947779410 2d9835a7-65e1-4728-97a0-9010a0e2a418.backup.5577006791947779410
2d9835a7-65e1-4728-97a0-9010a0e2a418.backup.5577006791947779410
Expected behavior
Velero plugin must generate unpredictable suffixes for volume/snapshot names.
This can be done by upgrading the go version to 1.20, or using the private rand object with its own seed based on timestamp.
See also https://github.com/golang/go/issues/54880
Describe the bug
Golang prior to 1.20 has a fixed seed for
math/rand.globalRand
and backup/snapshots have the same suffix in a name.Try to run https://go.dev/play/p/qKmDuwawK4H?v=goprev (go 1.19) several times and every time it will:
Comparing to https://go.dev/play/p/qKmDuwawK4H (go 1.20)
Steps to reproduce the behavior
Restore a snapshot and restart the velero. Then restore a new snapshot, the resulting snapshot names will have the same suffix:
2d9835a7-65e1-4728-97a0-9010a0e2a418.backup.5577006791947779410
2d9835a7-65e1-4728-97a0-9010a0e2a418.backup.5577006791947779410
Expected behavior
Velero plugin must generate unpredictable suffixes for volume/snapshot names.
This can be done by upgrading the go version to 1.20, or using the private rand object with its own seed based on timestamp.
See also https://github.com/golang/go/issues/54880