mergify[bot]
39eae50024
implements DataBudget using atomics ( #12856 ) ( #13157 )
...
(cherry picked from commit 05cf15a382 )
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-10-26 18:27:45 +00:00
mergify[bot]
fd7bcfdb4d
add precompile verification to simulate_transaction ( #13080 ) ( #13125 )
...
(cherry picked from commit 766406fd23 )
Co-authored-by: Josh <josh.hundley@gmail.com >
2020-10-24 04:57:12 +00:00
mergify[bot]
e553c8bb45
Clean up opt conf verifier and vote state tracker ( #13081 ) ( #13123 )
...
* Clean up opt conf verifier and vote state tracker
* Update test to follow new message and some knob
* Rename
(cherry picked from commit 0264147d42 )
Co-authored-by: Ryo Onodera <ryoqun@gmail.com >
2020-10-24 02:39:33 +00:00
mergify[bot]
7d66cba7f4
Remove spammy invalid rpc log ( #13100 ) ( #13101 )
...
(cherry picked from commit c95f6c4b83 )
Co-authored-by: Justin Starry <justin@solana.com >
2020-10-23 08:21:33 +00:00
mergify[bot]
b90b46fee1
Allow nodes to advertise a different rpc address over gossip ( #13053 ) ( #13077 )
...
* Allow nodes to advertise a different rpc address over gossip
* Feedback
(cherry picked from commit 8b0242a5d8 )
Co-authored-by: Justin Starry <justin@solana.com >
2020-10-22 04:44:41 +00:00
Michael Vines
bff820d549
Remove unused pubkey::Pubkey imports
2020-10-21 20:27:57 -07:00
Michael Vines
5ad0ccdfe1
cargo fmt
2020-10-21 20:27:57 -07:00
Michael Vines
d8c7d06737
Run codemod --extensions rs Hash::new_rand solana_sdk::hash::new_rand
2020-10-21 20:27:57 -07:00
Michael Vines
422bb3c526
Run codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand
2020-10-21 20:27:57 -07:00
Trent Nelson
6ebb933302
Bump version to 1.3.20
2020-10-22 00:08:28 +00:00
Ryo Onodera
57d8d0ab6e
Add ledger-tool dead-slots and improve purge a lot ( #13070 )
2020-10-21 18:38:37 +00:00
mergify[bot]
14aaae3485
Support Debug Bank ( #13017 ) ( #13042 )
...
(cherry picked from commit c0675968b1 )
Co-authored-by: Ryo Onodera <ryoqun@gmail.com >
2020-10-21 02:50:12 +00:00
mergify[bot]
caac786a38
validator: Activate RPC before halting on slot ( #13001 )
...
(cherry picked from commit 3b3f7341fa )
Co-authored-by: Trent Nelson <trent@solana.com >
2020-10-20 23:50:11 +00:00
mergify[bot]
25078d46ba
filters out inactive nodes from push options ( #12674 ) ( #13022 )
...
* filters out inactive nodes from push options
https://github.com/solana-labs/solana/pull/12620
patched the DDOS issue with nodes which go offline:
https://github.com/solana-labs/solana/issues/12409
However, offline nodes still see (much lesser) traffic spike, likely
because no origins are pruned from their bloom filter in active set:
https://github.com/solana-labs/solana/blob/aaf3790d8/core/src/crds_gossip_push.rs#L276-L286
and so multiple nodes push redundant duplicate messages to them
simultaneously:
https://github.com/solana-labs/solana/blob/aaf3790d8/core/src/crds_gossip_push.rs#L254-L255
This commit will filter out inactive peers from potential push targets
entirely. To mitigate eclipse attacks, staked nodes are retried
periodically.
* uses current timestamp in test/crds_gossip
(cherry picked from commit a5c6a78f6d )
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-10-20 19:44:52 +00:00
mergify[bot]
dddd0b76f1
removes invalid/outdated pending push messages early ( #12555 ) ( #12992 )
...
In CrdsGossipPush::new_push_messages:
https://github.com/solana-labs/solana/blob/972619edb/core/src/crds_gossip_push.rs#L211-L228
we already have paid the cost of looking-up the label in crds table and
checking the hash value and wallclock only to find out that in some
cases the value is invalid or is outdated. So might as well remove the
value here rather than wait for the next call to
purge_old_pending_push_messages:
https://github.com/solana-labs/solana/blob/972619edb/core/src/crds_gossip_push.rs#L372
(cherry picked from commit b5faa11f73 )
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-10-19 22:02:18 +00:00
Tyera Eulberg
7674a5fea8
Bump version to v1.3.19 ( #12986 )
2020-10-19 19:13:28 +00:00
mergify[bot]
a3fdfea674
RPC: Add metrics for TX encoding ( #12879 )
...
(cherry picked from commit c26512255d )
Co-authored-by: Trent Nelson <trent@solana.com >
2020-10-15 15:41:13 +00:00
mergify[bot]
df8b07ddbd
solana vote-account/solana stake-account now works with RPC servers without --enable-rpc-transaction-history (bp #12826 ) ( #12848 )
...
* Implementation-defined RPC server errors are now accessible to client/ users
(cherry picked from commit 247228ee61 )
* Cleanly handle RPC servers that don't have --enable-rpc-transaction-history enabled
(cherry picked from commit 14d793b22c )
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-10-13 18:14:45 +00:00
Trent Nelson
d1c51950f3
Bump version to v1.3.18
2020-10-13 03:57:13 +00:00
mergify[bot]
edf59cccd8
Fix fee mismatch on snapshot deserialize ( #12697 ) ( #12753 )
...
Co-authored-by: Carl Lin <carl@solana.com >
(cherry picked from commit c879e7c1ad )
Co-authored-by: carllin <wumu727@gmail.com >
2020-10-12 11:34:13 +00:00
mergify[bot]
9f82208c29
Store program logs in blockstore / bigtable (TransactionWithStatusMeta) (bp #12678 ) ( #12734 )
...
* Store program logs in blockstore / bigtable (TransactionWithStatusMeta) (#12678 )
* introduce store program logs in blockstore / bigtable
* fix test, transaction logs created for successful transactions
* fix test for legacy bincode implementation around log_messages
* only api nodes should record logs
* truncate transaction logs to 100KB
* refactor log truncate for improved coverage
(cherry picked from commit 8f5431551e )
# Conflicts:
# runtime/src/bank.rs
* Resolve merge conflicts in bank.rs
* rerun cargo fmt
Co-authored-by: Josh <josh.hundley@gmail.com >
2020-10-10 08:55:41 +00:00
mergify[bot]
e4bd382472
Expose all rewards (fees, rent, voting and staking) in RPC getConfirmedBlock and the cli (bp #12768 ) ( #12789 )
...
* Expose all rewards (fees, rent, voting and staking) in RPC getConfirmedBlock and the cli
(cherry picked from commit c5c8da1ac0 )
# Conflicts:
# Cargo.lock
# runtime/src/bank.rs
# transaction-status/Cargo.toml
* fix: surface full block rewards type
(cherry picked from commit 1b16790325 )
* resolve conflicts
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-10-10 06:25:10 +00:00
Trent Nelson
a70aa28832
Bump version to 1.3.17
2020-10-10 03:22:14 +00:00
mergify[bot]
b34ba0fc4e
Remove skip-no-mangle entirely (bp #12696 ) ( #12708 )
...
* Remove skip-no-mangle entirely (#12696 )
(cherry picked from commit 41ad3dd8f0 )
# Conflicts:
# account-decoder/Cargo.toml
# core/Cargo.toml
# transaction-status/Cargo.toml
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2020-10-09 20:44:50 +00:00
Trent Nelson
41b99b96c0
Ryos compat fixes 1.3 ( #12762 )
...
* Fix various ledger-tool error due to no builtins
* Add missing file...
Co-authored-by: Ryo Onodera <ryoqun@gmail.com >
2020-10-09 11:49:15 -06:00
mergify[bot]
7f006d810c
Add new internal accounts ( #12740 ) ( #12746 )
...
Co-authored-by: publish-docs.sh <maintainers@solana.com >
(cherry picked from commit 2c5f83c264 )
Co-authored-by: Dan Albert <dan@solana.com >
2020-10-09 02:18:27 +00:00
mergify[bot]
925973ee60
RPC: Transaction deser can be quite slow (bp #12683 ) ( #12702 )
...
* RPC: Check encoded transaction size before decoding
(cherry picked from commit 7f67d36777 )
* RPC: Support base64 encoded transactions
Defaults to base58
(cherry picked from commit e35889542b )
Co-authored-by: Trent Nelson <trent@solana.com >
2020-10-07 05:50:23 +00:00
mergify[bot]
34591d2f2f
Show commit in --version and ledger-tool's log ( #12636 ) ( #12662 )
...
* Show commit in `--version` and ledger-tool's log
* Another handy hidden env var
* Fix test
* Rename to semver!
* Fix syntax error...
(cherry picked from commit 026e7de819 )
Co-authored-by: Ryo Onodera <ryoqun@gmail.com >
2020-10-03 16:45:27 +00:00
Michael Vines
bc1b95d6d0
Bump version to v1.3.16
2020-10-03 04:24:03 +00:00
mergify[bot]
ffa0ee69ca
Weight push peers by how long we haven't pushed to them ( #12620 ) ( #12651 )
...
(cherry picked from commit 71c469c72b )
Co-authored-by: sakridge <sakridge@gmail.com >
2020-10-02 22:27:35 +00:00
mergify[bot]
efb665071c
limits number of threads in core/tests/crds_gossip.rs ( #12615 ) ( #12641 )
...
crds_gossip tests start large networks, which with large thread-pools
will exhaust system resources, causing failures in ci tests:
https://buildkite.com/solana-labs/solana/builds/31953
The commit limits size of thread-pools in the test.
(cherry picked from commit 2c669f65f1 )
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-10-02 20:01:49 +00:00
Michael Vines
e69ee1ec64
Add GetConfirmedBlocksWithLimit RPC method
...
(cherry picked from commit 75b621160e )
2020-10-02 08:21:08 -07:00
mergify[bot]
71526923a6
Expose validator cli arguments for pubsub buffer tuning ( #12622 )
...
(cherry picked from commit f41a73d76a )
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-10-02 04:43:44 +00:00
mergify[bot]
17de653ce0
Move nonce utils from runtime to sdk (bp #12577 ) ( #12583 )
...
* runtime: Move prepare_if_nonce_account into accounts
(cherry picked from commit caec631344 )
* Move nonced tx helpers to SDK
(cherry picked from commit 65b868f4eb )
* Move remaining nonce utils from runtime to SDK
(cherry picked from commit 3c7b9c2938 )
# Conflicts:
# runtime/src/bank.rs
* Fix conflict
Co-authored-by: Trent Nelson <trent@solana.com >
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2020-10-01 06:25:25 +00:00
mergify[bot]
fbe5a89e74
retains hash value of outdated responses received from pull requests ( #12513 ) ( #12603 )
...
pull_response_fail_inserts has been increasing:
https://cdn.discordapp.com/attachments/478692221441409024/759096187587657778/pull_response_fail_insert.png
but for outdated values which fail to insert:
https://github.com/solana-labs/solana/blob/a5c3fc14b3/core/src/crds_gossip_pull.rs#L332-L344
https://github.com/solana-labs/solana/blob/a5c3fc14b3/core/src/crds.rs#L104-L108
are not recorded anywhere, and so the next pull request may obtain the
same redundant payload again, unnecessary taking bandwidth.
This commit holds on to the hashes of failed-inserts for a while, similar
to purged_values:
https://github.com/solana-labs/solana/blob/a5c3fc14b3/core/src/crds_gossip_pull.rs#L380
and filter them out for the next pull request:
https://github.com/solana-labs/solana/blob/a5c3fc14b3/core/src/crds_gossip_pull.rs#L204
(cherry picked from commit 1866521df6 )
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-10-01 01:47:20 +00:00
mergify[bot]
afbdcf3068
Include post balance information for rewards ( #12598 ) ( #12602 )
...
* Include post balance information for rewards
* Add post-balance to stored Reward struct
* Handle extended Reward in bigtable
Co-authored-by: Michael Vines <mvines@gmail.com >
(cherry picked from commit c31a34fbcb )
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2020-10-01 01:05:37 +00:00
mergify[bot]
55b0e9e9c7
builds crds filters in parallel (bp #12360 ) ( #12571 )
...
* builds crds filters in parallel (#12360 )
Based on run-time profiles, the majority time of new_pull_requests is
spent building bloom filters, in hashing and bit-vec ops.
This commit builds crds filters in parallel using rayon constructs. The
added benchmark shows ~5x speedup (4-core machine, 8 threads).
(cherry picked from commit 537bbde22e )
# Conflicts:
# core/Cargo.toml
* resolves mergify merge conflict
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-09-30 01:08:16 +00:00
mergify[bot]
d19ed8816e
Query BigTable for block time if does not exist in blockstore ( #12560 ) ( #12565 )
...
(cherry picked from commit 96a7d4dbd8 )
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2020-09-29 23:26:03 +00:00
mergify[bot]
af7f48a2fd
Track inserted repair shreds ( #12455 ) ( #12563 )
...
(cherry picked from commit ce98088457 )
Co-authored-by: sakridge <sakridge@gmail.com >
2020-09-29 22:57:58 +00:00
Trent Nelson
24c60cf3db
Bump version to v1.3.15
2020-09-29 20:57:08 +00:00
mergify[bot]
836ed842d6
Increase rpc pubsub max payload to unblock large account notifications ( #12548 ) ( #12551 )
...
(cherry picked from commit 36d55c0667 )
Co-authored-by: Justin Starry <justin@solana.com >
2020-09-29 17:20:31 +00:00
mergify[bot]
a07e90516b
separates out ClusterInfo::{gossip,listen} thread-pools ( #12535 ) ( #12547 )
...
https://github.com/solana-labs/solana/pull/12402
moved gossip-work threads:
https://github.com/solana-labs/solana/blob/afd9bfc45/core/src/cluster_info.rs#L2330-L2334
to ClusterInfo::new as a new field in the ClusterInfo struct:
https://github.com/solana-labs/solana/blob/35208c5ee/core/src/cluster_info.rs#L249
So that they can be shared between listen and gossip threads:
https://github.com/solana-labs/solana/blob/afd9bfc45/core/src/gossip_service.rs#L54-L67
However, in testing https://github.com/solana-labs/solana/pull/12360
it turned out this will cause breakage:
https://buildkite.com/solana-labs/solana/builds/31646
https://buildkite.com/solana-labs/solana/builds/31651
https://buildkite.com/solana-labs/solana/builds/31655
Whereas with separate thread pools all is good. It might be the case
that one thread is slowing down the other by exhausting the thread-pool
whereas with separate thread-pools we get fair scheduling guarantees
from the os.
This commit reverts https://github.com/solana-labs/solana/pull/12402
and instead adds separate thread-pools for listen and gossip threads:
https://github.com/solana-labs/solana/blob/afd9bfc45/core/src/gossip_service.rs#L54-L67
(cherry picked from commit 0d5258b6d3 )
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-09-29 11:27:47 +00:00
mergify[bot]
bd2e09d55a
patches bug in Crds::find_old_labels with pubkey specific timeout ( #12528 ) ( #12546 )
...
Current code only returns values which are expired based on the default
timeout. Example from the added unit test:
- value inserted at time 0
- pubkey specific timeout = 1
- default timeout = 3
Then at now = 2, the value is expired, but the function fails to return
the value because it compares with the default timeout.
(cherry picked from commit 57ed4e4657 )
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-09-29 10:13:13 +00:00
mergify[bot]
5b322a995f
Rpc -> proper optimistic confirmation ( #12514 ) ( #12537 )
...
* Add service to track the most recent optimistically confirmed bank
* Plumb service into ClusterInfoVoteListener and ReplayStage
* Clean up test
* Use OptimisticallyConfirmedBank in RPC
* Remove superfluous notifications from RpcSubscriptions
* Use crossbeam to avoid mpsc recv_timeout panic
* Review comments
* Remove superfluous last_checked_slots, but pass in OptimisticallyConfirmedBank for complete correctness
(cherry picked from commit 89621adca7 )
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2020-09-29 03:49:18 +00:00
mergify[bot]
63d9f32bb4
purges old pending push messages more efficiently ( #12522 ) ( #12533 )
...
(cherry picked from commit c94fe9236f )
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-09-29 01:34:58 +00:00
mergify[bot]
4cf69365b2
Port BPFLoader2 activation to FeatureSet (bp #12490 ) ( #12530 )
...
* Cargo.lock
(cherry picked from commit 6071d0d206 )
# Conflicts:
# Cargo.lock
* Port BPFLoader2 activation to FeatureSet and rework built-in program activation
(cherry picked from commit 31696a1d72 )
# Conflicts:
# core/Cargo.toml
# genesis-programs/Cargo.toml
# genesis/Cargo.toml
# ledger/Cargo.toml
# local-cluster/Cargo.toml
# runtime/src/bank.rs
* Add Builtin AbiExample
(cherry picked from commit 833ad20b01 )
* Rebase
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-09-28 23:12:05 +00:00
mergify[bot]
72c082f55a
Add precompile verification to preflight ( #12486 ) ( #12516 )
...
(cherry picked from commit 6583c8cffe )
Co-authored-by: sakridge <sakridge@gmail.com >
2020-09-28 06:37:52 +00:00
mergify[bot]
bc3aa53e02
Runtime feature activation framework (bp #12376 ) ( #12497 )
...
* Runtime feature activation framework
(cherry picked from commit 93259f0bae )
# Conflicts:
# runtime/src/bank.rs
* Add feature set identifier to gossiped version information
(cherry picked from commit 35f5f9fc7b )
# Conflicts:
# Cargo.lock
# version/Cargo.toml
* Port instructions sysvar and secp256k1 program activation to FeatureSet
(cherry picked from commit c10da16d7b )
# Conflicts:
# runtime/src/bank.rs
# runtime/src/message_processor.rs
* Add feature management commands
(cherry picked from commit 93ed0ab2bb )
# Conflicts:
# Cargo.lock
# cli/Cargo.toml
* Make test_process_rest_api less fragile
(cherry picked from commit 7526bb96f3 )
* Remove id field
(cherry picked from commit cc6ba1e131 )
* FeatureSet test
(cherry picked from commit 92406cf9a0 )
* cargo fmt
(cherry picked from commit 199940d683 )
* cli review feedback
(cherry picked from commit 3a2b8c5e5b )
* Rename active() to is_active()
(cherry picked from commit e39fac9f01 )
* Resolve merge conflicts
* Remove continues from compute_active_feature_set()
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-09-26 17:49:53 +00:00
mergify[bot]
e85c792f70
Add RPC notify and banking keys debug (bp #12396 ) ( #12452 )
...
* Add RPC notify and banking keys debug (#12396 )
(cherry picked from commit 68e5a2ef56 )
# Conflicts:
# core/src/validator.rs
* Rebase
Co-authored-by: sakridge <sakridge@gmail.com >
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-09-25 21:05:21 +00:00
Trent Nelson
b65a764593
Bump jsonrpc crates to 15.0.0 (bp #12491 )
2020-09-25 19:49:10 +00:00