@@ -28,7 +28,7 @@ use crate::remotefs::gcs::GCSRemoteFs;
28
28
use crate :: remotefs:: minio:: MINIORemoteFs ;
29
29
use crate :: remotefs:: queue:: QueueRemoteFs ;
30
30
use crate :: remotefs:: s3:: S3RemoteFs ;
31
- use crate :: remotefs:: { LocalDirRemoteFs , RemoteFs } ;
31
+ use crate :: remotefs:: { ExtendedRemoteFs , LocalDirRemoteFs , RemoteFs } ;
32
32
use crate :: scheduler:: SchedulerImpl ;
33
33
use crate :: sql:: cache:: SqlResultCache ;
34
34
use crate :: sql:: { SqlService , SqlServiceImpl } ;
@@ -518,6 +518,8 @@ pub trait ConfigObj: DIService {
518
518
519
519
fn dump_dir ( & self ) -> & Option < PathBuf > ;
520
520
521
+ fn snapshots_deletion_batch_size ( & self ) -> u64 ;
522
+
521
523
fn minimum_metastore_snapshots_count ( & self ) -> u64 ;
522
524
523
525
fn metastore_snapshots_lifetime ( & self ) -> u64 ;
@@ -630,6 +632,7 @@ pub struct ConfigObjImpl {
630
632
pub drop_ws_processing_messages_after_secs : u64 ,
631
633
pub drop_ws_complete_messages_after_secs : u64 ,
632
634
pub skip_kafka_parsing_errors : bool ,
635
+ pub snapshots_deletion_batch_size : u64 ,
633
636
pub minimum_metastore_snapshots_count : u64 ,
634
637
pub metastore_snapshots_lifetime : u64 ,
635
638
pub minimum_cachestore_snapshots_count : u64 ,
@@ -953,6 +956,10 @@ impl ConfigObj for ConfigObjImpl {
953
956
& self . dump_dir
954
957
}
955
958
959
+ fn snapshots_deletion_batch_size ( & self ) -> u64 {
960
+ self . snapshots_deletion_batch_size
961
+ }
962
+
956
963
fn minimum_metastore_snapshots_count ( & self ) -> u64 {
957
964
self . minimum_metastore_snapshots_count
958
965
}
@@ -1486,6 +1493,11 @@ impl Config {
1486
1493
10 * 60 ,
1487
1494
) ,
1488
1495
skip_kafka_parsing_errors : env_parse ( "CUBESTORE_SKIP_KAFKA_PARSING_ERRORS" , false ) ,
1496
+ // Presently, not useful to make more than upload_concurrency times constant
1497
+ snapshots_deletion_batch_size : env_parse (
1498
+ "CUBESTORE_SNAPSHOTS_DELETION_BATCH_SIZE" ,
1499
+ 80 ,
1500
+ ) ,
1489
1501
minimum_metastore_snapshots_count : env_parse (
1490
1502
"CUBESTORE_MINIMUM_METASTORE_SNAPSHOTS_COUNT" ,
1491
1503
5 ,
@@ -1652,6 +1664,7 @@ impl Config {
1652
1664
drop_ws_processing_messages_after_secs : 60 ,
1653
1665
drop_ws_complete_messages_after_secs : 10 ,
1654
1666
skip_kafka_parsing_errors : false ,
1667
+ snapshots_deletion_batch_size : 80 ,
1655
1668
minimum_metastore_snapshots_count : 3 ,
1656
1669
metastore_snapshots_lifetime : 24 * 3600 ,
1657
1670
minimum_cachestore_snapshots_count : 3 ,
@@ -1894,7 +1907,8 @@ impl Config {
1894
1907
self . injector
1895
1908
. register ( "cachestore_fs" , async move |i| {
1896
1909
// TODO metastore works with non queue remote fs as it requires loops to be started prior to load_from_remote call
1897
- let original_remote_fs = i. get_service ( "original_remote_fs" ) . await ;
1910
+ let original_remote_fs: Arc < dyn ExtendedRemoteFs > =
1911
+ i. get_service ( "original_remote_fs" ) . await ;
1898
1912
let arc: Arc < dyn DIService > = BaseRocksStoreFs :: new_for_cachestore (
1899
1913
original_remote_fs,
1900
1914
i. get_service_typed ( ) . await ,
@@ -1969,7 +1983,8 @@ impl Config {
1969
1983
self . injector
1970
1984
. register ( "metastore_fs" , async move |i| {
1971
1985
// TODO metastore works with non queue remote fs as it requires loops to be started prior to load_from_remote call
1972
- let original_remote_fs = i. get_service ( "original_remote_fs" ) . await ;
1986
+ let original_remote_fs: Arc < dyn ExtendedRemoteFs > =
1987
+ i. get_service ( "original_remote_fs" ) . await ;
1973
1988
let arc: Arc < dyn DIService > = BaseRocksStoreFs :: new_for_metastore (
1974
1989
original_remote_fs,
1975
1990
i. get_service_typed ( ) . await ,
0 commit comments