File tree Expand file tree Collapse file tree 1 file changed +13
-4
lines changed
server/svix-server/src/queue Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -234,10 +234,12 @@ async fn new_pair_inner(
234
234
}
235
235
}
236
236
237
- fn task_from_redis_key ( key : & str ) -> Arc < QueueTask > {
237
+ fn task_from_redis_key ( key : & str ) -> serde_json :: Result < Arc < QueueTask > > {
238
238
// Get the first delimiter -> it has to have the |
239
- let pos = key. find ( '|' ) . unwrap ( ) ;
240
- serde_json:: from_str ( & key[ pos + 1 ..] ) . unwrap ( )
239
+ let pos = key
240
+ . find ( '|' )
241
+ . ok_or_else ( || serde:: de:: Error :: custom ( "key must contain '|'" ) ) ?;
242
+ serde_json:: from_str ( & key[ pos + 1 ..] )
241
243
}
242
244
243
245
async fn migrate_v2_to_v3_queues ( conn : & mut PooledConnection < ' _ > ) -> Result < ( ) > {
@@ -268,7 +270,14 @@ async fn migrate_list_to_stream(
268
270
269
271
let mut pipe = redis:: pipe ( ) ;
270
272
for key in legacy_keys {
271
- let task = task_from_redis_key ( & key) ;
273
+ let task = match task_from_redis_key ( & key) {
274
+ Ok ( t) => t,
275
+ #[ allow( trivial_casts) ]
276
+ Err ( e) => {
277
+ tracing:: error!( error = & e as & dyn std:: error:: Error , "Invalid legacy key" ) ;
278
+ continue ;
279
+ }
280
+ } ;
272
281
let _ = pipe. xadd (
273
282
queue,
274
283
GENERATE_STREAM_ID ,
You can’t perform that action at this time.
0 commit comments