Commit Graph

7009 Commits

Author SHA1 Message Date
Alejandro García
581fbd1d2d
Merge pull request #6579 from stejbac/further-speed-up-transactions-view-load
Further speed up transactions view load
2023-02-12 14:05:36 +00:00
yonson2023
baad09bfc8
Fix unhandled exception when empty txId passed. 2023-02-11 08:55:08 -06:00
Steven Barclay
37b6a4becf
Cache formatters to speed up DisplayUtils.formatDateTime
Make 'FormattingUtils.formatDateTime(Date, boolean)' two or three times
faster by caching the 'java.text.DateFormat' objects used to format the
given date & time in either the local or UTC time zone. Since these
formatters are not thread safe (though they may be reused), use a
ThreadLocal to store them (as a tuple, along with the current locale to
make sure it hasn't changed since the last invocation).

This is a minor hotspot for the Transactions view load, since the date
strings in TransactionsListItem are formatted eagerly (via DisplayUtils)
for the purpose of filtering the items by substring match. (Other list
views seem to format dates lazily, though it's possible that there will
be speedups elsewhere in the UI.)
2023-02-11 15:47:04 +08:00
Alejandro García
b1e2cb03ad
Merge pull request #6568 from alvasw/gradle_apply_central_bisq_java_conventions
Gradle apply central bisq java conventions
2023-02-05 22:43:48 +00:00
Alejandro García
c61bd70ead
Merge pull request #6562 from alvasw/move_get_single_thread_executor_to_own_utils
Move SingleThreadExecutors to its own Utils class
2023-02-05 22:42:02 +00:00
Alva Swanson
53837bf00b
Move SingleThreadExecutors to its own Utils class 2023-02-05 22:11:35 +01:00
Alva Swanson
b2870ccee3
Delagate thread pool shutdown to Guava MoreExecutors 2023-02-05 22:09:56 +01:00
Alva Swanson
c1c4caf87f
Gradle: Apply bisq.java-conventions to all projects 2023-02-05 22:02:13 +01:00
Alejandro García
e6f2703738
Merge pull request #6557 from alvasw/export_json_files_service_shutdown_executor
ExportJsonFilesService: Shutdown Executor
2023-02-05 18:58:00 +00:00
Alva Swanson
7665780ca4
ExportJsonFilesService: Shutdown Executor 2023-02-05 13:36:09 +01:00
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