Skip to content

Commit 2541f65

Browse files
committed
Fix removing payment from in-memory store
1 parent 0dd78ee commit 2541f65

File tree

1 file changed

+22
-27
lines changed

1 file changed

+22
-27
lines changed

src/payment/store.rs

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -641,25 +641,28 @@ where
641641
}
642642

643643
pub(crate) fn remove(&self, id: &PaymentId) -> Result<(), Error> {
644-
let store_key = hex_utils::to_string(&id.0);
645-
self.kv_store
646-
.remove(
647-
PAYMENT_INFO_PERSISTENCE_PRIMARY_NAMESPACE,
648-
PAYMENT_INFO_PERSISTENCE_SECONDARY_NAMESPACE,
649-
&store_key,
650-
false,
651-
)
652-
.map_err(|e| {
653-
log_error!(
654-
self.logger,
655-
"Removing payment data for key {}/{}/{} failed due to: {}",
644+
if self.payments.lock().unwrap().remove(id).is_some() {
645+
let store_key = hex_utils::to_string(&id.0);
646+
self.kv_store
647+
.remove(
656648
PAYMENT_INFO_PERSISTENCE_PRIMARY_NAMESPACE,
657649
PAYMENT_INFO_PERSISTENCE_SECONDARY_NAMESPACE,
658-
store_key,
659-
e
660-
);
661-
Error::PersistenceFailed
662-
})
650+
&store_key,
651+
false,
652+
)
653+
.map_err(|e| {
654+
log_error!(
655+
self.logger,
656+
"Removing payment data for key {}/{}/{} failed due to: {}",
657+
PAYMENT_INFO_PERSISTENCE_PRIMARY_NAMESPACE,
658+
PAYMENT_INFO_PERSISTENCE_SECONDARY_NAMESPACE,
659+
store_key,
660+
e
661+
);
662+
Error::PersistenceFailed
663+
})?;
664+
}
665+
Ok(())
663666
}
664667

665668
pub(crate) fn get(&self, id: &PaymentId) -> Option<PaymentDetails> {
@@ -682,14 +685,7 @@ where
682685
pub(crate) fn list_filter<F: FnMut(&&PaymentDetails) -> bool>(
683686
&self, f: F,
684687
) -> Vec<PaymentDetails> {
685-
self.payments
686-
.lock()
687-
.unwrap()
688-
.iter()
689-
.map(|(_, p)| p)
690-
.filter(f)
691-
.cloned()
692-
.collect::<Vec<PaymentDetails>>()
688+
self.payments.lock().unwrap().values().filter(f).cloned().collect()
693689
}
694690

695691
fn persist_info(&self, id: &PaymentId, payment: &PaymentDetails) -> Result<(), Error> {
@@ -712,8 +708,7 @@ where
712708
e
713709
);
714710
Error::PersistenceFailed
715-
})?;
716-
Ok(())
711+
})
717712
}
718713
}
719714

0 commit comments

Comments
 (0)