Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chunk blobs into window size to avoid window overrun #449

Closed
wants to merge 1 commit into from

Conversation

sakridge
Copy link
Member

Fixes #447

src/streamer.rs Outdated
let mut blobs: Vec<_> = dq.into_iter().collect();
let blobs_vec: Vec<_> = dq.into_iter().collect();
let blobs_chunked: Vec<_> = blobs_vec
.chunks(window.read().unwrap().len())
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fancy enough for a very long code comment.

src/streamer.rs Outdated
&mut window.write().unwrap(),
*receive_index as usize,
blobs_len,
).is_err()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like that could be reduced to something like:
.map_err(|_| Error::GenericError)?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

x.read().unwrap().get_index().unwrap(),
pos
);
recycler.recycle(x.clone());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strange place for a clone(). Is that necessary?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from @aeyakovenko yes, it's necessary. It's an element in the window array, so cannot be moved out..?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: build failed, waiting for other jobs to finish...
error[E0507]: cannot move out of borrowed content
   --> src/streamer.rs:484:38
    |
484 |                     recycler.recycle(*x);
    |                                      ^^ cannot move out of borrowed content

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@garious
Copy link
Contributor

garious commented Jun 25, 2018

Merged in #451

@garious garious closed this Jun 25, 2018
vkomenda pushed a commit to vkomenda/solana that referenced this pull request Aug 29, 2021
Bumps [prettier](https://github.com/prettier/prettier) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](prettier/prettier@2.1.1...2.1.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
godmodegalactus pushed a commit to blockworks-foundation/solana that referenced this pull request Jan 5, 2024
Use cluster info functions for tpu (solana-labs#345) (solana-labs#347)
Use git rev-parse for git sha
Remove blacklisted tx from message_hash_to_transaction (Backport solana-labs#374) (solana-labs#376)
Updates scripts for easy local setup. (solana-labs#383)
Backports sim_bundle improvements (solana-labs#407)
backports clone derivation 416 (solana-labs#417)
Backport solana-labs#419: add upsert to AccountOverrides (solana-labs#420)

backports solana-labs#430 v1.16: update jito-programs sha (solana-labs#431)

[JIT-1661] Faster Autosnapshot (solana-labs#406)

Fix Buildkite warnings (solana-labs#437)

Backport solana-labs#446 to v1.16 (solana-labs#447)

backport 428, runtime plugin (solana-labs#429)

v1.16: Backport solana-labs#449 (solana-labs#450)
godmodegalactus pushed a commit to godmodegalactus/solana that referenced this pull request Jan 10, 2024
Backport clone derivation (416) (solana-labs#418)

backports solana-labs#430: update jito-programs (solana-labs#432)

Backport solana-labs#446 to v1.17 (solana-labs#448)

[JIT-1661] Faster Autosnapshot (solana-labs#445)

v1.17: Backport solana-labs#449 (solana-labs#451)

backports solana-labs#419: add upsert to accountoverrides (solana-labs#421)

backport 428 runtime-plugin (solana-labs#458)

[JIT-1713] Fix bundle's blockspace preallocation (Backport to 1.17) (solana-labs#499)

Backport solana-labs#500 to v1.17 (solana-labs#507)

Backport solana-labs#520: add priority fees to mev claim (solana-labs#525)
godmodegalactus pushed a commit to godmodegalactus/solana that referenced this pull request Mar 22, 2024
Backport clone derivation (416) (solana-labs#418)

backports solana-labs#430: update jito-programs (solana-labs#432)

Backport solana-labs#446 to v1.17 (solana-labs#448)

[JIT-1661] Faster Autosnapshot (solana-labs#445)

v1.17: Backport solana-labs#449 (solana-labs#451)

backports solana-labs#419: add upsert to accountoverrides (solana-labs#421)

backport 428 runtime-plugin (solana-labs#458)

[JIT-1713] Fix bundle's blockspace preallocation (Backport to 1.17) (solana-labs#499)

Backport solana-labs#500 to v1.17 (solana-labs#507)

Backport solana-labs#520: add priority fees to mev claim (solana-labs#525)

Faster MEV tip claiming (v1.17) (solana-labs#568)

Backport Release Fixes (solana-labs#586)
godmodegalactus pushed a commit to godmodegalactus/solana that referenced this pull request Mar 28, 2024
Backport clone derivation (416) (solana-labs#418)

backports solana-labs#430: update jito-programs (solana-labs#432)

Backport solana-labs#446 to v1.17 (solana-labs#448)

[JIT-1661] Faster Autosnapshot (solana-labs#445)

v1.17: Backport solana-labs#449 (solana-labs#451)

backports solana-labs#419: add upsert to accountoverrides (solana-labs#421)

backport 428 runtime-plugin (solana-labs#458)

[JIT-1713] Fix bundle's blockspace preallocation (Backport to 1.17) (solana-labs#499)

Backport solana-labs#500 to v1.17 (solana-labs#507)

Backport solana-labs#520: add priority fees to mev claim (solana-labs#525)

Faster MEV tip claiming (v1.17) (solana-labs#568)

Backport Release Fixes (solana-labs#586)
godmodegalactus pushed a commit to blockworks-foundation/solana that referenced this pull request Apr 15, 2024
Backport clone derivation (416) (solana-labs#418)

backports solana-labs#430: update jito-programs (solana-labs#432)

Backport solana-labs#446 to v1.17 (solana-labs#448)

[JIT-1661] Faster Autosnapshot (solana-labs#445)

v1.17: Backport solana-labs#449 (solana-labs#451)

backports solana-labs#419: add upsert to accountoverrides (solana-labs#421)

backport 428 runtime-plugin (solana-labs#458)

[JIT-1713] Fix bundle's blockspace preallocation (Backport to 1.17) (solana-labs#499)

Backport solana-labs#500 to v1.17 (solana-labs#507)

Backport solana-labs#520: add priority fees to mev claim (solana-labs#525)

Faster MEV tip claiming (v1.17) (solana-labs#568)

Backport Release Fixes (solana-labs#586)
vovkman pushed a commit to helius-labs/solana that referenced this pull request May 11, 2024
Backport clone derivation (416) (solana-labs#418)

backports solana-labs#430: update jito-programs (solana-labs#432)

Backport solana-labs#446 to v1.17 (solana-labs#448)

[JIT-1661] Faster Autosnapshot (solana-labs#445)

v1.17: Backport solana-labs#449 (solana-labs#451)

backports solana-labs#419: add upsert to accountoverrides (solana-labs#421)

backport 428 runtime-plugin (solana-labs#458)

[JIT-1713] Fix bundle's blockspace preallocation (Backport to 1.17) (solana-labs#499)

Backport solana-labs#500 to v1.17 (solana-labs#507)

Backport solana-labs#520: add priority fees to mev claim (solana-labs#525)

Faster MEV tip claiming (v1.17) (solana-labs#568)

Backport Release Fixes (solana-labs#586)

Update release URLs for jito-solana (solana-labs#589)

Backports solana-labs#595: correctly initialize account overrides (solana-labs#599)

Fix: Ensure set contact info to UDP port instead of QUIC (solana-labs#601)

Buffer bundles that exceed processing time and make the allowed processing time longer (solana-labs#609)
godmodegalactus pushed a commit to blockworks-foundation/solana that referenced this pull request May 30, 2024
Backport clone derivation (416) (solana-labs#418)

backports solana-labs#430: update jito-programs (solana-labs#432)

Backport solana-labs#446 to v1.17 (solana-labs#448)

[JIT-1661] Faster Autosnapshot (solana-labs#445)

v1.17: Backport solana-labs#449 (solana-labs#451)

backports solana-labs#419: add upsert to accountoverrides (solana-labs#421)

backport 428 runtime-plugin (solana-labs#458)

[JIT-1713] Fix bundle's blockspace preallocation (Backport to 1.17) (solana-labs#499)

Backport solana-labs#500 to v1.17 (solana-labs#507)

Backport solana-labs#520: add priority fees to mev claim (solana-labs#525)

Faster MEV tip claiming (v1.17) (solana-labs#568)

Backport Release Fixes (solana-labs#586)

Update release URLs for jito-solana (solana-labs#589)

Backports solana-labs#595: correctly initialize account overrides (solana-labs#599)

Fix: Ensure set contact info to UDP port instead of QUIC (solana-labs#601)

Buffer bundles that exceed processing time and make the allowed processing time longer (solana-labs#609)
godmodegalactus pushed a commit to blockworks-foundation/solana that referenced this pull request Jun 10, 2024
only reroute if relayer connected (solana-labs#123)
feat: add client tls config (solana-labs#121)
remove extra val (solana-labs#129)
fix clippy (solana-labs#130)
copy all binaries to docker-output (solana-labs#131)
Ledger tool halts at slot passed to create-snapshot (solana-labs#118)
update program submodule (solana-labs#133)
quick fix for tips and clearing old bundles (solana-labs#135)
update submodule to new program (solana-labs#136)
Improve stake-meta-generator usability (solana-labs#134)
pinning submodule head (solana-labs#140)
Use BundleAccountLocker when handling tip txs (solana-labs#147)
Add metrics for relayer + block engine proxy (solana-labs#149)
Build claim-mev in docker (solana-labs#141)
Rework bundle receiving and add metrics (solana-labs#152) (solana-labs#154)
update submodule + dev files (solana-labs#158)
Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (solana-labs#159)
update jito-programs submodule (solana-labs#160)
Separate MEV tip related workflow (solana-labs#161)
Add block builder fee protos (solana-labs#162)
fix jito programs (solana-labs#163)
update submodule so autosnapshot exits out of ledger tool early (solana-labs#164)
Pipe through block builder fee (solana-labs#167)
pull in new snapshot code (solana-labs#171)
block builder bug (solana-labs#172)

Pull in new slack autosnapshot submodule (solana-labs#174)

sort stake meta json and use int math (solana-labs#176)

add accountsdb conn submod (solana-labs#169)

Update tip distribution parameters (solana-labs#177)

new submodules (solana-labs#180)

Add buildkite link for jito CI (solana-labs#183)

Fixed broken links to repositories (solana-labs#184)

Changed from ssh to https transfer for clone

Seg/update submods (solana-labs#187)

fix tests (solana-labs#190)

rm geyser submod (solana-labs#192)

rm dangling geyser references (solana-labs#193)

fix syntax err (solana-labs#195)

use deterministic req ids in batch calls (solana-labs#199)

update jito-programs

revert cargo

update Cargo lock

update with path fix

fix cargo

update autosnapshot with block lookback (solana-labs#201)

[JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (solana-labs#203)

Add logging for sol balance desired (solana-labs#205)

* add logging

* add logging

* update msg

* tweak vars

update submodule (solana-labs#204)

use efficient data structures when calling batch_simulate_bundles (solana-labs#206)

[JIT-504] Add low balance check in uploading merkle roots (solana-labs#209)

add config to simulate on top of working bank (solana-labs#211)

rm frozen bank check

simulate_bundle rpc bugfixes (solana-labs#214)

rm frozen bank check in simulate_bundle rpc method

[JIT-519] Store ClaimStatus address in merkle-root-json (solana-labs#210)

* add files

* switch to include bump

update submodule (solana-labs#217)

add amount filter (solana-labs#218)

update autosnapshot (solana-labs#222)

Print TX error in Bundles (solana-labs#223)

add new args to support single relayer and block-engine endpoints (solana-labs#224)

point to new jito-programs submod and invoke updated init tda instruction (solana-labs#228)

fix clippy errors (solana-labs#230)

fix validator start scripts (solana-labs#232)

Point README to gitbook (solana-labs#237)

use packaged cargo bin to build (solana-labs#239)

Add validator identity pubkey to StakeMeta (solana-labs#226)

The vote account associated with a validator is not a permanent link, so log the validator identity as well.

bugfix: conditionally compile with debug flags (solana-labs#240)

Seg/tip distributor master (solana-labs#242)

* validate tree nodes

* fix unit tests

* pr feedback

* bump jito-programs submod

Simplify bootstrapping (solana-labs#241)

* startup without precompile

* update spacing

* use release mode

* spacing

fix validation

rm validation skip

Account for block builder fee when generating excess tip balance (solana-labs#247)

Improve docker caching

delay constructing claim mev txs (solana-labs#253)

fix stake meta tests from bb fee (solana-labs#254)

fix tests

Buffer bundles that exceed cost model (solana-labs#225)

* buffer bundles that exceed cost model

clear qos failed bundles buffer if not leader soon (solana-labs#260)

update Cargo.lock to correct solana versions in jito-programs submodule (solana-labs#265)

fix simulate_bundle client and better error handling (solana-labs#267)

update submod (solana-labs#272)

Preallocate Bundle Cost (solana-labs#238)

fix Dockerfile (solana-labs#278)

Fix Tests (solana-labs#279)

Fix Tests (solana-labs#281)

* fix tests

update jito-programs submod (solana-labs#282)

add reclaim rent workflow (solana-labs#283)

update jito-programs submod

fix clippy errs

rm wrong assertion and swap out file write fn call (solana-labs#292)

Remove security.md (solana-labs#293)

demote frequent relayer_stage-stream_error to warn (solana-labs#275)

account for case where TDA exists but not allocated (solana-labs#295)

implement better retries for tip-distributor workflows (solana-labs#297)

limit number of concurrent rpc calls (solana-labs#298)

Discard Empty Packet Batches (solana-labs#299)

Identity Hotswap (solana-labs#290)

small fixes (solana-labs#305)

Set backend config from admin rpc (solana-labs#304)

Admin Shred Receiver Change (solana-labs#306)

Seg/rm bundle UUID (solana-labs#309)

Fix github workflow to recursively clone (solana-labs#327)

Add recursive checkout for downstream-project-spl.yaml (solana-labs#341)

Use cluster info functions for tpu (solana-labs#345)

Use git rev-parse for git sha

Remove blacklisted tx from message_hash_to_transaction (solana-labs#374)

Updates bootstrap and start scripts needed for local dev. (solana-labs#384)

Remove Deprecated Cli Args (solana-labs#387)

Master Rebase

improve simulate_bundle errors and response (solana-labs#404)

derive Clone on accountoverrides (solana-labs#416)

Add upsert to AccountOverrides (solana-labs#419)

update jito-programs (solana-labs#430)

[JIT-1661] Faster Autosnapshot (solana-labs#436)

Reverts simulate_transaction result calls to upstream (solana-labs#446)

Don't unlock accounts in TransactionBatches used during simulation (solana-labs#449)

first pass at wiring up jito-plugin (solana-labs#428)

[JIT-1713] Fix bundle's blockspace preallocation (solana-labs#489)

[JIT-1708] Fix TOC TOU condition for relayer and block engine config (solana-labs#491)

[JIT-1710] - Optimize Bundle Consumer Checks (solana-labs#490)

Add Blockhash Metrics to Bundle Committer (solana-labs#500)

add priority fee ix to mev-claim (solana-labs#520)

Update Autosnapshot (solana-labs#548)

Run MEV claims + reclaiming rent-exempt amounts in parallel. (solana-labs#582)

Update CI (solana-labs#584)
- Add recursive submodule checkouts.
- Re-add solana-secondary step
- More release fixes

Fix release process

Backports solana-labs#595: correctly initialize account overrides (solana-labs#596)

Fix: Ensure set contact info to UDP port instead of QUIC (Backport solana-labs#601 to v1.18) (solana-labs#602)

Buffer bundles that exceed processing time and make the allowed processing time longer (solana-labs#610)
vovkman pushed a commit to helius-labs/solana that referenced this pull request Jun 13, 2024
only reroute if relayer connected (solana-labs#123)
feat: add client tls config (solana-labs#121)
remove extra val (solana-labs#129)
fix clippy (solana-labs#130)
copy all binaries to docker-output (solana-labs#131)
Ledger tool halts at slot passed to create-snapshot (solana-labs#118)
update program submodule (solana-labs#133)
quick fix for tips and clearing old bundles (solana-labs#135)
update submodule to new program (solana-labs#136)
Improve stake-meta-generator usability (solana-labs#134)
pinning submodule head (solana-labs#140)
Use BundleAccountLocker when handling tip txs (solana-labs#147)
Add metrics for relayer + block engine proxy (solana-labs#149)
Build claim-mev in docker (solana-labs#141)
Rework bundle receiving and add metrics (solana-labs#152) (solana-labs#154)
update submodule + dev files (solana-labs#158)
Deterministically find tip amounts, add meta to stake info, and cleanup pubkey/strings in MEV tips (solana-labs#159)
update jito-programs submodule (solana-labs#160)
Separate MEV tip related workflow (solana-labs#161)
Add block builder fee protos (solana-labs#162)
fix jito programs (solana-labs#163)
update submodule so autosnapshot exits out of ledger tool early (solana-labs#164)
Pipe through block builder fee (solana-labs#167)
pull in new snapshot code (solana-labs#171)
block builder bug (solana-labs#172)

Pull in new slack autosnapshot submodule (solana-labs#174)

sort stake meta json and use int math (solana-labs#176)

add accountsdb conn submod (solana-labs#169)

Update tip distribution parameters (solana-labs#177)

new submodules (solana-labs#180)

Add buildkite link for jito CI (solana-labs#183)

Fixed broken links to repositories (solana-labs#184)

Changed from ssh to https transfer for clone

Seg/update submods (solana-labs#187)

fix tests (solana-labs#190)

rm geyser submod (solana-labs#192)

rm dangling geyser references (solana-labs#193)

fix syntax err (solana-labs#195)

use deterministic req ids in batch calls (solana-labs#199)

update jito-programs

revert cargo

update Cargo lock

update with path fix

fix cargo

update autosnapshot with block lookback (solana-labs#201)

[JIT-460] When claiming mev tips, skip accounts that won't have min rent exempt amount after claiming (solana-labs#203)

Add logging for sol balance desired (solana-labs#205)

* add logging

* add logging

* update msg

* tweak vars

update submodule (solana-labs#204)

use efficient data structures when calling batch_simulate_bundles (solana-labs#206)

[JIT-504] Add low balance check in uploading merkle roots (solana-labs#209)

add config to simulate on top of working bank (solana-labs#211)

rm frozen bank check

simulate_bundle rpc bugfixes (solana-labs#214)

rm frozen bank check in simulate_bundle rpc method

[JIT-519] Store ClaimStatus address in merkle-root-json (solana-labs#210)

* add files

* switch to include bump

update submodule (solana-labs#217)

add amount filter (solana-labs#218)

update autosnapshot (solana-labs#222)

Print TX error in Bundles (solana-labs#223)

add new args to support single relayer and block-engine endpoints (solana-labs#224)

point to new jito-programs submod and invoke updated init tda instruction (solana-labs#228)

fix clippy errors (solana-labs#230)

fix validator start scripts (solana-labs#232)

Point README to gitbook (solana-labs#237)

use packaged cargo bin to build (solana-labs#239)

Add validator identity pubkey to StakeMeta (solana-labs#226)

The vote account associated with a validator is not a permanent link, so log the validator identity as well.

bugfix: conditionally compile with debug flags (solana-labs#240)

Seg/tip distributor master (solana-labs#242)

* validate tree nodes

* fix unit tests

* pr feedback

* bump jito-programs submod

Simplify bootstrapping (solana-labs#241)

* startup without precompile

* update spacing

* use release mode

* spacing

fix validation

rm validation skip

Account for block builder fee when generating excess tip balance (solana-labs#247)

Improve docker caching

delay constructing claim mev txs (solana-labs#253)

fix stake meta tests from bb fee (solana-labs#254)

fix tests

Buffer bundles that exceed cost model (solana-labs#225)

* buffer bundles that exceed cost model

clear qos failed bundles buffer if not leader soon (solana-labs#260)

update Cargo.lock to correct solana versions in jito-programs submodule (solana-labs#265)

fix simulate_bundle client and better error handling (solana-labs#267)

update submod (solana-labs#272)

Preallocate Bundle Cost (solana-labs#238)

fix Dockerfile (solana-labs#278)

Fix Tests (solana-labs#279)

Fix Tests (solana-labs#281)

* fix tests

update jito-programs submod (solana-labs#282)

add reclaim rent workflow (solana-labs#283)

update jito-programs submod

fix clippy errs

rm wrong assertion and swap out file write fn call (solana-labs#292)

Remove security.md (solana-labs#293)

demote frequent relayer_stage-stream_error to warn (solana-labs#275)

account for case where TDA exists but not allocated (solana-labs#295)

implement better retries for tip-distributor workflows (solana-labs#297)

limit number of concurrent rpc calls (solana-labs#298)

Discard Empty Packet Batches (solana-labs#299)

Identity Hotswap (solana-labs#290)

small fixes (solana-labs#305)

Set backend config from admin rpc (solana-labs#304)

Admin Shred Receiver Change (solana-labs#306)

Seg/rm bundle UUID (solana-labs#309)

Fix github workflow to recursively clone (solana-labs#327)

Add recursive checkout for downstream-project-spl.yaml (solana-labs#341)

Use cluster info functions for tpu (solana-labs#345)

Use git rev-parse for git sha

Remove blacklisted tx from message_hash_to_transaction (solana-labs#374)

Updates bootstrap and start scripts needed for local dev. (solana-labs#384)

Remove Deprecated Cli Args (solana-labs#387)

Master Rebase

improve simulate_bundle errors and response (solana-labs#404)

derive Clone on accountoverrides (solana-labs#416)

Add upsert to AccountOverrides (solana-labs#419)

update jito-programs (solana-labs#430)

[JIT-1661] Faster Autosnapshot (solana-labs#436)

Reverts simulate_transaction result calls to upstream (solana-labs#446)

Don't unlock accounts in TransactionBatches used during simulation (solana-labs#449)

first pass at wiring up jito-plugin (solana-labs#428)

[JIT-1713] Fix bundle's blockspace preallocation (solana-labs#489)

[JIT-1708] Fix TOC TOU condition for relayer and block engine config (solana-labs#491)

[JIT-1710] - Optimize Bundle Consumer Checks (solana-labs#490)

Add Blockhash Metrics to Bundle Committer (solana-labs#500)

add priority fee ix to mev-claim (solana-labs#520)

Update Autosnapshot (solana-labs#548)

Run MEV claims + reclaiming rent-exempt amounts in parallel. (solana-labs#582)

Update CI (solana-labs#584)
- Add recursive submodule checkouts.
- Re-add solana-secondary step
- More release fixes

Fix release process

Backports solana-labs#595: correctly initialize account overrides (solana-labs#596)

Fix: Ensure set contact info to UDP port instead of QUIC (Backport solana-labs#601 to v1.18) (solana-labs#602)

Buffer bundles that exceed processing time and make the allowed processing time longer (solana-labs#610)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants