forked from TrueCloudLab/frostfs-contract
[#102] container: Migrate container estimation storage
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
parent
711962924f
commit
12889ac87e
1 changed files with 14 additions and 1 deletions
|
@ -68,6 +68,7 @@ func _deploy(data interface{}, isUpdate bool) {
|
||||||
|
|
||||||
if isUpdate {
|
if isUpdate {
|
||||||
migrateContainerLists(ctx) // from v0.9.1 to v0.9.2
|
migrateContainerLists(ctx) // from v0.9.1 to v0.9.2
|
||||||
|
migrateEstimationStorage(ctx) // from v0.9.1 to v0.9.2
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -118,6 +119,18 @@ func migrateContainerLists(ctx storage.Context) {
|
||||||
storage.Delete(ctx, ownersKey)
|
storage.Delete(ctx, ownersKey)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func migrateEstimationStorage(ctx storage.Context) {
|
||||||
|
// In fact, this method does not migrate estimation storage because this data
|
||||||
|
// is valid only for one epoch. Migration routine will be quite complex, so
|
||||||
|
// it makes sense to clean all remaining estimations and wait for new one.
|
||||||
|
|
||||||
|
it := storage.Find(ctx, []byte(estimateKeyPrefix), storage.KeysOnly)
|
||||||
|
for iterator.Next(it) {
|
||||||
|
key := iterator.Value(it).([]byte)
|
||||||
|
storage.Delete(ctx, key)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func Migrate(script []byte, manifest []byte, data interface{}) bool {
|
func Migrate(script []byte, manifest []byte, data interface{}) bool {
|
||||||
ctx := storage.GetReadOnlyContext()
|
ctx := storage.GetReadOnlyContext()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue