70bdcf06b4
locks gossip only once in push_epoch_slots (backport #17355 ) ( #19484 )
...
* locks gossip only once in push_epoch_slots
push_epoch_slots is unlocking and locking again gossip when iterating
over epoch slot indices which is wasteful:
https://github.com/solana-labs/solana/blob/0486df02b/core/src/cluster_info.rs#L915-L929
(cherry picked from commit 9339a6f8f3
)
# Conflicts:
# core/src/cluster_info.rs
* removes redundant slots sort in push_epoch_slots
(cherry picked from commit 9471ba61c5
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2021-08-29 17:09:59 +00:00
f53f273585
parallelizes gossip packets receiver with processing of requests (backport #17647 ) ( #19474 )
...
* parallelizes gossip packets receiver with processing of requests (#17647 )
Gossip packet processing is composed of two stages:
* The first is consuming packets from the socket, deserializing,
sanitizing and verifying them:
https://github.com/solana-labs/solana/blob/7f0349b29/gossip/src/cluster_info.rs#L2510-L2521
* The second is actually processing the requests/messages:
https://github.com/solana-labs/solana/blob/7f0349b29/gossip/src/cluster_info.rs#L2585-L2605
The former does not acquire any locks and so can be parallelized with
the later, allowing better pipelineing properties and smaller latency in
responding to gossip requests or propagating messages.
(cherry picked from commit cab30e2356
)
# Conflicts:
# core/src/cluster_info.rs
* removes backport merge conflicts
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2021-08-27 22:13:14 +00:00
e0584b77c5
Fixing missing pubsub notification for programSubscribe and logsSubscribe (backport #19092 ) ( #19455 )
...
* Fixing missing pubsub notification for programSubscribe and logsSubscribe (#19092 )
#18587 : programSubscribe is missing notifications randomly. The issue is because of two reasons
Not all rooted slots get OptimisticallyConfirmed notifications
The OptimisticallyConfirmed notifications can be out of order for slots: slot A and B with A < B can see notification for B first before A.
Summary of Changes
Changed OptimisticallyConfirmedBankTracker to send notifications for parent banks if they have not been notified yet. We use a new variable last_notified_slot to track that.
Tests:
With my validator running against testnet, before the fix, it was failing 75% of time, with the fix, it is passing consistently. Using the program mentioned in #18587 .
(cherry picked from commit 1a372a792e
)
# Conflicts:
# core/src/optimistically_confirmed_bank_tracker.rs
# core/src/rpc_subscriptions.rs
* Fix conflicts
Co-authored-by: Lijun Wang <83639177+lijunwangs@users.noreply.github.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-08-27 01:31:51 +00:00
39a5431790
Bump jsonrpc crates and remove old tokio ( #19454 )
2021-08-26 23:53:44 +00:00
715c5e64c4
Bump version to 1.6.23 ( #19447 )
2021-08-26 18:09:15 +00:00
7956f04fa5
Backport Accounts Fixes #16838 and the test #17038 ( #19412 )
...
* reclaims unref accounts from index (#16838 )
* Test account index and store alignment (#17038 )
* Use ReclaimResult::Default() instead of building subtypes
* Add test to ensure account_db store and index are aligned
Co-authored-by: Jeff Washington (jwash) <75863576+jeffwashington@users.noreply.github.com >
Co-authored-by: steviez <steven@solana.com >
v1.6.22
2021-08-25 14:40:53 -07:00
2825f82bee
Add parameter to allow setting max-retries for SendTransaction rpc (backport #19387 ) ( #19415 )
...
* Add parameter to allow setting max-retries for SendTransaction rpc (#19387 )
* Add parameter to cap rpc send retries for a tx
* Add parameter to docs
(cherry picked from commit 7482861f4b
)
# Conflicts:
# banks-server/src/banks_server.rs
# core/src/rpc.rs
# core/src/send_transaction_service.rs
* Fix conflicts
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-08-25 16:47:47 +00:00
45e3cd373b
Bump crossbeam-epoch (backport #19378 ) ( #19388 )
...
* Bump to get off yanked crate (#19378 )
(cherry picked from commit 82ea4891fd
)
# Conflicts:
# Cargo.lock
# programs/bpf/Cargo.lock
* Fix conflicts
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-08-24 08:16:08 +00:00
2b4b260c71
Update crossbeam-deque to 0.8.1 ( #19361 ) ( #19381 )
...
(cherry picked from commit 2ccbe471ae
)
2021-08-23 23:10:35 +00:00
866fd22fde
ci: pin patched solana crates version for downstream project builds
2021-08-18 22:08:12 -06:00
d23df85410
Remove pin-project-lite warning
2021-08-18 22:08:12 -06:00
839cdecfd2
Bump assert_cmd and remove audit ignore
2021-08-18 22:08:12 -06:00
cc6296b1fa
Add audit ignores
2021-08-18 22:08:12 -06:00
0c2a85a903
Update hyper 0.14
2021-08-18 22:08:12 -06:00
011fe72aa2
Bump version to v1.6.22
2021-08-18 22:08:12 -06:00
40fc14471d
Really start caching by fixing swapped CAS... ( #18842 ) ( #18969 )
...
(cherry picked from commit 611af87fdb
)
Co-authored-by: Ryo Onodera <ryoqun@gmail.com >
v1.6.21
2021-07-29 16:52:46 +00:00
7fc85b8c9b
Fix erroneous default start_slot ( #18948 ) ( #18951 )
...
(cherry picked from commit 578f2aa22b
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-07-29 03:56:54 +00:00
4d77ac1688
Bump version to v1.6.21 ( #18953 )
2021-07-28 23:47:03 +00:00
77bdb45d4a
Sigverify refactor ( #18873 )
v1.6.20
2021-07-23 22:32:09 +02:00
3539849a7f
Add voting service ( #18552 ) ( #18781 )
2021-07-22 22:26:04 +02:00
8c28f9b63e
Exclude stubbed ProgramCosts column from compaction ( #18840 )
2021-07-22 17:56:23 +00:00
3346843a87
token: Swap new token program id for consistency on all networks ( #18823 ) ( #18836 )
...
(cherry picked from commit d6f5945653
)
Co-authored-by: Jon Cinque <jon.cinque@gmail.com >
2021-07-22 09:55:39 +00:00
007c49ff2b
feature: add new token program feature (v1.6 backport of #18780 ) ( #18804 )
...
* feature: add new token program feature
* Fixup test
* Cargo fmt
* Add back whitespace for cargo fmt
* Revert file totally
2021-07-21 21:58:28 +02:00
bbd386884d
Disambiguate archive_snapshot_package
IO error sources ( #18797 )
...
(cherry picked from commit a4c3db51fc
)
Co-authored-by: Trent Nelson <trent@solana.com >
2021-07-21 19:32:19 +00:00
ba8426e0fd
1.6: Bump crates to 1.6.20 ( #18805 )
2021-07-21 17:44:41 +02:00
1017c4851a
backport new column families from master to 1.6 ( #18743 )
...
* backporting bank_hash and program_costs column families from master to 1.6 for rocksdb backward compatibility
* missed a line to allow dead code
* include code for purge
v1.6.19
2021-07-17 10:59:42 -06:00
d7b381c90c
Bump version to v1.6.19
2021-07-17 08:57:44 +00:00
870a7e8458
CI Tweaks (backport #18738 ) ( #18741 )
...
* ci: fix typo
(cherry picked from commit 96a7cedaca
)
* ci: suppress cargo tree output
(cherry picked from commit 59cd0556ef
)
Co-authored-by: Trent Nelson <trent@solana.com >
v1.6.18
2021-07-17 07:08:28 +00:00
6f661dd8a9
excludes private ip addresses ( #18739 )
...
(cherry picked from commit e316586516
)
# Conflicts:
# core/src/broadcast_stage.rs
# core/src/cluster_info.rs
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2021-07-17 03:48:07 +00:00
2e6d03c41f
Use rustup default profile ( #18727 ) ( #18730 )
...
(cherry picked from commit 2ec81f627d
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-07-16 21:13:39 +00:00
3dbdaa5341
Bump version to v1.6.18
2021-07-16 09:57:58 +00:00
8f3ce5fc57
Cli configurable validators (backport #18630 ) ( #18665 )
...
* rpc: more params for `GetVoteAccountsConfig`
(cherry picked from commit bf90ea282a
)
# Conflicts:
# docs/src/developing/clients/jsonrpc-api.md
* cli: allow returning more `solana validators`
(cherry picked from commit a4a24b6531
)
# Conflicts:
# Cargo.lock
# cli/Cargo.toml
# cli/src/cluster_query.rs
Co-authored-by: Trent Nelson <trent@solana.com >
v1.6.17
2021-07-16 07:45:49 +00:00
49ac17a595
nonce: Unify NonceError
with SystemError
2021-07-16 01:35:38 -06:00
63d7fdb4bd
Gate libsecp256k1 update (backport #18656 ) ( #18700 )
...
* hijack secp256k1 enablement feature plumbing for libsecp256k1 upgrade
* Bump libsecp256k1 to v0.5.0
* gate libsecp256k1 upgrade to v0.5.0
Co-authored-by: Trent Nelson <trent@solana.com >
2021-07-16 03:34:13 +00:00
e15721f22d
Drop default_on_eof attribute from Reward struct
...
(cherry picked from commit 33718e5fb4
)
2021-07-14 12:33:25 -07:00
17177a41c7
Cli: expose last valid block height ( #18620 ) ( #18626 )
...
* Add Fees struct to client
* Add complete RpcClient::get_fees methods
* Switch cli to last_valid_block_height
(cherry picked from commit 8ad4ffdee5
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-07-13 07:18:42 +00:00
84f0234151
rebase
2021-07-12 18:16:25 -07:00
b629291848
Record vote account commission with voting/staking rewards and surface in RPC
...
(cherry picked from commit 4098af3b5b
)
# Conflicts:
# docs/src/developing/clients/jsonrpc-api.md
# runtime/src/bank.rs
2021-07-12 18:16:25 -07:00
240895d387
storage-proto: Rework source generation ( #18583 )
...
(cherry picked from commit 899b09872b
)
Co-authored-by: Trent Nelson <trent@solana.com >
2021-07-11 03:11:13 +00:00
50d510e4c7
Update ouroboros [fix potential UB] (backport #18567 ) ( #18572 )
...
* chore: bump ouroboros from 0.5.1 to 0.9.3 (#18189 )
* chore: bump ouroboros from 0.5.1 to 0.9.3
Bumps [ouroboros](https://github.com/joshua-maros/ouroboros ) from 0.5.1 to 0.9.3.
- [Release notes](https://github.com/joshua-maros/ouroboros/releases )
- [Commits](https://github.com/joshua-maros/ouroboros/commits )
---
updated-dependencies:
- dependency-name: ouroboros
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* [auto-commit] Update all Cargo lock files
* Api changes
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
* CI: Ignore inconsistent_struct_constructor lint
This lint was introduced at `warning`, which is an excessively high
level for cosmetics, and later demoted to `pedantic`
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
Co-authored-by: Trent Nelson <trent@solana.com >
2021-07-10 21:06:42 +00:00
868e757d9d
CI: Make BPF test suite a first-class citizen (backport #18535 ) ( #18570 )
...
* CI: Extricate BPF tests from stable-perf
(cherry picked from commit 1eab0773af
)
* CI: Dump BPF assembly listings and upload as artifact
(cherry picked from commit f1996ca0f3
)
# Conflicts:
# ci/test-stable.sh
Co-authored-by: Trent Nelson <trent@solana.com >
2021-07-10 19:24:27 +00:00
92b2b8dae7
Add storage-proto build.rs and readme (backport #18353 ) ( #18561 )
...
* Add storage-proto build.rs and readme (#18353 )
* Use build.rs for storage-proto generation
* Add readme
* Single use statements
(cherry picked from commit c2e7d39154
)
# Conflicts:
# Cargo.lock
# storage-proto/build-proto/Cargo.lock
# storage-proto/build-proto/Cargo.toml
* Fix conflicts
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-07-09 22:12:01 +00:00
a53fe7b779
Bump prost, prost-types, and tonic (backport #18537 ) ( #18557 )
...
* Bump prost, prost-types, and tonic (#18537 )
* Bump prost+tonic and accommodate generated service changes
* Unignore advisory
* Fixup .proto error list
(cherry picked from commit 761de8b1a3
)
# Conflicts:
# Cargo.lock
# storage-bigtable/Cargo.toml
# storage-proto/Cargo.toml
* Fix conflicts
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-07-09 19:37:51 +00:00
a9d6b90e9a
Show grcov version as well ( #18549 ) ( #18550 )
...
(cherry picked from commit a5b91ef4c3
)
Co-authored-by: Ryo Onodera <ryoqun@gmail.com >
2021-07-09 12:54:51 +00:00
88c5d6b10c
featurize_policy_update (backport #18492 ) ( #18501 )
...
* featurize_policy_update (#18492 )
(cherry picked from commit ccdf93e2b8
)
# Conflicts:
# runtime/benches/message_processor.rs
# runtime/src/message_processor.rs
* fix conflicts
* nudge
Co-authored-by: Jack May <jack@solana.com >
2021-07-08 22:21:37 +00:00
9891cc6a17
Remove dead solana airdrop parameters ( #18520 ) ( #18523 )
...
(cherry picked from commit f39ffa69f6
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-07-08 22:03:13 +00:00
d18a08471e
Temporarily ignore prost-types advisory (backport #18525 ) ( #18526 )
...
* Temporarily ignore prost-types audit (#18525 )
(cherry picked from commit 6188283ba6
)
* Bump tokio
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-07-08 14:04:06 -06:00
50393adadd
Record parent slot to reconstruct fork tree from influxdb ( #18482 ) ( #18487 )
...
(cherry picked from commit d69f469b83
)
Co-authored-by: Ryo Onodera <ryoqun@gmail.com >
2021-07-08 02:53:08 +00:00
1be989c5d2
adds fallback logic if retransmit multicast fails (backport #17714 ) ( #18498 )
...
* adds fallback logic if retransmit multicast fails (#17714 )
In retransmit-stage, based on the packet.meta.seed and resulting
children/neighbors, each packet is sent to a different set of peers:
https://github.com/solana-labs/solana/blob/708bbcb00/core/src/retransmit_stage.rs#L421-L457
However, current code errors out as soon as a multicast call fails,
which will skip all the remaining packets:
https://github.com/solana-labs/solana/blob/708bbcb00/core/src/retransmit_stage.rs#L467-L470
This can exacerbate packets loss in turbine.
This commit:
* keeps iterating over retransmit packets for loop even if some
intermediate sends fail.
* adds a fallback to UdpSocket::send_to if multicast fails.
Recent discord chat:
https://discord.com/channels/428295358100013066/689412830075551748/849530845052403733
(cherry picked from commit be957f25c9
)
# Conflicts:
# core/src/cluster_info.rs
* removes backport merge conflicts
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2021-07-07 22:36:32 +00:00
6bc914989b
Update verify policy (backport #18459 ) ( #18490 )
...
* Update verify policy (#18459 )
(cherry picked from commit 44289e6728
)
# Conflicts:
# runtime/src/message_processor.rs
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-07-07 18:45:58 +00:00