Skip to content

Commit ca9e084

Browse files
committed
Cleanup Snapshot Stores in aggregator
1 parent 85cefb7 commit ca9e084

File tree

9 files changed

+17
-213
lines changed

9 files changed

+17
-213
lines changed

mithril-aggregator/src/configuration.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ use mithril_common::CardanoNetwork;
1313
use crate::tools::GcpFileUploader;
1414
use crate::{LocalSnapshotUploader, RemoteSnapshotUploader, SnapshotUploader};
1515

16-
// TODO: 'LIST_SNAPSHOTS_MAX_ITEMS' keep as const or in config, or add a parameter to `list_snapshots`?
17-
pub const LIST_SNAPSHOTS_MAX_ITEMS: usize = 20;
18-
1916
/// Different kinds of execution environments
2017
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
2118
pub enum ExecutionEnvironment {

mithril-aggregator/src/dependency.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ use sqlite::Connection;
1616
use std::{collections::HashMap, sync::Arc};
1717
use tokio::sync::{Mutex, RwLock};
1818

19+
use crate::event_store::EventMessage;
1920
use crate::{
2021
artifact_builder::ArtifactBuilderService,
2122
certifier_service::CertifierService,
@@ -27,7 +28,6 @@ use crate::{
2728
SignerRegisterer, SignerRegistrationRoundOpener, Snapshotter, VerificationKeyStore,
2829
VerificationKeyStorer,
2930
};
30-
use crate::{event_store::EventMessage, snapshot_stores::SnapshotStore};
3131
use crate::{event_store::TransmitterService, multi_signer::MultiSigner};
3232
use crate::{
3333
snapshot_uploaders::SnapshotUploader, stake_distribution_service::StakeDistributionService,
@@ -50,9 +50,6 @@ pub struct DependencyManager {
5050
/// It shall be a private dependency.
5151
pub stake_store: Arc<StakePoolStore>,
5252

53-
/// Snapshot store.
54-
pub snapshot_store: Arc<dyn SnapshotStore>,
55-
5653
/// Snapshot uploader service.
5754
pub snapshot_uploader: Arc<dyn SnapshotUploader>,
5855

mithril-aggregator/src/dependency_injection/builder.rs

Lines changed: 4 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ use crate::{
4141
MithrilArtifactBuilderService, MithrilStakeDistributionArtifactBuilder,
4242
},
4343
certifier_service::{CertifierService, MithrilCertifierService},
44-
configuration::{ExecutionEnvironment, LIST_SNAPSHOTS_MAX_ITEMS},
44+
configuration::ExecutionEnvironment,
4545
database::provider::{
4646
CertificateRepository, CertificateStoreAdapter, EpochSettingStore, OpenMessageRepository,
4747
SignedEntityStoreAdapter, SignedEntityStorer, SignerRegistrationStoreAdapter, SignerStore,
@@ -55,10 +55,9 @@ use crate::{
5555
tools::{GcpFileUploader, GenesisToolsDependency},
5656
AggregatorConfig, AggregatorRunner, AggregatorRuntime, CertificatePendingStore,
5757
CertificateStore, Configuration, DependencyManager, DumbSnapshotUploader, DumbSnapshotter,
58-
GzipSnapshotter, LocalSnapshotStore, LocalSnapshotUploader, MithrilSignerRegisterer,
59-
MultiSigner, MultiSignerImpl, ProtocolParametersStore, ProtocolParametersStorer,
60-
RemoteSnapshotUploader, SnapshotStore, SnapshotUploader, SnapshotUploaderType, Snapshotter,
61-
VerificationKeyStore,
58+
GzipSnapshotter, LocalSnapshotUploader, MithrilSignerRegisterer, MultiSigner, MultiSignerImpl,
59+
ProtocolParametersStore, ProtocolParametersStorer, RemoteSnapshotUploader, SnapshotUploader,
60+
SnapshotUploaderType, Snapshotter, VerificationKeyStore,
6261
};
6362

6463
use super::{DependenciesBuilderError, Result};
@@ -87,9 +86,6 @@ pub struct DependenciesBuilder {
8786
/// It shall be a private dependency.
8887
pub stake_store: Option<Arc<StakePoolStore>>,
8988

90-
/// Snapshot store.
91-
pub snapshot_store: Option<Arc<dyn SnapshotStore>>,
92-
9389
/// Snapshot uploader service.
9490
pub snapshot_uploader: Option<Arc<dyn SnapshotUploader>>,
9591

@@ -191,7 +187,6 @@ impl DependenciesBuilder {
191187
configuration,
192188
sqlite_connection: None,
193189
stake_store: None,
194-
snapshot_store: None,
195190
snapshot_uploader: None,
196191
multi_signer: None,
197192
certificate_pending_store: None,
@@ -291,24 +286,6 @@ impl DependenciesBuilder {
291286
Ok(self.stake_store.as_ref().cloned().unwrap())
292287
}
293288

294-
async fn build_snapshot_store(&mut self) -> Result<Arc<dyn SnapshotStore>> {
295-
Ok(Arc::new(LocalSnapshotStore::new(
296-
Box::new(SignedEntityStoreAdapter::new(
297-
self.get_sqlite_connection().await?,
298-
)),
299-
LIST_SNAPSHOTS_MAX_ITEMS,
300-
)))
301-
}
302-
303-
/// Return a configured [SnapshotStore]
304-
pub async fn get_snapshot_store(&mut self) -> Result<Arc<dyn SnapshotStore>> {
305-
if self.snapshot_store.is_none() {
306-
self.snapshot_store = Some(self.build_snapshot_store().await?);
307-
}
308-
309-
Ok(self.snapshot_store.as_ref().cloned().unwrap())
310-
}
311-
312289
async fn build_snapshot_uploader(&mut self) -> Result<Arc<dyn SnapshotUploader>> {
313290
if self.configuration.environment == ExecutionEnvironment::Production {
314291
match self.configuration.snapshot_uploader_type {
@@ -960,7 +937,6 @@ impl DependenciesBuilder {
960937
config: self.configuration.clone(),
961938
sqlite_connection: self.get_sqlite_connection().await?,
962939
stake_store: self.get_stake_store().await?,
963-
snapshot_store: self.get_snapshot_store().await?,
964940
snapshot_uploader: self.get_snapshot_uploader().await?,
965941
multi_signer: self.get_multi_signer().await?,
966942
certificate_pending_store: self.get_certificate_pending_store().await?,

mithril-aggregator/src/lib.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ mod message_adapters;
2525
mod multi_signer;
2626
mod runtime;
2727
mod signer_registerer;
28-
mod snapshot_stores;
2928
mod snapshot_uploaders;
3029
mod snapshotter;
3130
pub mod stake_distribution_service;
@@ -38,7 +37,6 @@ pub use crate::configuration::{
3837
Configuration, DefaultConfiguration, ExecutionEnvironment, SnapshotUploaderType,
3938
};
4039
pub use crate::multi_signer::{MultiSigner, MultiSignerImpl, ProtocolError};
41-
pub use crate::snapshot_stores::{LocalSnapshotStore, SnapshotStore};
4240
pub use command_args::MainOpts;
4341
pub use dependency::DependencyManager;
4442
pub use message_adapters::{

mithril-aggregator/src/snapshot_stores/local_snapshot_store.rs

Lines changed: 0 additions & 126 deletions
This file was deleted.

mithril-aggregator/src/snapshot_stores/mod.rs

Lines changed: 0 additions & 9 deletions
This file was deleted.

mithril-aggregator/src/snapshot_stores/snapshot_store.rs

Lines changed: 0 additions & 36 deletions
This file was deleted.

mithril-aggregator/src/snapshot_uploaders/local_snapshot_uploader.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ mod tests {
7777
let digest = "41e27b9ed5a32531b95b2b7ff3c0757591a06a337efaf19a524a998e348028e7";
7878
let archive = create_fake_archive(source_dir.path(), digest);
7979
let expected_location = format!(
80-
"{}{}/snapshot/{}/download",
80+
"{}{}/artifact/snapshot/{}/download",
8181
url,
8282
http_server::SERVER_BASE_PATH,
8383
&digest

mithril-aggregator/tests/test_extensions/runtime_tester.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use mithril_aggregator::{
1818
use mithril_common::crypto_helper::{ProtocolClerk, ProtocolGenesisSigner};
1919
use mithril_common::digesters::DumbImmutableFileObserver;
2020
use mithril_common::entities::{
21-
Certificate, Epoch, ImmutableFileNumber, SignedEntityType, SignerWithStake, Snapshot,
21+
Beacon, Certificate, Epoch, ImmutableFileNumber, SignedEntityType, SignerWithStake, Snapshot,
2222
StakeDistribution,
2323
};
2424
use mithril_common::{chain_observer::FakeObserver, digesters::DumbImmutableDigester};
@@ -318,14 +318,21 @@ impl RuntimeTester {
318318
.get_list(1000) // Arbitrary high number to get all of them in store
319319
.await
320320
.map_err(|e| format!("Querying certificate store should not fail {e:?}"))?;
321-
let snapshots = self
321+
let signed_entity_records = self
322322
.deps_builder
323-
.get_snapshot_store()
323+
.get_signed_entity_storer()
324324
.await
325325
.unwrap()
326-
.list_snapshots()
326+
.get_last_signed_entities_by_type(
327+
&SignedEntityType::CardanoImmutableFilesFull(Beacon::default()),
328+
20,
329+
)
327330
.await
328331
.map_err(|e| format!("Querying snapshot store should not fail {e:?}"))?;
332+
let snapshots = signed_entity_records
333+
.into_iter()
334+
.map(|record| serde_json::from_str(&record.artifact).unwrap())
335+
.collect::<Vec<Snapshot>>();
329336

330337
Ok((certificates, snapshots))
331338
}

0 commit comments

Comments
 (0)