Commit Graph

13695 Commits

Author SHA1 Message Date
natenichols
90326bf756 Proxy validation_quorum when in reporting mode 2022-03-04 13:38:48 -08:00
Edward Hennis
255bf829ca Fix Travis CI MacOS builds:
* Update boost version.
* Use latest macOS image.
* Credit to @donovanhide in #4025 for starting this ball rolling, and
  inspiring a boost update.
2022-03-04 13:38:48 -08:00
Edward Hennis
0623a40f02 Refactor to fix levelization:
* Remove Application & Database dependency in PerfLog. Replace it with
  a callback passed into the constructor.
* Fixes the circular dependency between ripple/nodestore and ripple/basics
2022-03-01 14:32:14 -08:00
Ikko Ashimine
a529b218f3 Fix typo in ReportingETL.cpp
respresent -> represent
2022-03-01 14:32:14 -08:00
Mark Travis
c0cb389b20 Fallback to normal sync if fast loading is not possible:
If fast loading is enabled but the last persisted ledger is not
entirely on disk, the server would fail to start without manual
intervention by the server operator.

This commit allows the server to detect this scenario and attempt
to automatically recover.
2022-03-01 11:29:07 -08:00
Mark Travis
8f82b62e0d Use CIDR notation for admin and secure_gateway 2022-03-01 11:27:50 -08:00
Mark Travis
dc213a4fab Make gateway_balances admin-only in reporting mode 2022-03-01 11:27:34 -08:00
Mark Travis
06e87e0f6a Fix deletion of orphan nodestore directories:
Orphaned nodestore directories should only be deleted
if the proper nodestore directories are confirmed to
exist.
2022-03-01 11:25:03 -08:00
John Freeman
c2a08a1f26 Simplify the Job Queue:
This is a refactor aimed at cleaning up and simplifying the existing
job queue.

As of now, all jobs are cancelled at the same time and in the same
way, so this commit removes the per-job cancellation token. If the
need for such support is demonstrated, support can be re-added.

* Revise documentation for ClosureCounter and Workers.
* Simplify code, removing unnecessary function arguments and
  deduplicating expressions
* Restructure job handlers to no longer need to pass a job's
  handle to the job.
2022-03-01 11:25:03 -08:00
Scott Schurr
df02eb125f Prefer using a local Sandbox over using the Context's view 2022-03-01 11:25:03 -08:00
Howard Hinnant
0c13676d5f Restrict access to the virtual functions move and copy
* These are meant to be used by detail::STVar only and
  are otherwise error-prone to call.
2022-03-01 11:25:03 -08:00
Howard Hinnant
74e6ed1af3 Improve the readability of STBase-derived types
* Increase the visibility of each type's API.
* No functional changes.
2022-03-01 11:25:03 -08:00
Richard Holland
0f620f4e53 Merge remote-tracking branch 'ripple/develop' into develop 2022-02-18 13:43:00 +00:00
Richard Holland
642ebf34cd fix tests 2022-02-18 13:25:16 +00:00
Richard Holland
9325e11b14 examples and tests WIP 2022-02-18 12:43:56 +00:00
Richard Holland
e0fa4b4f1f fix emission insertion 2022-02-18 10:30:45 +00:00
Richard Holland
34957bb7ec change sfcodes in etxn_details to match https://github.com/ripple/rippled/pull/4089 2022-02-18 10:07:22 +00:00
Richard Holland
de58b028d9 fix hook and cbak definition detection bug 2022-02-18 09:36:32 +00:00
Richard Holland
059722f4fc relax some conditions for beta 2022-02-17 17:36:28 +00:00
Richard Holland
457fc23cfb add type checking to hook and cbak on sethook, untested, compiling 2022-02-17 15:23:41 +00:00
Richard Holland
3f4f4893f4 namespace destruction rewrite, bug fix 2022-02-16 16:50:52 +00:00
Richard Holland
deedf21202 fix a bug where hooks would be deleted unless a corresponding hooksetobj was present 2022-02-16 10:57:54 +00:00
Richard Holland
4ea9187352 bugs in state update 2022-02-11 12:54:57 +00:00
Richard Holland
f185f6418e state change update to persist changes between hook executions in the same otxn, not compiling 2022-02-08 14:00:39 +00:00
Richard Holland
7596d8bbd0 fix and simplify hook-state 2022-02-08 10:00:04 +00:00
Nik Bougalis
72377e7bf2 Set version to 1.8.5 2022-02-07 16:36:55 -08:00
CJ Cobb
5b085a75fd Avoid dereferencing empty optional in ReportingETL 2022-02-07 12:38:50 -08:00
seelabs
61389a8bef Correct minor bug in TaggedPointer move constructor:
A typographical error would mishandle the case where a caller explicitly
tries to remove a child that is not actually part of the node. This case
is never invoked in practice, and so the bug would will never trigger.
2022-02-07 12:38:50 -08:00
Wo Jake
bd97e59254 Update README.md
XRPL Foundation's basic introduction to the XRPL, a great series that would *hopefully* continue...
2022-02-07 12:38:50 -08:00
Michael Legleux
95ecf296ad Install the protocol buffer deps during smoketests 2022-02-07 12:38:40 -08:00
Michael Legleux
b7e0306d0a Ensure protocol buffer prerequisites are present 2022-02-07 10:59:12 -08:00
Michael Legleux
a9ee802240 Update smoke test distributions 2022-02-07 10:59:12 -08:00
Edward Hennis
d23d37fcfd Correctly add GIT_COMMIT_HASH into version string:
Commit bf013c02ad added support
for incorporating a commit ID into the compiled version string
but did so in a way that did not follow the semantic versioning
standard.

