Centralize durable schema migration ownership
This commit is contained in:
parent
cc328237f4
commit
069f3813ae
3 changed files with 354 additions and 350 deletions
|
|
@ -2,19 +2,17 @@ use std::collections::HashSet;
|
|||
use std::sync::{Arc, Mutex};
|
||||
use std::time::Duration;
|
||||
|
||||
use remora_admission::{
|
||||
AdmissionConfig, AdmissionDecision, AdmissionService, migrate as admission_migrate,
|
||||
};
|
||||
use remora_admission::{AdmissionConfig, AdmissionDecision, AdmissionService};
|
||||
use remora_attempt::{
|
||||
ActivationOutcome, AttemptConfig, AttemptFaultInjector, AttemptFaultPoint, AttemptService,
|
||||
AttemptState, ClaimOutcome, RecoveryOutcome, RenewalOutcome, migrate as attempt_migrate,
|
||||
AttemptState, ClaimOutcome, RecoveryOutcome, RenewalOutcome,
|
||||
};
|
||||
use remora_contracts::{HttpSourceSubmissionDto, JobSubmissionDto, SourceSubmissionDto};
|
||||
use remora_coordination::{ActivateOptions, CoordinationStore, LeaseOwner, StoreConfig};
|
||||
use remora_credentials::migrate as credentials_migrate;
|
||||
use remora_domain::{BucketName, OpaqueId, StorageScope, TargetPrefix, TargetStoreId};
|
||||
use remora_durable::{MutationDisposition, PoolConfig, connect, migrate as durable_migrate};
|
||||
use remora_durable::{MutationDisposition, PoolConfig, connect};
|
||||
use remora_identity::{DefaultTarget, Principal};
|
||||
use remora_schema::migrate as migrate_schema;
|
||||
use sqlx::PgPool;
|
||||
use sqlx::postgres::PgPoolOptions;
|
||||
use tokio::time::sleep;
|
||||
|
|
@ -38,12 +36,7 @@ impl Harness {
|
|||
)
|
||||
.await
|
||||
.expect("connect postgres");
|
||||
durable_migrate(&pool).await.expect("durable migrate");
|
||||
credentials_migrate(&pool)
|
||||
.await
|
||||
.expect("credentials migrate");
|
||||
admission_migrate(&pool).await.expect("admission migrate");
|
||||
attempt_migrate(&pool).await.expect("attempt migrate");
|
||||
migrate_schema(&pool).await.expect("schema migrate");
|
||||
let namespace = format!("{}wp15:{name}:{}:", coordination_namespace(), nonce());
|
||||
let coordination = CoordinationStore::connect(
|
||||
&coordination_url,
|
||||
|
|
|
|||
|
|
@ -1,23 +1,21 @@
|
|||
use std::time::Duration;
|
||||
|
||||
use remora_admission::{
|
||||
AdmissionConfig, AdmissionDecision, AdmissionService, migrate as admission_migrate,
|
||||
};
|
||||
use remora_admission::{AdmissionConfig, AdmissionDecision, AdmissionService};
|
||||
use remora_attempt::{
|
||||
ActivationOutcome, AttemptConfig, AttemptMutationOutcome, AttemptService, AttemptState,
|
||||
CheckpointProjection, CheckpointRecord, CommittedResultRecord, DurableDescriptor,
|
||||
FailureRecord, MutationRejection, ProgressRecord, migrate as attempt_migrate,
|
||||
FailureRecord, MutationRejection, ProgressRecord,
|
||||
};
|
||||
use remora_contracts::{HttpSourceSubmissionDto, JobSubmissionDto, SourceSubmissionDto};
|
||||
use remora_coordination::{CoordinationStore, StoreConfig};
|
||||
use remora_credentials::migrate as credentials_migrate;
|
||||
use remora_domain::{
|
||||
BucketName, FailureDisposition, JobPhase, OpaqueId, RuntimeFailureClass, StorageScope,
|
||||
TargetPrefix, TargetStoreId,
|
||||
};
|
||||
use remora_durable::{MutationDisposition, PoolConfig, connect, migrate as durable_migrate};
|
||||
use remora_durable::{MutationDisposition, PoolConfig, connect};
|
||||
use remora_identity::{DefaultTarget, Principal};
|
||||
use remora_result::{PublicationInput, migrate as result_migrate};
|
||||
use remora_result::PublicationInput;
|
||||
use remora_schema::migrate as migrate_schema;
|
||||
use remora_target::{ContentSha256, ObjectIdentity, StoredObject, attempt_manifest_key_in};
|
||||
use sqlx::PgPool;
|
||||
|
||||
|
|
@ -40,13 +38,7 @@ impl Harness {
|
|||
)
|
||||
.await
|
||||
.expect("connect postgres");
|
||||
durable_migrate(&pool).await.expect("durable migrate");
|
||||
credentials_migrate(&pool)
|
||||
.await
|
||||
.expect("credentials migrate");
|
||||
admission_migrate(&pool).await.expect("admission migrate");
|
||||
attempt_migrate(&pool).await.expect("attempt migrate");
|
||||
result_migrate(&pool).await.expect("result migrate");
|
||||
migrate_schema(&pool).await.expect("schema migrate");
|
||||
let coordination = CoordinationStore::connect(
|
||||
&coordination_url,
|
||||
format!("{}wp16:{name}:{}:", coordination_namespace(), nonce()),
|
||||
|
|
|
|||
|
|
@ -2,23 +2,21 @@ use std::net::SocketAddr;
|
|||
use std::sync::{Arc, Barrier, Mutex};
|
||||
use std::time::{Duration, SystemTime, UNIX_EPOCH};
|
||||
|
||||
use remora_admission::{
|
||||
AdmissionConfig, AdmissionDecision, AdmissionService, migrate as admission_migrate,
|
||||
};
|
||||
use remora_admission::{AdmissionConfig, AdmissionDecision, AdmissionService};
|
||||
use remora_attempt::{
|
||||
ActivationOutcome, AttemptConfig, AttemptService, CancelOutcome, CleanupCompletion,
|
||||
CleanupIdentity, CooperativeStopOutcome, RecoveryConfig, StagingMultipart, StagingObject,
|
||||
StagingWriteIntent, migrate as attempt_migrate,
|
||||
StagingWriteIntent,
|
||||
};
|
||||
use remora_contracts::{HttpSourceSubmissionDto, JobSubmissionDto, SourceSubmissionDto};
|
||||
use remora_coordination::{CoordinationStore, StoreConfig};
|
||||
use remora_credentials::migrate as credentials_migrate;
|
||||
use remora_domain::{
|
||||
BucketName, OpaqueId, RuntimeFailureClass, StorageScope, TargetPrefix, TargetStoreId,
|
||||
};
|
||||
use remora_durable::{PoolConfig, connect, migrate as durable_migrate};
|
||||
use remora_durable::{PoolConfig, connect};
|
||||
use remora_identity::{DefaultTarget, Principal};
|
||||
use remora_result::{PublicationInput, migrate as result_migrate};
|
||||
use remora_result::PublicationInput;
|
||||
use remora_schema::migrate as migrate_schema;
|
||||
use remora_target::{
|
||||
CreateObjectRequest, MultipartIdentity, ObjectIdentity, StoredObject, TargetStore,
|
||||
TargetStoreConfig, attempt_manifest_key_in, attempt_object_key_in,
|
||||
|
|
@ -127,13 +125,7 @@ impl Harness {
|
|||
)
|
||||
.await
|
||||
.expect("connect postgres");
|
||||
durable_migrate(&pool).await.expect("durable migrate");
|
||||
credentials_migrate(&pool)
|
||||
.await
|
||||
.expect("credentials migrate");
|
||||
admission_migrate(&pool).await.expect("admission migrate");
|
||||
attempt_migrate(&pool).await.expect("attempt migrate");
|
||||
result_migrate(&pool).await.expect("result migrate");
|
||||
migrate_schema(&pool).await.expect("schema migrate");
|
||||
sqlx::query("TRUNCATE TABLE jobs CASCADE")
|
||||
.execute(&pool)
|
||||
.await
|
||||
|
|
|
|||
Loading…
Reference in a new issue