Re-sync#3
Closed
rustopian wants to merge 541 commits intocreate-prefunded-accountfrom
Closed
Conversation
Modify geyser test to avoid flushing the write cache
* Refactor ClientOption to solana-client crate * cargo.toml style
mark handle_chunks as non-async
* build(deps): bump solana-keypair from 3.0.0 to 3.0.1 Bumps [solana-keypair](https://github.com/anza-xyz/solana-sdk) from 3.0.0 to 3.0.1. - [Release notes](https://github.com/anza-xyz/solana-sdk/releases) - [Commits](https://github.com/anza-xyz/solana-sdk/compare/sdk@v3.0.0...keypair@v3.0.1) --- updated-dependencies: - dependency-name: solana-keypair dependency-version: 3.0.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump solana-message from 3.0.0 to 3.0.1 Bumps [solana-message](https://github.com/anza-xyz/solana-sdk) from 3.0.0 to 3.0.1. - [Release notes](https://github.com/anza-xyz/solana-sdk/releases) - [Commits](https://github.com/anza-xyz/solana-sdk/compare/sdk@v3.0.0...keypair@v3.0.1) --- updated-dependencies: - dependency-name: solana-message dependency-version: 3.0.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ci: resume lable actions
This PR fixes the problem with `ConnectionWorker` that does not subscribe to the close event, only discovering connection failures when send operations fail by introducing the following changes: * Monitor connection.closed() concurrently with transaction processing in Active state * Add handle_connection_closed() method to log and categorize close reasons * Distinguish fatal errors (VersionMismatch, LocallyClosed) from recoverable ones * Check connection health before each transaction send to avoid operations on closed connections
…a-xyz#6517) Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12. - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@1.1.11...v1.1.12) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 1.1.12 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump solana-sanitize from 3.0.0 to 3.0.1 Bumps [solana-sanitize](https://github.com/anza-xyz/solana-sdk) from 3.0.0 to 3.0.1. - [Release notes](https://github.com/anza-xyz/solana-sdk/releases) - [Commits](https://github.com/anza-xyz/solana-sdk/compare/sdk@v3.0.0...keypair@v3.0.1) --- updated-dependencies: - dependency-name: solana-sanitize dependency-version: 3.0.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump solana-transaction from 3.0.0 to 3.0.1 Bumps [solana-transaction](https://github.com/anza-xyz/solana-sdk) from 3.0.0 to 3.0.1. - [Release notes](https://github.com/anza-xyz/solana-sdk/releases) - [Commits](https://github.com/anza-xyz/solana-sdk/compare/sdk@v3.0.0...keypair@v3.0.1) --- updated-dependencies: - dependency-name: solana-transaction dependency-version: 3.0.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Enable feature `rustls-tls-native-roots` for `reqwest` to some cli apps
…lana-address (anza-xyz#7737) * re-export types used in rpc-client-types public api * don't alias TransactionResult * use solana-address instead of solana-pubkey * update lock file
Bumps [google-github-actions/auth](https://github.com/google-github-actions/auth) from 2 to 3. - [Release notes](https://github.com/google-github-actions/auth/releases) - [Changelog](https://github.com/google-github-actions/auth/blob/main/CHANGELOG.md) - [Commits](google-github-actions/auth@v2...v3) --- updated-dependencies: - dependency-name: google-github-actions/auth dependency-version: '3' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ed functions (and more) (anza-xyz#7775) * remove duplicates / switch unspecified to localhost, migrate to non-deprecated equivalents * move suggested tests to sockets
Addressing issue anza-xyz#6698 Turbine creates more resigned shreds than necessary Summary of commits squashed: * unit tests pass. local validator not working yet * Works locally. Tweaked algorithm on splitting out signed FEC set. * Incorporated Greg's feedback. All unit-tests in solana-ledger pass. * Fixed failing test_multi_fec_block_coding. Used DATA_SHREDS_PER_FEC_BLOCK instead of hardcoding 64. * Removed design comment as per Alex's feedback * Updated comments. Put function behind feature gate.
…anza-xyz#7765) get_slot_leaders RPC was failing with "Invalid slot range: leader schedule for epoch X is unavailable" for approximately 31 slots during every epoch transition. This PR fixes it by doing the following: * Add fallback to leader_schedule_utils::leader_schedule() on cache miss * Enables on-demand computation when bank has stake information available * Preserves all existing behavior and error handling * No performance impact for cached schedules
* shred_fetch: enforce fixed fec sets * pr feedback: move shred validation to shred.rs * pr feedback: rename stats bad -> misaligned * pr feedback: get_erasure_config return error on data shred * pr feedback: only update root things every 400ms
) * build(deps): bump tracing-subscriber from 0.3.7 to 0.3.20 Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.7 to 0.3.20. - [Release notes](https://github.com/tokio-rs/tracing/releases) - [Commits](tokio-rs/tracing@tracing-subscriber-0.3.7...tracing-subscriber-0.3.20) --- updated-dependencies: - dependency-name: tracing-subscriber dependency-version: 0.3.20 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ew()` when it derives `Default` (anza-xyz#7750) Problem GeyserPluginManager derives default and implements new() with takes no arguments and effectively calls default(). Summary of Changes Removes GeyserPluginManager::new()
This reverts commit c278df4.
test_config takes unique non-overlapping port
…anza-xyz#8068) The solana-test-validator in validator package calls old faucet test api, which we want to deprecate in anza-xyz#7912 In this PR, solana-test-validator spawn local faucet directly, omitting the (deprecated soon) faucet test helper function.
* remove deprecated public-release flag * add logic to exclude validator operator bins from release tarball
* build(deps): bump serde_with from 3.14.0 to 3.14.1 Bumps [serde_with](https://github.com/jonasbb/serde_with) from 3.14.0 to 3.14.1. - [Release notes](https://github.com/jonasbb/serde_with/releases) - [Commits](jonasbb/serde_with@v3.14.0...v3.14.1) --- updated-dependencies: - dependency-name: serde_with dependency-version: 3.14.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump proptest from 1.7.0 to 1.8.0 Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.7.0 to 1.8.0. - [Release notes](https://github.com/proptest-rs/proptest/releases) - [Changelog](https://github.com/proptest-rs/proptest/blob/main/CHANGELOG.md) - [Commits](proptest-rs/proptest@v1.7.0...v1.8.0) --- updated-dependencies: - dependency-name: proptest dependency-version: 1.8.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
update_index to avoid vec copy
…za-xyz#7912) deprecate run_local_faucet / run_local_faucet_with_port
…#8121) * (Alpenglow) Upstream vote_history and vote_history_storage. * Add more tests. * Add more test for NullVoteHistoryStorage.
anza-xyz#7719) * fix: use proper serialization for versioned messages in get_fee_for_message * Clippy satiated Co-authored-by: kirill lykov <lykov.kirill@gmail.com> * Try harder to satiate clippy --------- Co-authored-by: Steven Luscher <steveluscher@users.noreply.github.com> Co-authored-by: kirill lykov <lykov.kirill@gmail.com>
* added metrics on connection table sizes * report metrics on unstaked vs staked connections opened
* new atomic token bucket implemenation Adds TokenBucket and KeyedRateLimiter to replace governor crate and in general allow for better control over rate-limiting options * shuttle test
* build(deps): bump serde from 1.0.225 to 1.0.226 Bumps [serde](https://github.com/serde-rs/serde) from 1.0.225 to 1.0.226. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](serde-rs/serde@v1.0.225...v1.0.226) --- updated-dependencies: - dependency-name: serde dependency-version: 1.0.226 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* simd-0321: provide offset to instruction data in vm r2 * update tests * review feedback * review feedback 2
The file wasn't refreshed properly in anza-xyz#7676.
* build(deps): bump rustls from 0.23.31 to 0.23.32 Bumps [rustls](https://github.com/rustls/rustls) from 0.23.31 to 0.23.32. - [Release notes](https://github.com/rustls/rustls/releases) - [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md) - [Commits](rustls/rustls@v/0.23.31...v/0.23.32) --- updated-dependencies: - dependency-name: rustls dependency-version: 0.23.32 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
When the exit signal is set to true, the streamer's tasks are not exit because not all of them track exit. In this PR, we introduce CancellationToken instead of exit for nonblocking::streamer. This is the only way to gracefully close connection tasks. It introduces spawn_server_with_cancel and deprecates spawn_server which uses exit. So all the tests has been changed to reflect this change.
* build(deps): bump anyhow from 1.0.99 to 1.0.100 Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.99 to 1.0.100. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](dtolnay/anyhow@1.0.99...1.0.100) --- updated-dependencies: - dependency-name: anyhow dependency-version: 1.0.100 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update all Cargo files * lint --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: yihau <yihau.chen@icloud.com>
* vote-program: init v4 support * vote-handler-v4: impl `set_new_authorized_voter` * vote-handler-v4: impl `credits_for_vote_at_index` * vote-handler-v4: impl `increment_credits` * vote-handler-v4: impl `process_timestamp` * vote-handler-v4: impl `pop_expired_votes` * vote-handler-v4: impl `double_lockouts` * vote-handler-v4: impl `process_next_vote_slot` * vote-handler-v4: impl `set_vote_account_state` * review: fix up `get_and_update_authorized_voter` * review: unify constructors for `VoteStateV4` * review: other smaller comments * review: no more free functions
* remove unused s3 upload function * remove unused appveyor upload logic
add num_reclaims stat
The chained merkle root hash argument to Shredder is currently an Option<Hash>. However, chained merkle shreds are active on all clusters so this is always a Some(_) in production. To continue the cleanup of shreds, remove the Option<_> from the argument at Shredder and update all callers. Some underlying shred code still takes an Option<Hash>, but that will be addressed at a later time
Adds feature gate of account_data_direct_mapping to feature set.
rustopian
pushed a commit
that referenced
this pull request
Oct 22, 2025
* Apply the retry code to the async pubsub client
Create a test server
```ts
import http from "http";
import { WebSocketServer } from "ws";
let attemptCount = 0;
const server = http.createServer();
const wss = new WebSocketServer({ noServer: true });
wss.on("connection", (ws) => {
ws.send("Connection accepted.");
ws.on("message", (msg) => console.log(`Received: ${msg}`));
});
server.on("upgrade", (req, socket, head) => {
attemptCount += 1;
if (attemptCount <= 4) {
socket.write("HTTP/1.1 429 Too Many Requests\r\n\r\n");
socket.destroy();
console.log(`Rejected connection #${attemptCount} (429)`);
return;
}
wss.handleUpgrade(req, socket, head, (ws) => {
wss.emit("connection", ws, req);
console.log("Connection accepted on attempt", attemptCount);
});
});
server.listen(8080, () => {
console.log("Server listening on port 8080");
});
```
Run `test_slot_subscription_async`:
```
Rejected connection #1 (429)
Rejected connection #2 (429)
Rejected connection #3 (429)
Rejected connection #4 (429)
Connection accepted on attempt 5
Received: {"id":1,"jsonrpc":"2.0","method":"slotSubscribe","params":[]}
```
* `s/async_with_retry/with_retry/`
rustopian
pushed a commit
that referenced
this pull request
Nov 20, 2025
* Apply the retry code to the async pubsub client
Create a test server
```ts
import http from "http";
import { WebSocketServer } from "ws";
let attemptCount = 0;
const server = http.createServer();
const wss = new WebSocketServer({ noServer: true });
wss.on("connection", (ws) => {
ws.send("Connection accepted.");
ws.on("message", (msg) => console.log(`Received: ${msg}`));
});
server.on("upgrade", (req, socket, head) => {
attemptCount += 1;
if (attemptCount <= 4) {
socket.write("HTTP/1.1 429 Too Many Requests\r\n\r\n");
socket.destroy();
console.log(`Rejected connection #${attemptCount} (429)`);
return;
}
wss.handleUpgrade(req, socket, head, (ws) => {
wss.emit("connection", ws, req);
console.log("Connection accepted on attempt", attemptCount);
});
});
server.listen(8080, () => {
console.log("Server listening on port 8080");
});
```
Run `test_slot_subscription_async`:
```
Rejected connection #1 (429)
Rejected connection #2 (429)
Rejected connection #3 (429)
Rejected connection #4 (429)
Connection accepted on attempt 5
Received: {"id":1,"jsonrpc":"2.0","method":"slotSubscribe","params":[]}
```
* `s/async_with_retry/with_retry/`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update from latest