1985 Commits

Author SHA1 Message Date
behzad nouri
491b059755
broadcasts duplicate shreds through gossip (#14699) 2021-01-24 15:47:43 +00:00
Michael Vines
cbffab7850 Upgrade to Rust v1.49.0 2021-01-23 19:16:36 -08:00
Michael Vines
bf1943e489 Add solana-test-validator --warp-slot argument 2021-01-22 21:17:02 -08:00
Michael Vines
cbb9ac19b9 Add ability to clone accounts from an RPC endpoint 2021-01-22 13:29:36 -08:00
Tyera Eulberg
71e9958e06
Rpc: Add custom error for BigTable data not found (#14762)
* Expose not-found bigtable error

* Add custom rpc error for bigtable data not found

* Return custom rpc error when bigtable block is not found

* Generalize long-term storage
2021-01-22 04:40:47 +00:00
behzad nouri
e4da6761a7
fixes test_filter_current flakiness (#14749) 2021-01-21 21:53:10 +00:00
behzad nouri
8e581601d6
patches crds vote-index assignment bug (#14438)
If tower is full, old votes are evicted from the front of the deque:
https://github.com/solana-labs/solana/blob/2074e407c/programs/vote/src/vote_state/mod.rs#L367-L373
whereas recent votes if expire are evicted from the back:
https://github.com/solana-labs/solana/blob/2074e407c/programs/vote/src/vote_state/mod.rs#L529-L537

As a result, from a single tower_index scalar, we cannot infer which crds-vote
should be overwritten:
https://github.com/solana-labs/solana/blob/2074e407c/core/src/crds_value.rs#L576

In addition there is an off by one bug in the existing code. tower_index is
bounded by MAX_LOCKOUT_HISTORY - 1:
https://github.com/solana-labs/solana/blob/2074e407c/core/src/consensus.rs#L382
So, it is at most 30, whereas MAX_VOTES is 32:
https://github.com/solana-labs/solana/blob/2074e407c/core/src/crds_value.rs#L29
Which means that this branch is never taken:
https://github.com/solana-labs/solana/blob/2074e407c/core/src/crds_value.rs#L590-L593
so crds table alwasys keeps 29 **oldest** votes by wallclock, and then
only overrides the 30st one each time. (i.e a tally of only two most
recent votes).
2021-01-21 13:08:07 +00:00
Michael Vines
04ce33a04e Ensure sanitary transactions 2021-01-20 23:59:32 -08:00
Ryo Onodera
dcaa025822
Configure Bigtable's timeout, enabling by default (#14657)
* Configure bigtable's timeout when read-only

* Review comments

* Apply nits (thanks!)

Co-authored-by: Michael Vines <mvines@gmail.com>

* Timeout in the streamed decoding as well

Co-authored-by: Michael Vines <mvines@gmail.com>
2021-01-19 13:57:16 +00:00
behzad nouri
b5fd0ed859
rewrites turbine retransmit peers computation (#14584) 2021-01-19 04:18:47 +00:00
behzad nouri
c6ae0667e6
feature gates turbine retransmit peers patch (#14631) 2021-01-19 04:16:19 +00:00
Michael Vines
5d9dc609b1 Rename RpcNodeUnhealthy error to NodeUnhealthy, generalize getHealth RPC error object for the future 2021-01-18 19:57:25 -08:00
Tyera Eulberg
cbf8ef7480
Make Bigtable::get_confirmed_blocks inclusive of requested start_slot and end_slot (#14651)
* Fix off-by-one error

* Filter out blocks greater than end slot
2021-01-18 19:14:10 -07:00
carllin
5f14f45282
More generic accounts purge functions (#14595)
Co-authored-by: Carl Lin <carl@solana.com>
2021-01-17 20:31:03 -08:00
Ryo Onodera
8d4ab1bab1 Clean up and add comment 2021-01-17 19:59:59 -08:00
Ryo Onodera
5cf9094bb9 WIP fix the occasional stuck RPC request 2021-01-17 19:59:59 -08:00
Michael Vines
4003f86f04 Add getSnapshotSlot RPC method 2021-01-16 19:31:21 +00:00
Michael Vines
dacb95083d Add getHealth RPC method 2021-01-16 10:10:48 -08:00
Tyera Eulberg
9a89689ad3
Use optimistic confirmation in getSignatureStatuses, and various downstream client methods (#14430)
* Add optimistically_confirmed field to TransactionStatus

* Update docs

* Convert new field to confirmation_status

* Update docs to confirmationStatus

* Update variants

* Update docs

* Just Confirmed
2021-01-15 16:05:05 +00:00
Michael Vines
1c2ae15b1d Improve solana-test-validator output 2021-01-14 23:07:24 -08:00
sakridge
907f518f6d
Add load/execute/store timings (#14561) 2021-01-14 14:14:16 -08:00
behzad nouri
cfcca1cd3c
patches bug in turbine's neighbors computation (#14565)
Removing local node's index early from the set here:
https://github.com/solana-labs/solana/blob/e1b59ded4/core/src/retransmit_stage.rs#L346
distorts the order of nodes depending on which node is computing the
turbine fan-out tree, and results in incorrect neighbors computation.
2021-01-13 22:25:29 +00:00
Michael Vines
11daaadc93 Add --rpc-threads argument 2021-01-13 13:34:46 -08:00
Tyera Eulberg
e1b59ded4b
Use leader_forward_count for tx retries too (#14547) 2021-01-13 11:14:22 -07:00
Jeff Washington (jwash)
935dfdf0f6
fill in timing gaps in replay_stage (#14550)
* fill in timing gaps in replay_stage

* add replay_stage bank_count metric

* formatting

* handle another gap

* cleanup wait_receive_time to be more straightforward
2021-01-13 10:08:53 -06:00
carllin
6dfad0652f
Cache account stores, flush from AccountsBackgroundService (#13140) 2021-01-11 17:00:23 -08:00
Tyera Eulberg
b0e6e29527
Update timestamp max allowable drift to 50% of PoH (#14531)
* Repurpose warp-timestamp feature for general bump

* Change max_allowable_drift to 50%

* Fill in PR#

* Fix rpc test setup
2021-01-11 23:27:30 +00:00
Michael Vines
a95675a7ce
Avoid tmp snapshot backlog in SnapshotPackagerService under high load (#14516) 2021-01-11 10:21:15 -08:00
Michael Vines
7be6770808 Rename CompressionType to ArchiveFormat 2021-01-09 09:07:49 -08:00
Michael Vines
141e6706e6 Rename AccountsPackage::root to AccountsPackage::slot 2021-01-09 09:07:49 -08:00
behzad nouri
766195dded
limits number of crds values associated with a pubkey (#14467) 2021-01-08 18:54:40 +00:00
Jeff Washington (jwash)
773b21b34e
consolidate DEFAULT_HASHES_PER_TICK (#14463) 2021-01-07 09:49:42 -06:00
sakridge
c282586753
Add fixed tick rate adjustment (#14447) 2021-01-05 19:25:44 -08:00
Tyera Eulberg
ce1766d798
Enable program-id account index for supply calculations (#14444)
* Enable program-id account index for supply calculations

* Fixup comments
2021-01-06 02:42:33 +00:00
carllin
5affd8aa72
Add secondary indexes (#14212) 2020-12-31 18:06:03 -08:00
Michael Vines
4a3d217839 Only initialize BigTable upload service when requested 2020-12-31 17:40:51 -08:00
Michael Vines
0b23abd479 Bind RPC and faucet to 0.0.0.0 2020-12-31 07:55:26 +00:00
Michael Vines
3d077fb656 Revert "Upgrade in-tree tokio 0.2 usage to tokio 0.3"
This reverts commit 444ed768dcacb073607a43401a3674c7b6061552.
2020-12-31 06:26:53 +00:00
Michael Vines
fb6c660cfd Port ip-echo-server to tokio 0.3 2020-12-30 09:29:16 -08:00
Trent Nelson
fe667db910 validator: Add experimental flag to select PoH pinned core 2020-12-29 19:15:44 -07:00
Trent Nelson
82f61c0c4a core: Update stale error message 2020-12-29 19:15:44 -07:00
sakridge
f8a4afc7c1
Fix flaky broadcast test (#14329) 2020-12-29 12:35:04 -08:00
sakridge
2074e407cd
Add poh speed check and tick speed calibration (#14292) 2020-12-29 09:35:57 -08:00
Michael Vines
444ed768dc Upgrade in-tree tokio 0.2 usage to tokio 0.3 2020-12-29 09:23:23 -08:00
Tyera Eulberg
3f10fb993b
Retry durable-nonce transactions (#14308)
* 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
2020-12-29 09:48:43 -07:00
Michael Vines
9ddd6f08e8 Persist gossip contact info 2020-12-27 20:46:54 -08:00
sakridge
c693ffaa08
Fix subtraction overflow in metrics (#14290) 2020-12-27 16:26:22 -08:00
behzad nouri
2fd38d9912
indexes votes in crds table (#14272) 2020-12-27 13:31:05 +00:00
behzad nouri
49019c6613
obtains staked-nodes from the root-bank (#14257)
... as opposed to the working bank
2020-12-27 13:28:05 +00:00
Trent Nelson
5b903318b2 vote: Add helper for creating current-versioned states 2020-12-22 19:37:26 -07:00