Jack May
cb0bb5bd1e
Nonce accounts must be writeable ( #21260 )
...
* Nonce accounts must be writeable
* feedback
* feedback
2021-11-16 23:01:00 +00:00
dependabot[bot]
55ea672041
chore: bump serde_json from 1.0.69 to 1.0.70 ( #21285 )
...
* chore: bump serde_json from 1.0.69 to 1.0.70
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.69 to 1.0.70.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.69...v1.0.70 )
---
updated-dependencies:
- dependency-name: serde_json
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 <you@example.com>
2021-11-15 15:27:47 -07:00
Michael Keleti
b0ca335463
Rename "trusted" to "known" in `validators/` ( #21197 )
...
* Replaced trusted with known validator
* Format Convention
2021-11-12 11:57:55 -07:00
dependabot[bot]
3c5f505d3e
chore: bump serde_json from 1.0.68 to 1.0.69 ( #21211 )
...
* chore: bump serde_json from 1.0.68 to 1.0.69
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.68 to 1.0.69.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.68...v1.0.69 )
---
updated-dependencies:
- dependency-name: serde_json
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-11-09 11:04:40 -07:00
dependabot[bot]
c2754b8a51
chore: bump libc from 0.2.106 to 0.2.107 ( #21202 )
...
* chore: bump libc from 0.2.106 to 0.2.107
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.106 to 0.2.107.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.106...0.2.107 )
---
updated-dependencies:
- dependency-name: libc
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-11-08 12:14:12 -07:00
Jeff Biseda
7659a2edc2
report pubsub stats every 2s ( #21192 )
2021-11-05 19:59:54 -07:00
Ivan Mironov
0e751ef7df
Add validator option to change niceness of RPC server threads
...
Fixes https://github.com/solana-labs/solana/issues/14556
2021-11-04 17:16:46 -06:00
Justin Starry
aaccba8377
Refactor `RentDebits` to use hashmap instead of vec
2021-11-04 15:02:24 +00:00
Justin Starry
140a5f633d
Simplify replay vote tracking by using packet metadata ( #21112 )
2021-11-03 09:02:48 +00:00
Tyera Eulberg
02826a989e
Change module name to represent correct branch ( #21125 )
2021-11-02 02:04:29 +00:00
dependabot[bot]
ca51ea3e04
chore: bump libc from 0.2.105 to 0.2.106 ( #21093 )
...
* chore: bump libc from 0.2.105 to 0.2.106
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.105 to 0.2.106.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.105...0.2.106 )
---
updated-dependencies:
- dependency-name: libc
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-11-01 14:17:45 -06:00
Pavel Strakhov
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
Jack May
bced07a099
Update fee api to use blockhash ( #21054 )
2021-10-29 13:52:59 -07:00
Manuel Gil
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
sakridge
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
Tyera Eulberg
b2f6cfb9ff
Restore getProgramAccounts spl-token secondary-index functionality ( #20993 )
...
* Allow get_spl_token_X_filters to match on any encoding, and optimize earlier
* Remove redundant optimize calls
* Compress match statements
* Add method docs, including note to use optimize_filters before spl-token checks
* Add logs
2021-10-26 21:44:24 +00:00
behzad nouri
1297a13586
adds metrics tracking crds writes and votes ( #20953 )
2021-10-26 13:02:30 +00:00
dependabot[bot]
cb1947bea2
chore: bump libc from 0.2.104 to 0.2.105 ( #20972 )
...
* chore: bump libc from 0.2.104 to 0.2.105
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.104 to 0.2.105.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.104...0.2.105 )
---
updated-dependencies:
- dependency-name: libc
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-26 00:14:58 -06:00
Tyera Eulberg
337b94b3bc
Extend TestBroadcastReceiver::recv timeout ( #20957 )
...
* Extend TestBroadcastReceiver timeout
* Add elapsed log
2021-10-25 22:44:53 +00:00
Michael Vines
350bb561eb
Clippy
2021-10-23 08:21:20 +00:00
Tyera Eulberg
9dd87bcdb5
Use config limit instead of default ( #20900 )
2021-10-23 07:04:15 +00:00
Jack May
bfbbc53dac
Divorce the runtime from FeeCalculator ( #20737 )
2021-10-22 14:32:40 -07:00
Trent Nelson
fe098b5ddc
rpc-send-tx-svc: add with_config constructor
2021-10-20 13:43:27 -06:00
dependabot[bot]
66e431dad5
chore: bump libc from 0.2.103 to 0.2.104 ( #20764 )
...
* chore: bump libc from 0.2.103 to 0.2.104
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.103 to 0.2.104.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.103...0.2.104 )
---
updated-dependencies:
- dependency-name: libc
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-19 22:38:02 -06:00
Kirill Fomichev
e9a427b9c8
Rpc: filters performance improvement ( #20185 )
...
* Add Base58,Base64,Bytes to MemcmpEncodedBytes
* Rpc: decode memcmp before filtering accounts
* Add deprecated attribute
* Add Memcmp::bytes
* Fix clippy for deprecated
* Another clippy fix
* merge RpcFilterError::DataTooLarge
* add deprecation for Base58DataTooLarge
* change filter data size limit
* strict data size len for base58
* add magic numbers
* fix tests
2021-10-14 12:43:27 -06:00
Jack May
da45be366a
Remove blockhash from fee calculation ( #20641 )
2021-10-13 13:10:58 -07:00
Trent Nelson
767f740305
Bump version to 1.9.0
2021-10-06 17:57:41 -07:00
Tyera Eulberg
e13ed8a627
Add RecentItems metrics ( #20484 )
2021-10-06 16:16:56 -06:00
Michael Vines
7027d56064
Resolve nightly-2021-10-05 clippy complaints
2021-10-06 10:37:58 -07:00
Brooks Prumo
5d141fe01d
Rename CRDS SnapshotHash to SnapshotHashes ( #20421 )
2021-10-04 19:03:28 -05:00
Justin Starry
0ddb34a0b4
Add struct and convenience methods to track stake activation status ( #20392 )
...
* Add struct and convenience methods to track stake activation status
* fix nits
* rename
2021-10-04 18:59:11 -04:00
dependabot[bot]
acfe76b622
chore: bump soketto from 0.6.0 to 0.7.0 ( #20355 )
...
Bumps [soketto](https://github.com/paritytech/soketto ) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/paritytech/soketto/releases )
- [Changelog](https://github.com/paritytech/soketto/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/paritytech/soketto/compare/v0.6.0...v0.7.0 )
---
updated-dependencies:
- dependency-name: soketto
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-30 16:12:22 -06:00
Lijun Wang
fe97cb2ddf
AccountsDb plugin framework ( #20047 )
...
Summary of Changes
Create a plugin mechanism in the accounts update path so that accounts data can be streamed out to external data stores (be it Kafka or Postgres). The plugin mechanism allows
Data stores of connection strings/credentials to be configured,
Accounts with patterns to be streamed
PostgreSQL implementation of the streaming for different destination stores to be plugged in.
The code comprises 4 major parts:
accountsdb-plugin-intf: defines the plugin interface which concrete plugin should implement.
accountsdb-plugin-manager: manages the load/unload of plugins and provide interfaces which the validator can notify of accounts update to plugins.
accountsdb-plugin-postgres: the concrete plugin implementation for PostgreSQL
The validator integrations: updated streamed right after snapshot restore and after account update from transaction processing or other real updates.
The plugin is optionally loaded on demand by new validator CLI argument -- there is no impact if the plugin is not loaded.
2021-09-30 14:26:17 -07:00
dependabot[bot]
9393654af0
chore: bump libc from 0.2.102 to 0.2.103 ( #20280 )
...
* chore: bump libc from 0.2.102 to 0.2.103
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.102 to 0.2.103.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.102...0.2.103 )
---
updated-dependencies:
- dependency-name: libc
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 <anatoly+githubjenkins@solana.io>
2021-09-28 07:50:46 +00:00
Pavel Strakhov
65227f44dc
Optimize RPC pubsub for multiple clients with the same subscription ( #18943 )
...
* reimplement rpc pubsub with a broadcast queue
* update tests for new pubsub implementation
* fix: fix review suggestions
* chore(rpc): add additional pubsub metrics
* integrate max subscriptions check into SubscriptionTracker to reduce locking
* separate subscription control from tracker
* limit memory usage of items in pubsub broadcast queue, improve error handling
* add more pubsub metrics
* add final count metrics to pubsub
* add metric for total number of subscriptions
* fix small review suggestions
* remove by_params from SubscriptionTracker and add node_progress_watchers map instead
* add subscription tracker tests
* add metrics for number of pubsub notifications as a counter
* ignore clippy lint in TokenCounter
* fix underflow in token counter
* reduce queue capacity in pubsub tests
* fix(rpc): fix test timeouts
* fix race in account subscription test
* Add RpcSubscriptions::new_for_tests
Co-authored-by: Pavel Strakhov <p.strakhov@iconic.vc>
Co-authored-by: Nikita Podoliako <n.podoliako@zubr.io>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-09-17 13:40:14 -06:00
dependabot[bot]
68da1909de
chore: bump serde_json from 1.0.67 to 1.0.68 ( #19942 )
...
* chore: bump serde_json from 1.0.67 to 1.0.68
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.67 to 1.0.68.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.67...v1.0.68 )
---
updated-dependencies:
- dependency-name: serde_json
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-09-16 20:23:25 +00:00
Christian Kamm
f1bbf1d8b0
rpc: performance fix for getProgramAccounts ( #19941 )
...
* rpc: performance fix for getProgramAccounts
The accounts were gradually pushed into a vector, which produced
significant slowdowns for very large responses.
* rpc: rewrite loops using iterators
Co-authored-by: Christian Kamm <ckamm@delightful-solutions.de>
2021-09-16 19:40:01 +00:00
dependabot[bot]
ea15c0b40b
chore: bump libc from 0.2.101 to 0.2.102 ( #19924 )
...
* chore: bump libc from 0.2.101 to 0.2.102
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.101 to 0.2.102.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.101...0.2.102 )
---
updated-dependencies:
- dependency-name: libc
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-09-16 09:45:01 -06:00
carllin
87a7f00926
Track reset bank in PohRecorder ( #19810 )
2021-09-13 16:55:35 -07:00
Brooks Prumo
62c8bcf565
Add default() to SnapshotConfig ( #19776 )
2021-09-12 13:44:27 -05:00
Giles Cope
c9261e034e
remove dev deps
2021-09-11 14:33:53 -07:00
Sean Young
d461a9ac10
verify_precompiles needs FeatureSet
...
Rather than pass in individual features, pass in the entire feature set
so that we can add the ed25519 program feature in a later commit.
2021-09-05 18:59:37 +01:00
Tyera Eulberg
bd4d563db1
Bump dependency versions ( #19634 )
2021-09-04 07:02:29 +00:00
Tyera Eulberg
decec3cd8b
Demote write locks on transaction program ids ( #19593 )
...
* Add feature
* Demote write lock on program ids
* Fixup bpf tests
* Update MappedMessage::is_writable
* Comma nit
* Review comments
2021-09-04 03:05:30 +00:00
Brooks Prumo
5e25ee5ebe
Add maximum_incremental_snapshot_archives_to_retain to SnapshotConfig ( #19612 )
2021-09-03 20:21:32 +00:00
Brooks Prumo
7ab0aec61f
Rename maximum_full_snapshot_archives_to_retain ( #19610 )
...
To prepare for adding maximum_incremental_snapshot_archives_to_retain,
rename the current field in SnapshotConfig.
2021-09-03 11:28:10 -05:00
Tyera Eulberg
5fa3e5744c
Populate memo in blockstore signatures-for-address ( #19515 )
...
* Add TransactionMemos column family
* Traitify extract_memos
* Write TransactionMemos in TransactionStatusService
* Populate memos from column
* Dedupe and add unit test
2021-09-03 00:28:52 -06:00
Brooks Prumo
8ac94b2cf4
Add Incremental Snapshot support to RPC ( #19559 )
...
#### Problem
There's no way to get incremental snapshot information from RPC.
#### Summary of Changes
- Add new RPC method, `getHighestSnapshotSlot` that returns a `SnapshotSlotInfo`, which contains both the highest full snapshot slot, and the highest incremental snapshot slot _based on_ the full snapshot.
- Deprecate old RPC method, `getSnapshotSlot`
- Update API docs
Fixes #19579
2021-09-02 15:25:42 -05:00
Lijun Wang
8378e8790f
Accountsdb replication installment 2 ( #19325 )
...
This is the 2nd installment for the AccountsDb replication.
Summary of Changes
The basic google protocol buffer protocol for replicating updated slots and accounts. tonic/tokio is used for transporting the messages.
The basic framework of the client and server for replicating slots and accounts -- the persisting of accounts in the replica-side will be done at the next PR -- right now -- the accounts are streamed to the replica-node and dumped. Replication for information about Bank is also not done in this PR -- to be addressed in the next PR to limit the change size.
Functionality used by both the client and server side are encapsulated in the replica-lib crate.
There is no impact to the existing validator by default.
Tests:
Observe the confirmed slots replicated to the replica-node.
Observe the accounts for the confirmed slot are received at the replica-node side.
2021-09-01 14:10:16 -07:00
Brooks Prumo
1d5a8ebc6a
Revert "Add LastFullSnapshotSlot to SnapshotConfig ( #19341 )" ( #19529 )
...
This reverts commit 4d361af976
.
2021-08-31 22:03:19 -05:00