-
Notifications
You must be signed in to change notification settings - Fork 785
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
V21.3 and synchronization improvements (#3140)
* Disable peers banning * Increase max LMDB size (#3120) from 128GB to 256GB * This is a series of patches to reduce bandwidth consumption from a large amount of frontiers. * Broadcasting blocks only when an election is started rather than immediately upon receipt. * more changes regarding github actions security hardening (#3088) https://docs.github.com/en/actions/learn-github-actions/security-hardening-for-github-actions#using-third-party-actions Co-authored-by: Russel <russel@nano.org> * Remove recently dropped check to restart elections Up until "recently", a new write transaction was opened to update work on the ledger for every single block. Now with deferred work updates on the block processor, it is no more expensive than processing a new block, so it makes sense to remove this constraint of having been recently dropped. This improves quality of service. The previously implicit check for confirmed dependents (since the election was dropped) is now explicit. The work on the ledger is updated regardless of that check passing. The election is not immediately inserted as *active* anymore, same behavior as the normal election insertion path. Note that if an election is active, the work is **not** updated on the ledger. That behavior also seems desirable. This could be achieved by updating the store after the block is identified as old, directly within `ledger::process`. For post-processing, a flag can be passed to `blockprocessor::process_old`, at which point `active_transactions::restart` can be scrapped since it becomes a simple election insertion + stats update (with a dependents confirmed check). Since this change would touch ledger code I am leaving for others to do it. There's also the question if the confirmed status should be checked within the ledger processing code. Note: only tested via core_test. # Conflicts: # nano/core_test/active_transactions.cpp # nano/core_test/node.cpp # nano/lib/locks.cpp # nano/lib/locks.hpp # nano/node/active_transactions.cpp # nano/node/active_transactions.hpp * Show frontiers age in RPC * This decreases the confirm_req_batches_max from 20 to 2, equivalent to 280/sec -> 28/sec. This option is also made configurable. Confirm_req batches are used in the bootstrap process and excessive requests to reps can degrade performance and often get dropped. # Conflicts: # nano/node/active_transactions.cpp # nano/node/confirmation_solicitor.cpp # nano/node/nodeconfig.cpp # nano/node/nodeconfig.hpp * This removes bootstrap restarting code as it is ineffective and can cause unnecessary restarting of the bootstrap process. * Bumping version number. * Including missing header. * Optionally send confirmed frontiers with an optional flag. * Throttled removal of rep crawler targets (#3154) * Throttled removal of rep crawler targets * Remove recursion Co-authored-by: Russel Waters <russel@nano.org> Co-authored-by: Sergey Kroshnin <sergiysw@gmail.com>
- Loading branch information
1 parent
5160073
commit 15b7db9
Showing
45 changed files
with
784 additions
and
449 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
name: RocksDB Release Tests | ||
|
||
on: | ||
push: | ||
tags: '*' | ||
|
||
env: | ||
RELEASE: 1 | ||
artifact: 0 | ||
TEST_USE_ROCKSDB: 1 | ||
|
||
jobs: | ||
osx_test: | ||
runs-on: macos-latest | ||
env: | ||
BOOST_ROOT: /tmp/boost | ||
steps: | ||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f | ||
with: | ||
submodules: "recursive" | ||
- name: Fetch Deps | ||
run: TEST=1 ci/actions/osx/install_deps.sh | ||
- name: Run Tests | ||
run: ci/build-travis.sh "/tmp/qt/lib/cmake/Qt5"; | ||
|
||
gcc_test: | ||
runs-on: ubuntu-18.04 | ||
timeout-minutes: 60 | ||
steps: | ||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f | ||
with: | ||
submodules: "recursive" | ||
- name: Fetch Deps | ||
run: ci/actions/linux/install_deps.sh | ||
- name: Run Tests | ||
run: docker run -e TEST_USE_ROCKSDB -v ${PWD}:/workspace nanocurrency/nano-env:gcc /bin/bash -c "cd /workspace && RELEASE=1 ./ci/build-travis.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5 ${PWD}" | ||
|
||
clang_test: | ||
runs-on: ubuntu-18.04 | ||
timeout-minutes: 60 | ||
steps: | ||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f | ||
with: | ||
submodules: "recursive" | ||
- name: Fetch Deps | ||
run: ci/actions/linux/install_deps.sh | ||
- name: Run Tests | ||
run: docker run -e TEST_USE_ROCKSDB -v ${PWD}:/workspace nanocurrency/nano-env:clang-6 /bin/bash -c "cd /workspace && RELEASE=1 ./ci/build-travis.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5 ${PWD}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
name: RocksDB Tests | ||
|
||
on: [push, pull_request] | ||
|
||
env: | ||
RELEASE: 0 | ||
artifact: 0 | ||
TEST_USE_ROCKSDB: 1 | ||
|
||
jobs: | ||
osx_test: | ||
runs-on: macos-latest | ||
env: | ||
BOOST_ROOT: /tmp/boost | ||
DEADLINE_SCALE_FACTOR: 2 | ||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | ||
steps: | ||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f | ||
with: | ||
submodules: "recursive" | ||
- name: Fetch Deps | ||
run: TEST=1 ci/actions/osx/install_deps.sh | ||
- name: Run Tests | ||
run: ci/build-travis.sh "/tmp/qt/lib/cmake/Qt5"; | ||
|
||
gcc_test: | ||
runs-on: ubuntu-18.04 | ||
timeout-minutes: 60 | ||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | ||
steps: | ||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f | ||
with: | ||
submodules: "recursive" | ||
- name: Fetch Deps | ||
run: ci/actions/linux/install_deps.sh | ||
- name: Run Tests | ||
run: docker run -e TEST_USE_ROCKSDB -v ${PWD}:/workspace nanocurrency/nano-env:gcc /bin/bash -c "cd /workspace && ./ci/build-travis.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5 ${PWD}" | ||
|
||
clang_test: | ||
runs-on: ubuntu-18.04 | ||
timeout-minutes: 60 | ||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | ||
steps: | ||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f | ||
with: | ||
submodules: "recursive" | ||
- name: Fetch Deps | ||
run: ci/actions/linux/install_deps.sh | ||
- name: Run Tests | ||
run: docker run -e TEST_USE_ROCKSDB -v ${PWD}:/workspace nanocurrency/nano-env:clang-6 /bin/bash -c "cd /workspace && ./ci/build-travis.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5 ${PWD}" | ||
|
||
windows_test: | ||
runs-on: windows-latest | ||
timeout-minutes: 60 | ||
env: | ||
RELEASE: 1 | ||
DEADLINE_SCALE_FACTOR: 2 | ||
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | ||
steps: | ||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f | ||
with: | ||
submodules: "recursive" | ||
- name: Windows Defender | ||
run: ci/actions/windows/disable_windows_defender.ps1 | ||
- name: Fetch Deps | ||
run: ci/actions/windows/install_deps.ps1 | ||
- name: Run Tests | ||
run: ci/actions/windows/build.ps1 |
Oops, something went wrong.