9fabff5129
Parallel notifications in RPC PubSub ( #20543 )
...
* generate rpc notifications in parallel
* Use multithreaded runtime for pubsub
* add metric for time since creation of rpc notification to queue
* measure notification entry processing
* fix: add n_threads config argument
* configure rayon thread pool for rpc notifications
* add config option for pubsub notification threads
* rename metric to created_to_queue_time_us
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* rename metric to notification_entry_processing_time_us
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* use value_of for rpc_pubsub_notification_threads parsing
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* rename threads to sol-sub-notif-N
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
* fix rpc tests for TimestampedNotificationEntry
* rustfmt
* use rayon thread limit for rpc
Co-authored-by: Pavel Strakhov <p.strakhov@iconic.vc >
Co-authored-by: Alexander Polakov <a.polakov@zubr.io >
Co-authored-by: Nikita Podoliako <bananaelecitrus@gmail.com >
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
2021-11-01 00:17:24 -06:00
484ead01ed
optimizes and simplifies SlotMeta::completed_data_indexes ops ( #21059 )
...
SlotMeta::completed_data_indexes is defined as a Vec<u32>:
https://github.com/solana-labs/solana/blob/a8d78e89d/ledger/src/blockstore_meta.rs#L31-L32
which results in inefficient updates:
https://github.com/solana-labs/solana/blob/a8d78e89d/ledger/src/blockstore.rs#L3245-L3326
This commit changes the type to BTreeSet<u32> for efficient and simpler
updates and lookups.
The change should be backward compatible because Vec<T> and BTreeSet<T>
are both serialized as seq:
https://github.com/serde-rs/serde/blob/ce0844b9e/serde/src/ser/impls.rs#L207-L208
https://github.com/serde-rs/serde/blob/ce0844b9e/serde/src/ser/impls.rs#L216-L217
2021-10-31 12:56:25 +00:00
696501500f
Accountsdb plugin postgres improvement ( #21034 )
...
Summary of Changes
Added the reference postgresql.conf
Prepare slot update statement to reduce overhead in updating slot
Support custom connection string
Allow the plugin to panic on replication issues to ensure consistency
2021-10-30 20:18:11 -07:00
7409d9d268
chore: bump tokio-stream from 0.1.7 to 0.1.8 ( #21079 )
...
* chore: bump tokio-stream from 0.1.7 to 0.1.8
Bumps [tokio-stream](https://github.com/tokio-rs/tokio ) from 0.1.7 to 0.1.8.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-stream-0.1.7...tokio-stream-0.1.8 )
---
updated-dependencies:
- dependency-name: tokio-stream
dependency-type: direct:production
update-type: version-update:semver-patch
...
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 >
2021-10-30 00:22:09 -06:00
855b3ccdc0
chore: bump signal-hook from 0.2.3 to 0.3.10 ( #21081 )
...
* chore: bump signal-hook from 0.2.3 to 0.3.10
Bumps [signal-hook](https://github.com/vorner/signal-hook ) from 0.2.3 to 0.3.10.
- [Release notes](https://github.com/vorner/signal-hook/releases )
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/v0.2.3...v0.3.10 )
---
updated-dependencies:
- dependency-name: signal-hook
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* Update apis
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-10-30 00:21:54 -06:00
9d07746642
Retain trusted peer snapshot hashes bugfix ( #21077 )
...
When retaining trusted peer snapshot hashes, and the peer's full
snapshot hashes match a trusted snapshot hash, but the peer doesn't have
incremental snapshot hashes, that's fine; the peer's hashes should be
retained, not discarded.
2021-10-29 20:21:33 -05:00
32a242e777
Make test result not depend on TestValidator setup ( #21078 )
2021-10-29 16:19:10 -06:00
bced07a099
Update fee api to use blockhash ( #21054 )
2021-10-29 13:52:59 -07:00
aea3c66fa8
chore: bump tokio from 1.12.0 to 1.13.0 ( #21075 )
...
* chore: bump tokio from 1.12.0 to 1.13.0
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.12.0...tokio-1.13.0 )
---
updated-dependencies:
- dependency-name: tokio
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com >
2021-10-29 20:38:25 +00:00
62c8fb4792
Document next_account_info(s) ( #21076 )
2021-10-29 14:17:21 -06:00
4663b86b8b
Add DOS test that sends large transactions ( #20624 )
...
Problem
We need a test that stress-tests the network using large transactions, including sending multiple large transactions that reference independent sets of accounts, so they can be executed in parallel.
Summary of Changes
Adds such a test. Also adds a version of the tuner program that runs for a configurable number of iterations.
2021-10-29 15:57:32 -04:00
1453fce6c6
Check and unwrap() Option instead of .iter().for_each() ( #21072 )
2021-10-29 14:17:03 -05:00
91c49d7023
Add gitignore files ( #21063 )
2021-10-29 17:24:05 +00:00
a0f9e0e8ee
Add missing websocket methods to rust RPC PubSub client ( #21065 )
...
- Added accountSubscribe, programSubscribe, slotSubscribe and rootSubscribe to rust RpcClient
- Removed duplication on cleanup threads
- Moved RPCVote from rpc/ to client/rpc_response
2021-10-29 17:11:20 +00:00
78d99b89c0
explorer: fix epoch page failure state ( #21068 )
2021-10-29 16:01:49 +01:00
a8d78e89d3
Move test-validator to own module to reduce core dependencies ( #20658 )
...
* Move test-validator to own module to reduce core dependencies
* Fix a few TestValidator paths
* Use solana_test_validator crate for solana_test_validator bin
* Move client int tests to separate crate
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-10-29 01:27:07 +00:00
e16c060abf
nit: better rust ( #21058 )
2021-10-28 17:13:42 -07:00
3140d7741c
deprecate FeeCalculator in BanksClients ( #21056 )
2021-10-28 16:00:09 -07:00
0b8fcf0808
Check whether vote-authorize-voter-checked new vote authority is_interactive ( #21051 )
...
* Check interactive signer for vote-authorize-voter-checked
* Recommend checked vote reauthorization
2021-10-28 20:48:16 +00:00
976298b292
chore: bump openssl from 0.10.36 to 0.10.37 ( #21043 )
...
* chore: bump openssl from 0.10.36 to 0.10.37
Bumps [openssl](https://github.com/sfackler/rust-openssl ) from 0.10.36 to 0.10.37.
- [Release notes](https://github.com/sfackler/rust-openssl/releases )
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.36...openssl-v0.10.37 )
---
updated-dependencies:
- dependency-name: openssl
dependency-type: direct:production
update-type: version-update:semver-patch
...
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 >
2021-10-28 19:28:10 +00:00
d5104d95d1
chore: bump cargo_metadata from 0.14.0 to 0.14.1 ( #21042 )
...
Bumps [cargo_metadata](https://github.com/oli-obk/cargo_metadata ) from 0.14.0 to 0.14.1.
- [Release notes](https://github.com/oli-obk/cargo_metadata/releases )
- [Commits](https://github.com/oli-obk/cargo_metadata/compare/v0.14.0...0.14.1 )
---
updated-dependencies:
- dependency-name: cargo_metadata
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-28 18:43:26 +00:00
eea3fb327f
seeds rng for test_build_crds_filter test ( #21031 )
2021-10-28 18:29:32 +00:00
4aa12a52b6
Feature cleanup ( #21038 )
2021-10-28 09:04:03 -07:00
53358ab1aa
fix account index ( #21041 )
2021-10-28 09:03:47 -07:00
7a41b2c5d1
optimize get_accounts_delta_hash ( #21027 )
2021-10-28 10:40:32 -05:00
e9ab214237
filler accts: only add filler accts to slots in the current epoch ( #21024 )
2021-10-28 10:26:30 -05:00
7bb347faac
Tone down the optimistic confirmation printing ( #21045 )
2021-10-28 15:14:36 +02:00
4642a2c856
Optimize test_recovery_with_expanded_coding_shreds ( #20849 )
2021-10-28 11:38:08 +02:00
f0de3e9bf0
chore: bump tonic from 0.5.2 to 0.6.1 ( #21035 )
...
* Bump tonic and prost crates
* connect_lazy no longer infallible
2021-10-28 06:59:36 +00:00
6a1ff60c61
percent stats 0-1 -> 0-100 ( #21028 )
2021-10-27 18:08:27 -05:00
700e42d556
Different error if block status is not yet available ( #20407 )
...
* Different error if block is not available
* Add slot to error message
* Make and use helper function
* Check finalized path as well
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-10-27 13:11:27 -06:00
036d7fcc81
Clean up sanitized tx creation for tests ( #21006 )
2021-10-27 18:09:16 +01:00
9d330fc638
FillerAccts: use variable cycle partitions ( #20963 )
2021-10-27 11:18:27 -05:00
bbd72a87c2
Update explorer_preview.yml
2021-10-27 15:42:30 +05:30
f3e49cdf90
Update web-wallets.md ( #20871 )
...
Added Vivaldi to the list of browsers with support for Phantom. I've been using this browser for Phantom and have installed it on a few dozen customer's Chromium based Vivaldi browsers, on both Windows and various Linux distros over the past few months with flawless, error free operation.
2021-10-27 10:06:15 +01:00
57af5064c0
Update explorer_preview.yml
2021-10-27 13:40:20 +05:30
6cdade2d36
Update explorer_preview.yml
2021-10-27 13:38:17 +05:30
852f0ca3f1
Update .gitignore
2021-10-27 12:53:51 +05:30
5309a5149d
Create explorer_production.yml
2021-10-27 12:30:13 +05:30
3a0041f4a6
Delete Explorer_production.yml
2021-10-27 12:29:38 +05:30
031594c200
Update .prettierignore ( #21016 )
2021-10-27 12:20:21 +05:30
cbfdeb6134
Update .prettierignore
2021-10-27 12:02:58 +05:30
76bc4d4cce
Update Explorer_production.yml
2021-10-27 12:00:33 +05:30
874db73fae
Update .gitignore
2021-10-27 11:56:18 +05:30
04a337f134
Update Explorer_production.yml
2021-10-27 11:55:55 +05:30
c9daa5af30
Update .gitignore
2021-10-27 11:52:51 +05:30
84c4c68218
Create Explorer_production.yml
2021-10-27 11:51:31 +05:30
de1c2718ff
Create explorer_preview.yml
2021-10-27 11:48:31 +05:30
f385fa6d1d
Update explorer.yml
2021-10-27 11:46:19 +05:30
ced1505b75
Document entrypoint!
, custom_heap_default!
, and custom_panic_default!
( #21003 )
2021-10-26 22:48:10 -07:00