Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposed 2.3.0-b4 #5144

Open
wants to merge 25 commits into
base: release
Choose a base branch
from
Open

Proposed 2.3.0-b4 #5144

wants to merge 25 commits into from

Conversation

intelliot
Copy link
Collaborator

High Level Overview of Change

This is a beta for the 2.3.0 release.

This differs from #5141 in 2 ways:

  1. It is rebased on the latest develop
  2. It is a branch directly in this repo so that the repository secrets can be used by GitHub Actions

The base branch is release. All releases (including betas) go in release. This PR will be merged with --ff-only (not squashed or rebased, and not using the GitHub UI) to both release and develop.

Context of Change

This beta includes the hotfix that was included in 2.2.3. There are also other changes; please review the commits associated with this PR to see what has changed since 2.3.0-b2.

Type of Change

  • Release

Bronek and others added 22 commits August 2, 2024 16:58
* Add fixNFTokenPageLinks amendment:

It was discovered that under rare circumstances the links between
NFTokenPages could be removed.  If this happens, then the
account_objects and account_nfts RPC commands under-report the
NFTokens owned by an account.

The fixNFTokenPageLinks amendment does the following to address
the problem:

- It fixes the underlying problem so no further broken links
  should be created.
- It adds Invariants so, if such damage were introduced in the
  future, an invariant would stop it.
- It adds a new FixLedgerState transaction that repairs
  directories that were damaged in this fashion.
- It adds unit tests for all of it.
Implements a CI workflow that detects when a new version of libxrpl is
proposed, uploads it to artifactory under the `clio` channel and
notifies Clio's CI to check this newly proposed version.
* Add "doxygen" to list of supported branches to allow for testing and
  development.
* Add titles / H1 to some .md files that don't have them.
* Log when duplicate concurrent inbound ledger are filtered.
* RAII for containers that track concurrent inbound ledger.
* Comment on when to asynchronously acquire inbound ledgers, which
   is possible to be always OK, but should have further review.
* Other small logging changes

Co-authored-by: Ed Hennis <[email protected]>
* refactor filtering of validations to specifically avoid
 concurrent checkAccept() calls for the same validation ledger hash.
* Log when duplicate concurrent validation requests are filtered.
* RAII for containers that track concurrent validation requests.
* upstream/master:
  Set version to 2.2.2
  Allow only 1 job queue slot for each validation ledger check
  Allow only 1 job queue slot for acquiring inbound ledger.
  Track latencies of certain code blocks, and log if they take too long
* Retry some failed RPC connections / commands in unit tests
* Remove orphaned `getAccounts` function

Co-authored-by: John Freeman <[email protected]>
When rippled initiates a connection to SQLite3, rippled sends a "PRAGMA"
statement defining the maximum number of pages allowed in the database.
Update the max_page_count so it is consistent with the default for newer
versions of SQLite3. Increasing max_page_count is critical for keeping
full history servers online.

Fix #5102
Update book_changes RPC to reduce latency, add "validated" field, and accept shortcut strings (current, closed, validated) for ledger_index.

`"validated": true` indicates that the transaction has been included in a validated ledger so the result of the transaction is immutable.

Fix #5033

Fix #5034

Fix #5035

Fix #5036

---------

Co-authored-by: Bronek Kozicki <[email protected]>
@intelliot intelliot changed the base branch from develop to release September 20, 2024 02:33
Copy link

codecov bot commented Sep 20, 2024

Codecov Report

Attention: Patch coverage is 90.62500% with 3 lines in your changes missing coverage. Please review.

Project coverage is 76.2%. Comparing base (e6ef0fc) to head (1fbf8da).
Report is 38 commits behind head on release.

Files with missing lines Patch % Lines
include/xrpl/beast/core/LexicalCast.h 85.7% 2 Missing ⚠️
include/xrpl/protocol/Quality.h 94.1% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##           release   #5144     +/-   ##
=========================================
+ Coverage     71.1%   76.2%   +5.1%     
=========================================
  Files          796     760     -36     
  Lines        67028   61568   -5460     
  Branches     10981    8126   -2855     
=========================================
- Hits         47660   46897    -763     
+ Misses       19368   14671   -4697     
Files with missing lines Coverage Δ
include/xrpl/basics/BasicConfig.h 86.3% <ø> (ø)
include/xrpl/basics/Buffer.h 100.0% <ø> (ø)
include/xrpl/basics/ByteUtilities.h 100.0% <ø> (ø)
include/xrpl/basics/CompressionAlgorithms.h 0.0% <ø> (ø)
include/xrpl/basics/CountedObject.h 100.0% <ø> (ø)
include/xrpl/basics/DecayingSample.h 87.9% <ø> (ø)
include/xrpl/basics/Expected.h 100.0% <ø> (ø)
include/xrpl/basics/FeeUnits.h 90.1% <ø> (ø)
include/xrpl/basics/IOUAmount.h 100.0% <ø> (ø)
include/xrpl/basics/LocalValue.h 100.0% <ø> (ø)
... and 142 more

... and 1252 files with indirect coverage changes

Impacted file tree graph

@intelliot intelliot mentioned this pull request Sep 20, 2024
1 task
@intelliot intelliot marked this pull request as draft September 20, 2024 03:00
@intelliot
Copy link
Collaborator Author

intelliot commented Sep 20, 2024

vvysokikh1 and others added 3 commits September 20, 2024 11:04
The page_size will soon be made configurable with #5135, making this
re-ordering necessary.

When opening SQLite connection, there are specific pragmas set with
commonPragmas.

In particular, PRAGMA journal_mode creates journal file and locks the
page_size; as of this commit, this sets the page size to the default
value of 4096. Coincidentally, the hardcoded page_size was also 4096, so
no issue was noticed.
Make page_size and journal_size_limit configurable values in rippled.cfg
@intelliot
Copy link
Collaborator Author

Rebased on latest develop. Now ready for review.

@intelliot intelliot marked this pull request as ready for review September 20, 2024 21:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.