Commit Graph

6999 Commits

Author SHA1 Message Date
Alva Swanson
5506443d54
ScryptUtil: Fix thread leak
Each time someone called the static method
ScryptUtil.deriveKeyWithScrypt(...) a new worker pool was created. The
worker pool was never shutdown.
2023-02-05 13:31:15 +01:00
Alva Swanson
4779c82d0b
Fix BurningManAccountingStore data races
Multiple threads read and write to the accounting blocks list causing
data races. Luckily, the LinkedList threw a ConcurrentModificationException
to limit damage. Now, a ReadWriteLock protects the LinkedList against
data races. Multiple threads can read the list at the same time but only
one thread can write to it. Other writing threads wait until it's their
turn.

Fixes #6545
2023-02-03 23:41:51 +01:00
Alejandro García
f24e0f231d
Merge pull request #6548 from alvasw/fix_dao_state_storage_service_shutdown_data_corruption_bug
DaoStateStorageService: Fix shutdown data corruption bug
2023-02-03 15:14:44 +00:00
Alejandro García
2239924225
Merge pull request #6552 from stejbac/speed-up-closed-trades-view-load
Speed up loading and scrolling of trade history
2023-02-03 15:13:58 +00:00
Alejandro García
27613de363
Merge pull request #6546 from jmacxx/offer_availability_dao_sync_check
Maker check DAO health when handling OfferAvailabilityRequest.
2023-02-03 15:10:57 +00:00
Steven Barclay
57b2b4b864
Add txs-by-id cache to WalletService to speed up trade history view
Add a third cache to WalletService, cleared upon wallet change events,
which maps txIds to txs. This allows the speedup of repeated calls to
'WalletService.getConfidenceForTxId', by avoiding the need to copy and
scan the entire set of wallet txs to find the one with matching id,
for each method invocation.

This is mainly to provide a further speedup to the closed-trades-view
load, by making it much faster to filter the list of BSQ swap trades by
tx confirmation status in 'ClosedTradesDataModel.applyList' and
'ClosedTradesManager.getNumPastTrades'.
2023-02-01 23:02:25 +08:00
Steven Barclay
42ea12f74c
Rename WalletService.getAddressToMatchingTxSetMultiset to multimap
The return value is a (cached) SetMultimap, not a multiset.
2023-02-01 20:48:32 +08:00
Steven Barclay
f02bc787d5
Optimize 'getNumPastTrades' to speed up trade history view
Reduce a bottleneck in the closed-trades-view load & table scrolling,
caused by a call to 'ClosedTradesManager.getNumPastTrades' for each
list item displayed. This repeatedly scans the entire collection of
closed trades and BSQ swap trades, in order to count all those which
share a given peer node address. (Scanning the BSQ swap trades is
particularly slow due to their filtering by tx confirmation status.)

To this end, cache the counts of trades by peer node address with a
nullable Multiset field in ClosedTradesManager & BsqSwapTradeManager,
so that the trades are scanned at most once when the view loads. Add
listeners to clear the respective cache when the trade list changes or
the BSQ wallet txs change.
2023-02-01 19:59:48 +08:00
Alva Swanson
d9372f3a4c
XmrTxProofRequest: Shutdown executor service in terminate() 2023-01-31 17:21:34 +02:00
Alva Swanson
1066e83a27
DaoStateStorageService: Fix shutdown data corruption bug
The DaoStateStorageService submits tasks to a daemon thread executor
service. The JVM continues to execute threads until all non-daemon
threads have terminated. So the JVM will kill the DaoStateStorageService
during write requests leading to data corruption.

