@@ -10,6 +10,7 @@ use lightning::ln::msgs::{
1010} ;
1111use lightning:: routing:: gossip:: NetworkGraph ;
1212use lightning:: util:: logger:: Logger ;
13+ use lightning:: { log_warn, log_trace, log_given_level} ;
1314use lightning:: util:: ser:: { BigSize , Readable } ;
1415use lightning:: io;
1516
@@ -120,6 +121,7 @@ impl<NG: Deref<Target=NetworkGraph<L>>, L: Deref> RapidGossipSync<NG, L> where L
120121 if let ErrorAction :: IgnoreDuplicateGossip = lightning_error. action {
121122 // everything is fine, just a duplicate channel announcement
122123 } else {
124+ log_warn ! ( self . logger, "Failed to process channel announcement: {:?}" , lightning_error) ;
123125 return Err ( lightning_error. into ( ) ) ;
124126 }
125127 }
@@ -179,6 +181,9 @@ impl<NG: Deref<Target=NetworkGraph<L>>, L: Deref> RapidGossipSync<NG, L> where L
179181 synthetic_update. fee_base_msat = directional_info. fees . base_msat ;
180182 synthetic_update. fee_proportional_millionths = directional_info. fees . proportional_millionths ;
181183 } else {
184+ log_trace ! ( self . logger,
185+ "Skipping application of channel update for chan {} with flags {} as original data is missing." ,
186+ short_channel_id, channel_flags) ;
182187 skip_update_for_unknown_channel = true ;
183188 }
184189 } ;
@@ -215,7 +220,9 @@ impl<NG: Deref<Target=NetworkGraph<L>>, L: Deref> RapidGossipSync<NG, L> where L
215220 match network_graph. update_channel_unsigned ( & synthetic_update) {
216221 Ok ( _) => { } ,
217222 Err ( LightningError { action : ErrorAction :: IgnoreDuplicateGossip , .. } ) => { } ,
218- Err ( LightningError { action : ErrorAction :: IgnoreAndLog ( _) , .. } ) => { } ,
223+ Err ( LightningError { action : ErrorAction :: IgnoreAndLog ( level) , err } ) => {
224+ log_given_level ! ( self . logger, level, "Failed to apply channel update: {:?}" , err) ;
225+ } ,
219226 Err ( LightningError { action : ErrorAction :: IgnoreError , .. } ) => { } ,
220227 Err ( e) => return Err ( e. into ( ) ) ,
221228 }
@@ -279,7 +286,7 @@ mod tests {
279286 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 58 , 85 , 116 , 216 , 255 , 2 , 68 , 226 , 0 , 6 , 11 , 0 , 1 , 24 , 0 ,
280287 0 , 3 , 232 , 0 , 0 , 0 ,
281288 ] ;
282- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
289+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
283290 let update_result = rapid_sync. update_network_graph ( & example_input[ ..] ) ;
284291 assert ! ( update_result. is_err( ) ) ;
285292 if let Err ( GraphSyncError :: DecodeError ( DecodeError :: ShortRead ) ) = update_result {
@@ -304,7 +311,7 @@ mod tests {
304311
305312 assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
306313
307- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
314+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
308315 let update_result = rapid_sync. update_network_graph ( & incremental_update_input[ ..] ) ;
309316 assert ! ( update_result. is_ok( ) ) ;
310317 }
@@ -332,7 +339,7 @@ mod tests {
332339
333340 assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
334341
335- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
342+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
336343 rapid_sync. update_network_graph ( & announced_update_input[ ..] ) . unwrap ( ) ;
337344 }
338345
@@ -359,7 +366,7 @@ mod tests {
359366
360367 assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
361368
362- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
369+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
363370 let initialization_result = rapid_sync. update_network_graph ( & initialization_input[ ..] ) ;
364371 if initialization_result. is_err ( ) {
365372 panic ! (
@@ -416,7 +423,7 @@ mod tests {
416423
417424 assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
418425
419- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
426+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
420427 let initialization_result = rapid_sync. update_network_graph ( & initialization_input[ ..] ) ;
421428 assert ! ( initialization_result. is_ok( ) ) ;
422429
@@ -475,7 +482,7 @@ mod tests {
475482
476483 assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
477484
478- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
485+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
479486 let initialization_result = rapid_sync. update_network_graph ( & initialization_input[ ..] ) ;
480487 assert ! ( initialization_result. is_ok( ) ) ;
481488
@@ -500,7 +507,7 @@ mod tests {
500507
501508 assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
502509
503- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
510+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
504511 let update_result = rapid_sync. update_network_graph ( & VALID_RGS_BINARY ) ;
505512 if update_result. is_err ( ) {
506513 panic ! ( "Unexpected update result: {:?}" , update_result)
@@ -531,7 +538,7 @@ mod tests {
531538
532539 assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
533540
534- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
541+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
535542 // this is mostly for checking uint underflow issues before the fuzzer does
536543 let update_result = rapid_sync. update_network_graph_no_std ( & VALID_RGS_BINARY , Some ( 0 ) ) ;
537544 assert ! ( update_result. is_ok( ) ) ;
@@ -550,7 +557,7 @@ mod tests {
550557 let network_graph = NetworkGraph :: new ( Network :: Bitcoin , & logger) ;
551558 assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
552559
553- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
560+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
554561 let update_result = rapid_sync. update_network_graph_no_std ( & VALID_RGS_BINARY , Some ( latest_succeeding_time) ) ;
555562 assert ! ( update_result. is_ok( ) ) ;
556563 assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 2 ) ;
@@ -560,7 +567,7 @@ mod tests {
560567 let network_graph = NetworkGraph :: new ( Network :: Bitcoin , & logger) ;
561568 assert_eq ! ( network_graph. read_only( ) . channels( ) . len( ) , 0 ) ;
562569
563- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
570+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
564571 let update_result = rapid_sync. update_network_graph_no_std ( & VALID_RGS_BINARY , Some ( earliest_failing_time) ) ;
565572 assert ! ( update_result. is_err( ) ) ;
566573 if let Err ( GraphSyncError :: LightningError ( lightning_error) ) = update_result {
@@ -596,7 +603,7 @@ mod tests {
596603
597604 let logger = TestLogger :: new ( ) ;
598605 let network_graph = NetworkGraph :: new ( Network :: Bitcoin , & logger) ;
599- let rapid_sync = RapidGossipSync :: new ( & network_graph) ;
606+ let rapid_sync = RapidGossipSync :: new ( & network_graph, & logger ) ;
600607 let update_result = rapid_sync. update_network_graph ( & unknown_version_input[ ..] ) ;
601608
602609 assert ! ( update_result. is_err( ) ) ;
0 commit comments