diff --git a/beacon_node/beacon_chain/src/schema_change.rs b/beacon_node/beacon_chain/src/schema_change.rs index a2ce448c93..bb1ae7c9a3 100644 --- a/beacon_node/beacon_chain/src/schema_change.rs +++ b/beacon_node/beacon_chain/src/schema_change.rs @@ -1,5 +1,5 @@ //! Utilities for managing database schema changes. -mod migration_schema_v11; +mod migration_schema_v12; mod migration_schema_v6; mod migration_schema_v7; mod migration_schema_v8; @@ -133,14 +133,14 @@ pub fn migrate_schema( } // FIXME(sproul): stub for Sean's v10 migration (SchemaVersion(9), SchemaVersion(10)) => db.store_schema_version(to), - // Upgrade from v10 to v11 to store richer metadata in the attestation op pool. - (SchemaVersion(10), SchemaVersion(11)) => { - let ops = migration_schema_v11::upgrade_to_v11::(db.clone(), log)?; + // Upgrade from v11 to v12 to store richer metadata in the attestation op pool. + (SchemaVersion(10), SchemaVersion(12)) => { + let ops = migration_schema_v12::upgrade_to_v12::(db.clone(), log)?; db.store_schema_version_atomically(to, ops) } - // Downgrade from v11 to v9 to drop richer metadata from the attestation op pool. - (SchemaVersion(11), SchemaVersion(9)) => { - let ops = migration_schema_v11::downgrade_from_v11::(db.clone(), log)?; + // Downgrade from v12 to v9 to drop richer metadata from the attestation op pool. + (SchemaVersion(12), SchemaVersion(11)) => { + let ops = migration_schema_v12::downgrade_from_v12::(db.clone(), log)?; db.store_schema_version_atomically(to, ops) } // Anything else is an error. diff --git a/beacon_node/beacon_chain/src/schema_change/migration_schema_v11.rs b/beacon_node/beacon_chain/src/schema_change/migration_schema_v12.rs similarity index 69% rename from beacon_node/beacon_chain/src/schema_change/migration_schema_v11.rs rename to beacon_node/beacon_chain/src/schema_change/migration_schema_v12.rs index a71f697b73..c3cdec2f6e 100644 --- a/beacon_node/beacon_chain/src/schema_change/migration_schema_v11.rs +++ b/beacon_node/beacon_chain/src/schema_change/migration_schema_v12.rs @@ -1,14 +1,14 @@ use crate::beacon_chain::{BeaconChainTypes, OP_POOL_DB_KEY}; -use operation_pool::{PersistedOperationPool, PersistedOperationPoolV11, PersistedOperationPoolV5}; +use operation_pool::{PersistedOperationPool, PersistedOperationPoolV12, PersistedOperationPoolV5}; use slog::{debug, info, Logger}; use std::sync::Arc; use store::{Error, HotColdDB, KeyValueStoreOp, StoreItem}; -pub fn upgrade_to_v11( +pub fn upgrade_to_v12( db: Arc>, log: Logger, ) -> Result, Error> { - // Load a V5 op pool and transform it to V11. + // Load a V5 op pool and transform it to V12. let v5 = if let Some(op_pool) = db.get_item::>(&OP_POOL_DB_KEY)? { @@ -24,22 +24,22 @@ pub fn upgrade_to_v11( ); // FIXME(sproul): work out whether it's worth trying to carry across the attestations - let v11 = PersistedOperationPool::V11(PersistedOperationPoolV11 { + let v12 = PersistedOperationPool::V12(PersistedOperationPoolV12 { attestations: vec![], sync_contributions: v5.sync_contributions, attester_slashings: v5.attester_slashings, proposer_slashings: v5.proposer_slashings, voluntary_exits: v5.voluntary_exits, }); - Ok(vec![v11.as_kv_store_op(OP_POOL_DB_KEY)]) + Ok(vec![v12.as_kv_store_op(OP_POOL_DB_KEY)]) } -pub fn downgrade_from_v11( +pub fn downgrade_from_v12( db: Arc>, log: Logger, ) -> Result, Error> { - // Load a V11 op pool and transform it to V5. - let v11 = if let Some(PersistedOperationPool::V11(op_pool)) = + // Load a V12 op pool and transform it to V5. + let v12 = if let Some(PersistedOperationPool::V12(op_pool)) = db.get_item::>(&OP_POOL_DB_KEY)? { op_pool @@ -50,15 +50,15 @@ pub fn downgrade_from_v11( info!( log, "Dropping attestations from pool"; - "count" => v11.attestations.len(), + "count" => v12.attestations.len(), ); let v5 = PersistedOperationPoolV5 { attestations_v5: vec![], - sync_contributions: v11.sync_contributions, - attester_slashings: v11.attester_slashings, - proposer_slashings: v11.proposer_slashings, - voluntary_exits: v11.voluntary_exits, + sync_contributions: v12.sync_contributions, + attester_slashings: v12.attester_slashings, + proposer_slashings: v12.proposer_slashings, + voluntary_exits: v12.voluntary_exits, }; Ok(vec![v5.as_kv_store_op(OP_POOL_DB_KEY)]) } diff --git a/beacon_node/operation_pool/src/lib.rs b/beacon_node/operation_pool/src/lib.rs index 3d9303c214..821a77c004 100644 --- a/beacon_node/operation_pool/src/lib.rs +++ b/beacon_node/operation_pool/src/lib.rs @@ -12,7 +12,7 @@ pub use attestation::AttMaxCover; pub use attestation_storage::{AttestationRef, SplitAttestation}; pub use max_cover::MaxCover; pub use persistence::{ - PersistedOperationPool, PersistedOperationPoolV11, PersistedOperationPoolV5, + PersistedOperationPool, PersistedOperationPoolV12, PersistedOperationPoolV5, }; pub use reward_cache::RewardCache; diff --git a/beacon_node/operation_pool/src/persistence.rs b/beacon_node/operation_pool/src/persistence.rs index d8114ca5db..9d7d154e68 100644 --- a/beacon_node/operation_pool/src/persistence.rs +++ b/beacon_node/operation_pool/src/persistence.rs @@ -18,7 +18,7 @@ type PersistedSyncContributions = Vec<(SyncAggregateId, Vec { #[superstruct(only(V5))] pub attestations_v5: Vec<(AttestationId, Vec>)>, /// Attestations and their attesting indices. - #[superstruct(only(V11))] + #[superstruct(only(V12))] pub attestations: Vec<(Attestation, Vec)>, /// Mapping from sync contribution ID to sync contributions and aggregate. pub sync_contributions: PersistedSyncContributions, @@ -90,7 +90,7 @@ impl PersistedOperationPool { .map(|(_, exit)| exit.clone()) .collect(); - PersistedOperationPool::V11(PersistedOperationPoolV11 { + PersistedOperationPool::V12(PersistedOperationPoolV12 { attestations, sync_contributions, attester_slashings, @@ -119,7 +119,7 @@ impl PersistedOperationPool { let sync_contributions = RwLock::new(self.sync_contributions().iter().cloned().collect()); let attestations = match self { PersistedOperationPool::V5(_) => return Err(OpPoolError::IncorrectOpPoolVariant), - PersistedOperationPool::V11(pool) => { + PersistedOperationPool::V12(pool) => { let mut map = AttestationMap::default(); for (att, attesting_indices) in pool.attestations { map.insert(att, attesting_indices); @@ -154,7 +154,7 @@ impl StoreItem for PersistedOperationPoolV5 { } } -/// Deserialization for `PersistedOperationPool` defaults to `PersistedOperationPool::V11`. +/// Deserialization for `PersistedOperationPool` defaults to `PersistedOperationPool::V12`. impl StoreItem for PersistedOperationPool { fn db_column() -> DBColumn { DBColumn::OpPool @@ -166,8 +166,8 @@ impl StoreItem for PersistedOperationPool { fn from_store_bytes(bytes: &[u8]) -> Result { // Default deserialization to the latest variant. - PersistedOperationPoolV11::from_ssz_bytes(bytes) - .map(Self::V11) + PersistedOperationPoolV12::from_ssz_bytes(bytes) + .map(Self::V12) .map_err(Into::into) } }