@@ -207,7 +207,13 @@ impl Ingester {
207
207
. unwrap_or ( Position :: Eof ) ;
208
208
let solo_shard =
209
209
IngesterShard :: new_solo ( ShardState :: Closed , Position :: Eof , truncation_position) ;
210
- state_guard. shards . insert ( queue_id, solo_shard) ;
210
+ state_guard. shards . insert ( queue_id. clone ( ) , solo_shard) ;
211
+
212
+ let rate_limiter = RateLimiter :: from_settings ( self . rate_limiter_settings ) ;
213
+ let rate_meter = RateMeter :: default ( ) ;
214
+ state_guard
215
+ . rate_trackers
216
+ . insert ( queue_id, ( rate_limiter, rate_meter) ) ;
211
217
}
212
218
Ok ( ( ) )
213
219
}
@@ -1009,6 +1015,8 @@ mod tests {
1009
1015
solo_shard_01. assert_replication_position ( Position :: Eof ) ;
1010
1016
solo_shard_01. assert_truncation_position ( Position :: Eof ) ;
1011
1017
1018
+ assert ! ( state_guard. rate_trackers. contains_key( & queue_id_01) ) ;
1019
+
1012
1020
state_guard
1013
1021
. mrecordlog
1014
1022
. assert_records_eq ( & queue_id_01, .., & [ ( 1 , "\0 \x02 " ) ] ) ;
@@ -1019,6 +1027,8 @@ mod tests {
1019
1027
solo_shard_02. assert_replication_position ( Position :: Eof ) ;
1020
1028
solo_shard_02. assert_truncation_position ( 0u64 ) ;
1021
1029
1030
+ assert ! ( state_guard. rate_trackers. contains_key( & queue_id_02) ) ;
1031
+
1022
1032
state_guard. mrecordlog . assert_records_eq (
1023
1033
& queue_id_02,
1024
1034
..,
@@ -1031,6 +1041,8 @@ mod tests {
1031
1041
solo_shard_03. assert_replication_position ( Position :: Eof ) ;
1032
1042
solo_shard_03. assert_truncation_position ( Position :: Eof ) ;
1033
1043
1044
+ assert ! ( state_guard. rate_trackers. contains_key( & queue_id_02) ) ;
1045
+
1034
1046
state_guard
1035
1047
. mrecordlog
1036
1048
. assert_records_eq ( & queue_id_03, .., & [ ( 0 , "\0 \x02 " ) ] ) ;
0 commit comments