Skip to content

Commit ce0de1c

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

File tree

1 file changed

+21
-17
lines changed

1 file changed

+21
-17
lines changed

src/payment/store.rs

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -641,25 +641,29 @@ 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+
let removed = self.payments.lock().unwrap().remove(id).is_some();
645+
if removed {
646+
let store_key = hex_utils::to_string(&id.0);
647+
self.kv_store
648+
.remove(
656649
PAYMENT_INFO_PERSISTENCE_PRIMARY_NAMESPACE,
657650
PAYMENT_INFO_PERSISTENCE_SECONDARY_NAMESPACE,
658-
store_key,
659-
e
660-
);
661-
Error::PersistenceFailed
662-
})
651+
&store_key,
652+
false,
653+
)
654+
.map_err(|e| {
655+
log_error!(
656+
self.logger,
657+
"Removing payment data for key {}/{}/{} failed due to: {}",
658+
PAYMENT_INFO_PERSISTENCE_PRIMARY_NAMESPACE,
659+
PAYMENT_INFO_PERSISTENCE_SECONDARY_NAMESPACE,
660+
store_key,
661+
e
662+
);
663+
Error::PersistenceFailed
664+
})?;
665+
}
666+
Ok(())
663667
}
664668

665669
pub(crate) fn get(&self, id: &PaymentId) -> Option<PaymentDetails> {

0 commit comments

Comments
 (0)