Commit Graph

63 Commits

Author SHA1 Message Date
Alex Kremer
d4a9560c3f Implement subscription for book_changes (#315)
Fixes #315
2022-09-27 00:20:53 +01:00
Alex Kremer
0b454a2316 Implement book_changes RPC (#300)
* Port book_changes RPC call from rippled
* Refactor for readability and modern cpp
2022-09-09 18:08:11 +01:00
CJ Cobb
2ffd98f895 Fine tune cache download (#215)
* Fine tune cache download

* Allow operators to specify the max number of concurrent markers. The
  software generates possible markers from ledger diffs, as before, but
  only processes a specified number at one time, which caps database
  reads and distributes the load more evenly over the entire download.
* Allow operators to specify the page fetch size during the cache
  download, which is the number of ledger objects to fetch per marker at
  one time.

* Refactor full ledger dump in test.py
2022-07-26 15:00:27 -04:00
Nathan Nichols
1d5c482d9c Make Clio RPCs more consistent with rippled (#110)
* parse ledger_index as number

* allow websocket to use "command" or "method"

* mark all non-forwarded responses as validated

* dont mark forwarded errors as successful

* reduce forwarding Websocket expiration 30->3 seconds

* fix merge conflict in test.py

* adds ledger_current and ledger_closed

* deserialize `taker_gets_funded` into amount json

* limit account RPCs by number of objects traversed

* assign result correctly
2022-03-21 18:28:03 -05:00
CJ Cobb
945222840b change etl failover timeout to 10 seconds 2022-03-21 13:57:35 -07:00
CJ Cobb
f8437b9ba4 proper handling of deleted objects 2022-03-21 13:57:35 -07:00
CJ Cobb
a6afbd0945 only print response when using call argument with test.py 2022-03-07 15:42:40 -05:00
CJ Cobb
95a35caf49 don't publish stale data 2022-01-26 20:49:27 +00:00
CJ Cobb
c7e31aff56 Add state data cache and successor table. Remove keys table
* Adds a cache for the most recently validated ledger state
* Replaces the keys table with successor table
* Adds support for ledger diffs in the database
* Removes BackendIndexer
2021-12-20 14:40:23 -05:00
CJ Cobb
3d580784d1 add random and ping 2021-09-17 15:30:36 -04:00
CJ Cobb
553be19882 add date field to tx response 2021-09-07 10:25:11 -04:00
CJ Cobb
fcb6355c67 don't zero frozen funds when publishing txns 2021-09-01 16:48:16 -04:00
CJ Cobb
f625385f38 don't send transaction more than once on books stream 2021-08-31 16:00:15 -04:00
CJ Cobb
b591c71053 add delivered_amount and owner_funds to streams 2021-08-30 17:10:58 -04:00
CJ Cobb
ce9a2af33c refactor to make WsSession thread safe 2021-08-30 14:21:16 -04:00
CJ Cobb
2da0f53709 fix book_offers limit issue and fetchLedgerPage short circuit 2021-08-26 17:40:48 -04:00
CJ Cobb
a81ad20049 Order book refactor
* Add support for snapshot to books stream
* Add helper function for processing order book after db fetch
* Fix bug in isFrozen
2021-08-26 11:10:58 -04:00
CJ Cobb
f4b7a88d95 clean up subscriptions code
* change the way sessions are removed from SubscriptionManager
* make the locking more fine grained
* add a mutex to WsSession to protect concurrent access to the websocket
2021-08-24 17:48:04 -04:00
CJ Cobb
a268b4d0c9 publish modified books. Fix move nullptr from move bug 2021-08-23 17:29:49 -04:00
CJ Cobb
79ac95ae8e fix transaction on db restart bug 2021-08-19 10:28:14 -04:00
CJ Cobb
63a66b00a6 support forward flag for cassandra 2021-07-16 18:37:17 +00:00
CJ Cobb
68c96fdc60 fix account_tx iteration 2021-07-15 20:12:20 +00:00
CJ Cobb
649ecf4eda avoid wide rows with account_tx 2021-07-14 20:29:55 +00:00
CJ Cobb
9f8724b7ab write transaction hashes to separate table 2021-06-29 17:33:42 +00:00
CJ Cobb
2e00c0edcb handle validated as ledger_index 2021-06-23 16:52:45 +00:00
CJ Cobb
056e170a56 Cleanup, documentation, rename some things, cmake changes 2021-06-23 15:04:06 +00:00
CJ Cobb
8af7825d7f Refactor websocket code. Pass all args via config 2021-06-22 18:53:21 +00:00
CJ Cobb
c0449f6950 single port 2021-06-22 18:53:21 +00:00
CJ Cobb
5f6edee312 book offers seems to work 2021-06-04 05:53:38 +00:00
CJ Cobb
9edb743dcf no duplicates in keys table for postgres 2021-06-01 20:59:10 +00:00
CJ Cobb
96f896c117 checkpoint 2021-05-26 21:23:16 +00:00
CJ Cobb
20b8059151 fix up some issues with async indexer 2021-05-05 20:35:19 +00:00
CJ Cobb
f1ff81ddc5 postgres support for new books and keys tables 2021-04-29 14:51:03 +00:00
CJ Cobb
1f2d670e2b Merge branch 'perf_test_clean' into master_new 2021-04-28 20:33:15 +00:00
CJ Cobb
b734884f20 various improvements around testing 2021-04-28 20:27:52 +00:00
CJ Cobb
e747c61873 Merge branch 'ledger_data_indexer' into master_new 2021-04-28 20:12:28 +00:00
CJ Cobb
3be12dd4b4 time account_tx_full 2021-04-26 14:35:34 +00:00
CJ Cobb
1b7d672427 fix cursor issue with account_tx stored procedure 2021-04-20 17:20:35 +00:00
CJ Cobb
5f9e5d03f4 speed up indexer 2021-04-05 15:22:07 +00:00
CJ Cobb
db37c05b7b new book offers algorithm, seems to work 2021-03-31 19:22:53 +00:00
CJ Cobb
7f39378268 test script updates 2021-03-31 15:57:02 +00:00
CJ Cobb
d1f47b490a iterate through diffs. don't write anything 2021-03-30 11:13:51 -04:00
Ubuntu
2eca3cac96 enhance test.py 2021-03-26 19:41:52 +00:00
CJ Cobb
168283f0aa the best ledger_data implementation yet 2021-03-25 21:57:04 -04:00
Ubuntu
a77d13449d update test.py and metrics.py 2021-03-25 00:42:44 +00:00
CJ Cobb
2ef28ff9be enhance test.py and metrics.py 2021-03-22 11:16:10 -04:00
CJ Cobb
9281ffb6e6 add cursor to offers response. verify offers work 2021-03-12 17:30:50 -05:00
CJ Cobb
4609010967 Add database timeout exception. clear out incomplete cassandra data. add ledger_entry rpc 2021-03-12 16:37:27 -05:00
CJ Cobb
d2f0537f02 handle postgres timeouts 2021-03-11 16:44:43 -05:00
CJ Cobb
d62f7accfe fix race condition in Postgres backend. add cursor to account_tx response. test script verifies account_tx 2021-03-11 13:14:21 -05:00