Commit Graph

883 Commits

Author SHA1 Message Date
CJ Cobb
39459ef6da refactor publish logic 2022-03-21 13:57:35 -07:00
CJ Cobb
cdc882d33e refactor logic for timeout on update 2022-03-21 13:57:35 -07:00
CJ Cobb
2d5eb04dd1 clean up sync interval logic in CassandraBackend 2022-03-21 13:57:35 -07:00
CJ Cobb
d3681df253 publish ledgers closed in the last ten minutes 2022-03-21 13:57:35 -07:00
CJ Cobb
b1add848f4 add etl info to server_info response 2022-03-21 13:57:35 -07:00
CJ Cobb
bcd59ddf73 generate cursors for cache download with configurable number of diffs 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
f41bfa3715 only return non-deleted object 2022-03-21 13:57:35 -07:00
CJ Cobb
7c6979ae57 optimized ledger_data 2022-03-21 13:57:35 -07:00
CJ Cobb
16e3c87dcc don't create strands for cache download. output cache info in server_info 2022-03-21 13:57:35 -07:00
CJ Cobb
15505905cb populate cache using coroutines. optionally disable cache 2022-03-21 13:57:35 -07:00
CJ Cobb
6fe957ef8f cache fixes. remove defer reads flag. check latest sequence in etl 2022-03-11 20:01:39 -05:00
CJ Cobb
59a0b47df4 fix wrong loop index in for loop 2022-03-10 16:55:25 -05:00
CJ Cobb
8f1895c099 better logging on corrupt successor table 2022-03-10 16:47:42 -05:00
CJ Cobb
48de81a4de log missing object in fetchLedgerPage 2022-03-10 16:09:28 -05:00
CJ Cobb
16f0159122 fix off by one error in read only monitor 2022-03-10 10:10:32 -05:00
CJ Cobb
1c3e7db8a0 init latestSequence 2022-03-09 13:54:10 -05:00
CJ Cobb
a8a87c2cff parallel cache population 2022-03-09 09:34:16 -08:00
CJ Cobb
1510f24f4b ETL fixes
* Don't use cache if cache is more recent than extracted ledger
* Use hardFetchLedgerRangeNoThrow exclusively in ETL, to prevent race
  condition
2022-03-08 00:26:21 -05:00
CJ Cobb
ce01414fb3 Catch database timeout in coroutine 2022-03-07 15:55:48 -05:00
CJ Cobb
9dda99f70a adjust log level of cache miss/hit messages 2022-03-07 15:55:48 -05:00
CJ Cobb
b332c388d2 Load cache from our own database 2022-03-07 15:55:42 -05:00
CJ Cobb
799bf58c95 Check optional before dereferencing 2022-03-04 16:02:20 -05:00
CJ Cobb
b3948590f8 fix sync interval failover bug 2022-03-04 10:00:45 -05:00
CJ Cobb
15004d80ee Log AsyncCallData error at error level 2022-03-03 21:50:13 -05:00
CJ Cobb
a1fe4858b5 Only launch thread to download cache once. Fix parent ledger check 2022-03-03 15:17:38 -05:00
CJ Cobb
838dda6b2c change coro-client to clio-client 2022-03-03 08:24:01 -08:00
CJ Cobb
f84733cb20 refactor publish sequence logic for read only 2022-03-03 08:24:01 -08:00
natenichols
d9741c7c80 Set X-User header where clio is a websocket client 2022-03-03 08:24:01 -08:00
CJ Cobb
be1d1a13be more aggressive postgres partitioning 2022-03-03 08:24:01 -08:00
CJ Cobb
b170ecc990 make sync interval for Cassandra configurable 2022-03-03 08:24:01 -08:00
Nathan Nichols
3db9db9354 Fix memory errors (#108)
* frees getUint64Tuple tuple iterator

* explicitly create strand in synchronous()
2022-03-01 17:13:28 -06:00
Brandon Kong
a8b4c1f0c6 Added README documentation for unit tests and fixed typos (#106)
* Fixed minor typos in readme

* Created a README for general unit testing purposes and fixed typo in main.cpp of unittests.
2022-03-01 15:02:26 -05:00
undertome
115b93298d Make DOSGuard config loading more resilient (#103) 2022-02-24 15:58:46 -08:00
Nathan Nichols
738577309d specify CMAKE_CXX_STANDARD (#102)
* specify CMAKE_CXX_STANDARD

* add reference to range based for loop
2022-02-22 17:18:31 -06:00
undertome
cd407d715e Fix unused variable errors (#101) 2022-02-22 10:07:36 -06:00
CJ Cobb
199144d092 Add a flag to defer cache reads while the cache is being updated (#97) 2022-02-18 20:44:07 -05:00
undertome
c03b72ad51 Advance DOSGuard (#96)
* Add C++20 features
* Make whitelist const
2022-02-18 17:43:02 -05:00
Nathan Nichols
6567a5cc7d capture websocket session as shared_ptr (#99)
* capture websocket session as shared_ptr
2022-02-18 17:40:13 -05:00
natenichols
d016253264 Make database reads async
* yield on db read using asio
* PostgresBackend fetches multiple transactions or objects in parallel
2022-02-16 09:36:51 -05:00
undertome
954adb0e7d Build fix: specify template parameters (#89)
* Build fix: specify template parameters
2022-02-01 14:12:07 -05:00
CJ Cobb
95a35caf49 don't publish stale data 2022-01-26 20:49:27 +00:00
CJ Cobb
bc131f666a General purpose function to retry on database timeout 2022-01-25 20:10:28 +00:00
CJ Cobb
da96608feb add diff flag to ledger command 2022-01-25 12:11:05 -05:00
Michael Legleux
bdfd07f154 clang-format (#86)
* clang-format

* ignore clang-format commit; run clang-format in github actions
2022-01-24 15:26:53 -05:00
CJ Cobb
23f1699e3b partition successor table in Postgres 2022-01-13 18:39:23 +00:00
CJ Cobb
d6e8e0bcde Bug fixes
* Handle empty ranges in initial download
* Don't skip records in last marker
* Add identifier for timed out Cassandra writes
2022-01-13 18:38:23 +00:00
CJ Cobb
6e6f47421d Postgres fixes (#84)
* Postgres fixes

* Create partial index for ledger_diffs, to avoid indexing the first
  ledger's objects

* Don't write duplicate keys to successor table

* default to 4 markers when syncing cache

* remove isFirst from writeLedger interface
2022-01-07 14:48:48 -05:00
Nathan Nichols
c3c248734f Unwrap result when forwarding (#78)
* fix error formatting for forwarded responses

* unwrap result when forwarding successful responses
2022-01-05 15:06:47 -05:00
CJ Cobb
49c7c9989f Forward client IP to rippled when proxying (#77) 2022-01-05 14:51:00 -05:00