diff --git a/dot/parachain/availability-store/availability_store.go b/dot/parachain/availability-store/availability_store.go index 75c2709f3e..6cf1cd3627 100644 --- a/dot/parachain/availability-store/availability_store.go +++ b/dot/parachain/availability-store/availability_store.go @@ -9,6 +9,7 @@ import ( "encoding/binary" "errors" "fmt" + "sync" "time" parachaintypes "github.com/ChainSafe/gossamer/dot/parachain/types" @@ -58,7 +59,7 @@ func (sc *subsystemClock) Now() timestamp { // pruningConfig Struct holding pruning timing configuration. // The only purpose of this structure is to use different timing // configurations in production and in testing. -type PruningConfig struct { +type pruningConfig struct { keepUnavailableFor time.Duration keepFinalizedFor time.Duration pruningInterval time.Duration @@ -715,3 +716,8 @@ func (av *AvailabilityStoreSubsystem) handleStoreAvailableData(msg StoreAvailabl } return nil } + +func (av *AvailabilityStoreSubsystem) Stop() { + av.cancel() + av.wg.Wait() +} diff --git a/dot/parachain/availability-store/register.go b/dot/parachain/availability-store/register.go index 932945b405..b77e81df4b 100644 --- a/dot/parachain/availability-store/register.go +++ b/dot/parachain/availability-store/register.go @@ -9,6 +9,7 @@ func Register(overseerChan chan<- any, st *state.Service) (*AvailabilityStoreSub availabilityStore := NewAvailabilityStore(st.DB()) availabilityStoreSubsystem := AvailabilityStoreSubsystem{ + pruningConfig: defaultPruningConfig, SubSystemToOverseer: overseerChan, availabilityStore: *availabilityStore, }