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

Merged
merged 25 commits into from
Sep 24, 2024
Merged

Proposed 2.3.0-b4 #5144

merged 25 commits into from
Sep 24, 2024

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 63 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   46909    -751     
+ Misses       19368   14659   -4709     
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
@Bronek Bronek self-requested a review September 23, 2024 16:38
Copy link
Collaborator

@Bronek Bronek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good, just one comment to remember before RC.

@@ -6,6 +6,173 @@ This document contains the release notes for `rippled`, the reference server imp

Have new ideas? Need help with setting up your node? [Please open an issue here](https://github.com/xrplf/rippled/issues/new/choose).

# Version 2.2.3
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will eventually need to add 2.3 section where we mention

  • refactoring which affects projects with dependencies on this project
  • removal of reporting mode
  • removal of shards support

Not sure where we put the list of new amendments ?
featureNFTokenMintOffer
fixReducedOffersV2
fixEnforceNFTokenTrustline
fixInnerObjTemplate2
featureInvariantsV1_1
fixNFTokenPageLinks

This can wait until release candidate, so just mentioning with no change requested.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I think the new amendments should be listed here under a new 2.3 section, in addition to being added on https://xrpl.org/resources/known-amendments which is the page I most frequently reference when it comes to amendments.

Those sound like breaking changes; I wonder if it's time for rippled 3.0 😀

Though now that there is Clio, I doubt anyone uses Reporting Mode anymore; I suppose 2.3 is fine.

@intelliot intelliot merged commit 1fbf8da into release Sep 24, 2024
24 checks passed
@intelliot intelliot deleted the release-next branch September 24, 2024 17:25
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.