Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix issues with missing persistence for trade state #4816

Merged
Expand Up @@ -84,13 +84,13 @@ public void onAllServicesInitialized() {

public void add(Tradable tradable) {
if (closedTradables.add(tradable)) {
persistenceManager.requestPersistence();
requestPersistence();
}
}

public void remove(Tradable tradable) {
if (closedTradables.remove(tradable)) {
persistenceManager.requestPersistence();
requestPersistence();
}
}

Expand All @@ -117,4 +117,8 @@ public Stream<Trade> getTradesStreamWithFundsLockedIn() {
return getClosedTrades().stream()
.filter(Trade::isFundsLockedIn);
}

private void requestPersistence() {
persistenceManager.requestPersistence();
}
}
Expand Up @@ -95,13 +95,13 @@ public void onAllServicesInitialized() {

public void add(Trade trade) {
if (failedTrades.add(trade)) {
persistenceManager.requestPersistence();
requestPersistence();
}
}

public void removeTrade(Trade trade) {
if (failedTrades.remove(trade)) {
persistenceManager.requestPersistence();
requestPersistence();
}
}

Expand Down Expand Up @@ -129,7 +129,7 @@ public void unFailTrade(Trade trade) {
if (unFailTradeCallback.apply(trade)) {
log.info("Unfailing trade {}", trade.getId());
if (failedTrades.remove(trade)) {
persistenceManager.requestPersistence();
requestPersistence();
}
}
}
Expand All @@ -151,4 +151,8 @@ public String checkUnFail(Trade trade) {
}
return blockingTrades.toString();
}

private void requestPersistence() {
persistenceManager.requestPersistence();
}
}
8 changes: 6 additions & 2 deletions p2p/src/main/java/bisq/network/p2p/P2PService.java
Expand Up @@ -536,7 +536,7 @@ private void processMailboxItem(MailboxItem mailboxItem) {
mailboxItemsByUid.putIfAbsent(uid, new ArrayList<>());
mailboxItemsByUid.get(uid).add(mailboxItem);
mailboxMessageList.add(mailboxItem);
persistenceManager.requestPersistence();
requestPersistence();

NodeAddress sender = mailboxMessage.getSenderNodeAddress();
log.info("Received a {} mailbox message with uid {} and senderAddress {}",
Expand Down Expand Up @@ -818,7 +818,7 @@ public void removeMailboxMsg(DecryptedMessageWithPubKey decryptedMessageWithPubK
mailboxMessageList.remove(mailboxItem);
});
mailboxItemsByUid.remove(uid);
persistenceManager.requestPersistence();
requestPersistence();
}
});
} else {
Expand All @@ -827,6 +827,10 @@ public void removeMailboxMsg(DecryptedMessageWithPubKey decryptedMessageWithPubK
}
}

private void requestPersistence() {
persistenceManager.requestPersistence();
}


///////////////////////////////////////////////////////////////////////////////////////////
// Data storage
Expand Down