Michael Vines
ffd6f3e6bf
Revert "Upgrade in-tree tokio 0.2 usage to tokio 0.3 ( #14326 )"
...
This reverts commit 6c5be574c8
.
2020-12-30 22:25:23 -08:00
mergify[bot]
3b047e5b99
Port ip-echo-server to tokio 0.3 (bp #14345 ) ( #14350 )
...
* Port ip-echo-server to tokio 0.3
(cherry picked from commit fb6c660cfd
)
# Conflicts:
# net-utils/Cargo.toml
* Update Cargo.toml
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-12-30 18:55:24 +00:00
mergify[bot]
b5335edb35
Add experimental knob for tuning PoH pinned CPU core (bp #14330 ) ( #14341 )
...
* core: Update stale error message
(cherry picked from commit 82f61c0c4a
)
* validator: Add experimental flag to select PoH pinned core
(cherry picked from commit fe667db910
)
Co-authored-by: Trent Nelson <trent@solana.com >
2020-12-30 03:33:39 +00:00
mergify[bot]
abee1e83eb
Add poh speed check and tick speed calibration ( #14292 ) ( #14328 )
...
(cherry picked from commit 2074e407cd
)
Co-authored-by: sakridge <sakridge@gmail.com >
2020-12-29 19:40:49 +00:00
mergify[bot]
6c5be574c8
Upgrade in-tree tokio 0.2 usage to tokio 0.3 ( #14326 )
...
(cherry picked from commit 444ed768dc
)
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-12-29 19:03:18 +00:00
mergify[bot]
c1f993d2fc
Retry durable-nonce transactions ( #14308 ) ( #14325 )
...
* Retry durable-nonce transactions
* Add metric to track durable-nonce txs in queue
* Populate send-tx-service initial addresses with tpu_address if empty (primarily for testing)
* Reinstate last_valid_slot check for durable-nonce txs; use arbitrary future slot
(cherry picked from commit 3f10fb993b
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2020-12-29 18:03:04 +00:00
Michael Vines
d1adc2a446
Persist gossip contact info
...
(cherry picked from commit 9ddd6f08e8
)
2020-12-27 22:09:00 -08:00
Michael Vines
02da7dfedf
Bump version to v1.5.1
2020-12-27 21:57:43 -08:00
mergify[bot]
eb0fd3625a
Fix subtraction overflow in metrics ( #14290 ) ( #14296 )
...
(cherry picked from commit c693ffaa08
)
Co-authored-by: sakridge <sakridge@gmail.com >
2020-12-28 02:34:58 +00:00
mergify[bot]
1c91376f78
obtains staked-nodes from the root-bank ( #14257 ) ( #14293 )
...
... as opposed to the working bank
(cherry picked from commit 49019c6613
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-12-27 14:49:29 +00:00
mergify[bot]
10067ad07b
indexes votes in crds table ( #14272 ) ( #14294 )
...
(cherry picked from commit 2fd38d9912
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-12-27 14:49:23 +00:00
mergify[bot]
52ffb9a64a
Add accounts shrink paths (bp #14238 ) ( #14270 )
...
* Add shrink paths (#14238 )
(cherry picked from commit baa9602411
)
* Ignore long/hanging test (#14261 )
Co-authored-by: sakridge <sakridge@gmail.com >
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2020-12-23 08:03:33 +00:00
Trent Nelson
198ed407b7
vote: Add helper for creating current-versioned states
2020-12-23 06:17:59 +00:00
mergify[bot]
192cca8f98
validator: Multiple --entrypoint support (bp #14256 ) ( #14264 )
...
* Update entrypoint contact info even when shred version adoption is not requested
(cherry picked from commit 3373082ffa
)
* Multiple entrypoint support
(cherry picked from commit ace360ade2
)
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-12-23 04:15:44 +00:00
mergify[bot]
6dd3c7c2dd
removes &Arc<Self> receivers ( #14234 ) ( #14262 )
...
(cherry picked from commit a14cfd660a
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-12-23 02:11:08 +00:00
mergify[bot]
c53e8ee3ad
improves performance in replay-stage ( #14217 ) ( #14233 )
...
bank::vote_accounts returns a hash-map which is slow to iterate, but all uses
only require an iterator:
https://github.com/solana-labs/solana/blob/b3dc98856/runtime/src/bank.rs#L4300-L4306
Similarly, calculate_stake_weighted_timestamp takes a hash-map whereas it only
requires an iterator:
https://github.com/solana-labs/solana/blob/b3dc98856/sdk/src/stake_weighted_timestamp.rs#L21-L28
(cherry picked from commit 7b08cb1f0d
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-12-21 21:23:35 +00:00
sakridge
554a158443
Fix test_max_hashes ( #14189 )
...
(cherry picked from commit a5db6399ad
)
2020-12-21 09:05:26 -08:00
behzad nouri
b7fa4b7ee1
caches staked nodes computed from vote-accounts ( #13929 )
...
(cherry picked from commit d6d76219b6
)
2020-12-21 09:05:17 -08:00
behzad nouri
fd44cee8cc
limits number of crds values returned when responding to pull requests ( #13739 )
...
Crds values buffered when responding to pull-requests can be very large taking a lot of memory.
Added a limit for number of buffered crds values based on outbound data budget.
(cherry picked from commit 691031fefd
)
2020-12-21 09:04:50 -08:00
mergify[bot]
252180c244
Restore Content-Length header for streaming snapshot download ( #14222 )
...
(cherry picked from commit 57b03c5bc1
)
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-12-21 08:41:02 +00:00
mergify[bot]
4811afe8eb
Stream RPC snapshot downloads (bp #14213 ) ( #14215 )
...
* Stream RPC snapshot downloads
(cherry picked from commit b3dc988564
)
# Conflicts:
# core/Cargo.toml
* Update Cargo.toml
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-12-20 01:28:41 +00:00
mergify[bot]
9b8f0bee99
adds crds-value for broadcasting duplicate shreds through gossip (bp #14133 ) ( #14203 )
...
* adds crds-value for broadcasting duplicate shreds through gossip (#14133 )
In gossip, the header overhead we get from:
https://github.com/solana-labs/solana/blob/de9ac43eb/core/src/cluster_info.rs#L434-L435
https://github.com/solana-labs/solana/blob/de9ac43eb/core/src/crds_value.rs#L31-L36
https://github.com/solana-labs/solana/blob/de9ac43eb/core/src/crds_value.rs#L73
already exceeds SIZE_OF_NONCE in shreds. We also need aditional
meta-data (wallclock, source pubkey, ...). Which means that given the
SHRED_PAYLOAD_SIZE, we cannot fit all these in PACKET_DATA_SIZE:
https://github.com/solana-labs/solana/blob/de9ac43eb/ledger/src/shred.rs#L80
On top of that, we need 2 shred payloads as the proof of duplicate. So
each DuplicateShred crds value includes only a chunk of the payload,
along with the meta-data to reconstruct the full payload from the chunks
on the receiving end.
(cherry picked from commit 6a3797e164
)
# Conflicts:
# Cargo.lock
# ledger/Cargo.toml
* removes backport merge conflicts
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2020-12-18 22:54:50 +00:00
mergify[bot]
fc13c1d654
getBlockTime RPC method now falls back to BigTable in all cases ( #14207 )
...
(cherry picked from commit 0090106f60
)
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-12-18 22:23:35 +00:00
mergify[bot]
50034848a5
Improved Transaction Forwarding ( #13944 ) ( #14195 )
...
* Forwarding
* Dedupe leaders
* Use consistent commitment for last_valid_slot in rpc send_transaction
* Plumb rpc send_transaction options into solana-validator
* Extend num slots banking-stage holds forwarded txs
Co-authored-by: Tyera Eulberg <tyera@solana.com >
(cherry picked from commit da7d1e2302
)
Co-authored-by: sakridge <sakridge@gmail.com >
2020-12-17 18:14:06 -07:00
Michael Vines
9aaf41bef2
Don't require increased open file limit in solana-test-validator
...
Travis CI in particular does not allow the open file limit to be
increased.
(cherry picked from commit 0b92720fdb
)
2020-12-16 22:59:56 -08:00
Trent Nelson
ffe35d9a10
Bump SPL crates
2020-12-17 01:54:26 +00:00
mergify[bot]
bb2fb07b39
Add blockstore skipped api ( #14145 ) ( #14167 )
...
* Add blockstore api to determine if a slot was skipped
* Return custom rpc error if slot is skipped
(cherry picked from commit ac0d32bc7e
)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2020-12-16 22:26:54 +00:00
mergify[bot]
c481e4fe7f
Partial shred deserialize cleanup and shred type differentiation ( #14094 ) ( #14139 )
...
* Partial shred deserialize cleanup and shred type differentiation in retransmit
* consolidate packet hashing logic
(cherry picked from commit d4a174fb7c
)
Co-authored-by: sakridge <sakridge@gmail.com >
2020-12-16 08:57:21 -08:00
mergify[bot]
ef9f54b3d4
Fix race between setting tick height and calculating accounts hash ( #14101 ) ( #14132 )
...
Co-authored-by: Carl Lin <carl@solana.com >
(cherry picked from commit 75e9e321de
)
Co-authored-by: carllin <wumu727@gmail.com >
2020-12-15 22:05:44 +00:00
behzad nouri
c2b7115031
indexes crds values associated with a pubkey ( #14088 )
...
record_labels returns all the possible labels for a record identified by
a pubkey, used in updating timestamp of crds values:
https://github.com/solana-labs/solana/blob/1792100e2/core/src/crds_value.rs#L560-L577
https://github.com/solana-labs/solana/blob/1792100e2/core/src/crds.rs#L240-L251
The code relies on CrdsValueLabel to be limited to a small deterministic
set of possible values for a fixed pubkey. As we expand crds values to
include duplicate shreds, this limits what the duplicate proofs can be
keyed by in the table.
In addition the computation of these labels is inefficient and will
become more so as duplicate shreds and more types of crds values are
added. An alternative is to maintain an index of all crds values
associated with a pubkey.
2020-12-15 01:49:22 +00:00
sakridge
5294f70189
Remove some non-warnings ( #14115 )
2020-12-14 16:26:17 -08:00
Michael Vines
7143aaa89b
Clippy
2020-12-14 08:03:29 -08:00
Michael Vines
cdd3e7d856
Remove solana-vote-signer ( #14099 )
2020-12-13 19:12:20 -08:00
Michael Vines
9f2d154588
Rework TestValidator API to be more like ProgramTest
2020-12-13 07:45:55 +00:00
dependabot[bot]
88d950e5a8
chore: bump log from 0.4.8 to 0.4.11 ( #13691 )
...
* chore: bump log from 0.4.8 to 0.4.11
Bumps [log](https://github.com/rust-lang/log ) from 0.4.8 to 0.4.11.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.8...0.4.11 )
Signed-off-by: dependabot[bot] <support@github.com >
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com >
2020-12-13 13:48:23 +09:00
carllin
55fc963595
Move slot cleanup to AccountsBackgroundService ( #13911 )
...
* Move bank drop to AccountsBackgroundService
* Send to ABS on drop instead, protects against other places banks are dropped
* Fix Abi
* test
Co-authored-by: Carl Lin <carl@solana.com >
2020-12-13 01:22:34 +00:00
Tyera Eulberg
8541ffa328
Add subscription cap ( #14011 )
...
* Add subscription cap
* Elide unwraps
2020-12-12 01:57:40 +00:00
Trent Nelson
546c6a4531
Override yanked miow crate to 0.2.2
2020-12-11 23:44:03 +00:00
Trent Nelson
277b6790c7
Override yanked net2 0.2.37
2020-12-11 23:44:03 +00:00
Ryo Onodera
09bd412b13
Wrong rpc inflation rate ( #14063 )
...
* Fix wrong inflation calculation in rpc
* Reorder
* Fix test
2020-12-11 07:42:39 +00:00
Michael Vines
4fba7e6865
Move validator_block_0_fee_workaround into TestValidator
2020-12-11 04:17:38 +00:00
Michael Vines
bbad3fe501
TestValidator now implements Drop, no need to close() it
2020-12-11 04:17:38 +00:00
Michael Vines
0a9ff1dc9d
Initial solana-test-validator command-line program
2020-12-11 04:17:38 +00:00
Josh
13db3eca9f
SPL token balance in transaction metadata ( #13673 )
...
* feat: store pre / post token balances
* move helper functions into separate include
* move token balance functionality to transaction-status crate
* fix blockstore processor test
* fix bigtable legacy test
* add caching to decimals
2020-12-10 19:25:07 -08:00
sakridge
aa2751e614
Check shred type in is_duplicate ( #14050 )
2020-12-10 18:20:08 -08:00
behzad nouri
409fe3bca1
adds the instance token to crds-labels for node-instance crds-values ( #14037 )
...
If a node "a" receives instance-info from node "b1" it will override any
instance-info associated with "b1" pubkey in its crds table. This makes
it less likely that when "b1" receives crds values from "a" (either
through pull or push), it sees other instances of itself (because node
"a" discarded them when it received "b1" instance info).
In order for the crds table to contain all instance-info associated with
the same pubkey at the same time, we need to add the instance tokens to
the keys in the crds table (i.e. the CrdsValueLabel).
2020-12-10 17:01:55 +00:00
sakridge
5c95d8e963
Shred filter ( #14030 )
2020-12-10 07:54:15 -08:00
sakridge
c5fe076432
Better dupe detection ( #13992 )
2020-12-09 23:14:31 -08:00
behzad nouri
1d267eae6b
std::process::exit to kill all threads
2020-12-09 10:24:23 -08:00
behzad nouri
895d7d6a65
removes RwLock on ClusterInfo.instance
2020-12-09 10:24:23 -08:00