This change uses a non-daemon thread executor service at waits during
shutdown until all data is written to disk.
2023-01-31 16:04:06 +02:00
jmacxx
d43a0e42cf
Maker check DAO health when handling OfferAvailabilityRequest. 2023-01-29 21:46:56 -06:00
Alejandro García
f43b5fe04b
Merge pull request #6544 from jmacxx/fix_withdrawal_fee_estimation
Fix withdrawal fee calculation & the min relay fee problem.
2023-01-28 19:25:06 +00:00
Alejandro García
71c05f6ac2
Merge pull request #6541 from alvasw/dao_state_storage_service_do_not_call_executor_service_shutdown_twice
DaoStateStorageService: Don't call executorService.shutdown() twice
2023-01-28 19:23:23 +00:00
jmacxx
efac12e8ce
Fix withdrawal fee calculation & the min relay fee problem. 2023-01-27 12:02:02 -06:00
Alva Swanson
eca9aedaa7
DaoStateStorageService: Don't call executorService.shutdown() twice
MoreExecutors.shutdownAndAwaitTermination(executorService, ...) calls
executorService.shutdown() before starting its force shutdown timer.
2023-01-27 16:28:44 +02:00
Alva Swanson
6a8fb05156
Centralize all ExecutorService creations in Utilities 2023-01-27 16:15:24 +02:00
Alejandro García
d682d956a1
Merge pull request #6539 from HenrikJannsen/improve_price_feed_service
Improve price feed service
2023-01-27 13:45:08 +00:00
HenrikJannsen
fa03f16917
Use auto-indexed thread name as prefix for thread name
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-26 12:27:30 +08:00
Alejandro García
74e1078318
Merge pull request #6527 from yonson2023/disk_space_warning
Warn user when free disk space is too low.
2023-01-24 16:17:11 +00:00
HenrikJannsen
2f36eadbca
Do not start new retry with new provider timer if one is still running.
Change log level as it is an expected case at repeated requests.

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-24 13:04:17 +08:00
yonson2023
f3a19b9d00
Apply code review suggestions. 2023-01-23 20:28:53 -06:00
Alejandro García
e9ea270908
Merge pull request #6528 from jmacxx/fix_issue_6517
Refactor closing ticket logic.
2023-01-23 14:52:43 +00:00
Alejandro García
29e0088032
Merge pull request #6533 from jmacxx/fee_reimbursement_message
Fee reimbursement message ref to bisq.wiki.
2023-01-22 21:15:27 +00:00
jmacxx
05273a7bdf
Fee reimbursement message ref to bisq.wiki. 2023-01-22 13:51:54 -06:00
Devin Bileck
18b65681f7
Remove clearnet address for BTC node "devinbtcyk"
I switched hosts and currently do not have an accessible clearnet address.
2023-01-20 15:24:53 -08:00
jmacxx
3dde7c6261
Refactor closing ticket logic to fix #6517. 2023-01-18 08:27:46 -06:00
yonson2023
fc2166e1a6
Warn when free disk space is too low. 2023-01-17 14:20:56 -06:00
Alejandro García
975210d228
Merge pull request #6515 from HenrikJannsen/distribute_evenly_restart_of_seed_nodes
Distribute evenly restart time
2023-01-12 16:34:47 +00:00
Alejandro García
d859f391bf
Merge pull request #6510 from HenrikJannsen/improve_connection_logs
Improvements in connection and increase timeout
2023-01-12 16:33:40 +00:00
Alejandro García
fda3c45008
Merge pull request #6501 from HenrikJannsen/always_include_high_prio_payload_in_get_data_response
Always include high prio payload in get data response
2023-01-12 16:33:08 +00:00
HenrikJannsen
116118a451
Distribute evenly restart time
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-10 11:55:27 -05:00
HenrikJannsen
7387b3ac2d
Increase timeout at RequestStateHashesHandler from 2 min. to 3 min
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-06 20:19:55 -05:00
HenrikJannsen
bc5045dd28
Force rebuild at CI
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-06 13:24:17 -05:00
HenrikJannsen
fa82990e6e
Handle DPT_MIN_REMAINDER_TO_LEGACY_BM with isHotfixActivated param
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-06 13:19:59 -05:00
HenrikJannsen
b872683b60
Use trade date for check if hotfix is activated at refund managers DPT verification
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-06 13:10:12 -05:00
HenrikJannsen
9dc79fdcd4
Add checks if hot fix is activated for 2 other changes made since 1.9.8
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-06 10:03:39 -05:00
Alejandro García
be1691ba0c
Merge pull request #6505 from HenrikJannsen/use_thread_for_processing_BM_AccountingBlocks
Run processAccountingBlocks async in forkjoinpool thread
2023-01-06 14:09:35 +00:00
Alejandro García
dda32c09ff
Merge pull request #6504 from HenrikJannsen/add_check_for_isInConflictWithSeedNode
Add check for dao state hash conflict with seed node
2023-01-06 14:09:01 +00:00
HenrikJannsen
7977c8670a
Cleanup
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-05 22:25:31 -05:00
HenrikJannsen
8b0f8fbead
Cleanup
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-05 22:18:10 -05:00
HenrikJannsen
41a63cc8a5
Add handling of miner fee in case there is only the legacy BM
Use spendableAmount instead of inputAmount at maxOutputAmount

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-05 22:04:23 -05:00
HenrikJannsen
bb06f64049
Add complete call
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-05 22:04:23 -05:00
HenrikJannsen
bc91914cb0
Change log level
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-05 14:48:51 -05:00
HenrikJannsen
093e8f99f4
Remove unused methods
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-05 11:41:11 -05:00
HenrikJannsen
13180ddc30
Improve DaoPresentation and add handler for daoStateHash updates
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-05 11:21:01 -05:00
HenrikJannsen
1e2f48b9bc
Rename isDaoStateIsInSync to isDaoStateReadyAndInSync
Add daoStateService.isParseBlockChainComplete() check

Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-05 10:42:59 -05:00
HenrikJannsen
b33c610015
Add CheckIfDaoStateIsInSync task in trade protocol as first task
Add ifDaoStateIsInSync method to DaoFacade
Add ifDaoStateIsInSync to logs if DPT verification fails
2023-01-05 10:39:24 -05:00
HenrikJannsen
be33aa5236
Add chain heights to logs
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-05 10:22:50 -05:00
HenrikJannsen
f4d335b624
Improve logs
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-05 10:18:42 -05:00
HenrikJannsen
02093b986b
Improve log
Signed-off-by: HenrikJannsen <boilingfrog@gmx.com>
2023-01-05 10:06:49 -05:00