This commit corrects that flaw by moving the commit ID into the
"metadata" part of the version string and properly handles the
case where the commit hash cannot be retrieved.
2022-02-07 10:52:31 -08:00
Nik Bougalis
289bc0afd9 Improve handling of endpoints during peer discovery 2022-02-07 10:33:02 -08:00
Nik Bougalis
c5dc00af74 Update RocksDB to version 6.27.3 2022-02-07 10:32:59 -08:00
Richard Holland
249c127890 fix create->install fallthrough bug 2022-02-07 12:52:13 +00:00
Richard Holland
7928363c24 empty hook bug fixes 2022-02-07 12:14:13 +00:00
Richard Holland
f331e7ab62 rewrite sethook cleanly 2022-02-07 11:06:33 +00:00
Richard Holland
6adb9ae6f7 cleanup sethook, begin adding hooks logcodes 2022-02-03 15:20:21 +00:00
Richard Holland
664c77489d sfcodes for xls20 and hooks 2022-01-31 11:36:55 +00:00
Richard Holland
d4ad147bf3 relocate hook api whitelist to applyhook 2022-01-25 12:38:34 +00:00
Nik Bougalis
000e0b093e Set version to 1.8.4 2022-01-25 12:38:34 +00:00
Nik Bougalis
a394641037 Adjust pathfinding configuration defaults:
The pathfinding engine built into the code has several configurable
parameters to adjust the depth of the paths indexed and explored.

These parameters can dramatically impact the performance and memory
consumption of a server; higher values can result in resource usage
increasing exponentially.

These default values were decided early and somewhat arbitrarily at
a time when the network and the size of the network state were much
smaller.

This commit adjusts the default values to reduce the depth of paths
to more reasonable levels; unless explicitly overriden, the changes
mean that pathfinding operations will return fewer, shallower paths
than previous versions of the software.
2022-01-25 12:38:34 +00:00
seelabs
1e414ca96e Adjust mutex scope in walkMapParallel:
This commit corrects a technical flaw that was introduced with commit
7c12f01358: as written, a mutex that is
intended to help provide synchronization for multiple threads as they
are each walking the map, is declared so that each thread is passed a
dangling reference to a unique mutex.

This commit hoists the mutex outside the thread creation loop, so all
threads use a single mutex and eliminating the dangling reference.
2022-01-25 12:38:34 +00:00
Nik Bougalis
39f6792106 Set version to 1.8.3 2022-01-25 12:38:34 +00:00
Nik Bougalis
7a124727dd Provide sensible default values for nodestore cache:
The nodestore includes a built-in cache to reduce the disk I/O
load but, by default, this cache was not initialized unless it
was explicitly configured by the server operator.

This commit introduces sensible defaults based on the server's
configured node size.

It remains possible to completely disable the cache if desired
by explicitly configuring it the cache size and age parameters
to 0:

    [node_db]
    ...
    cache_size = 0
    cache_age = 0
2022-01-25 12:38:34 +00:00
Nik Bougalis
763b482bee Adjust number of concurrent ledger data jobs 2022-01-25 12:38:34 +00:00
Nik Bougalis
3ee8a9c683 Detect CVE-2021-3520 when decompressing using LZ4 2022-01-25 12:38:34 +00:00
Mark Travis
bc96da7c53 Parallel ledger loader & I/O performance improvements:
- Only duplicate records from archive to writable during online_delete.
- Log duration of nodestore reads.
- Include nodestore counters in perf_log output.
- Remove gratuitous nodestore activity counting.
- Report initial sync duration in server_info and perfLog.
- Report state_accounting in perfLog.
- Make state_accounting durations more accurate.
- Parallel ledger loader.
- Config parameter to load ledgers on start.
2022-01-25 12:38:34 +00:00
JoelKatz
399c209384 Two small SHAMapSync improvements:
1) Don't acquire so many nodes per pass. It's likely
far more than we need.

2) Right-size the finishedReads_ vector on passes other
than just the first.
2022-01-25 12:38:34 +00:00