StatusDeque split into separate objects with their own root checkpoint strategy (#2613)
Split up StatusDeque into different modules * LastIdQueue tracks last_ids * StatusCache keeps track of signature statuses * StatusCache stores success as a bit in a bloom filter * Overhead for 1m Ok transactions is 4mb in memory * Less concurrency between the objects, last_id and status_cache are read and written to at different points in the pipeline * Each object has its own strategy for merging into the root checkpoint
This commit is contained in:
committed by
GitHub
parent
609e915169
commit
2754ceec60
@@ -4,7 +4,7 @@ extern crate test;
|
||||
|
||||
use solana::bank::*;
|
||||
use solana::genesis_block::GenesisBlock;
|
||||
use solana::status_deque::MAX_ENTRY_IDS;
|
||||
use solana::last_id_queue::MAX_ENTRY_IDS;
|
||||
use solana_sdk::hash::hash;
|
||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||
use solana_sdk::system_transaction::SystemTransaction;
|
||||
|
@@ -8,8 +8,8 @@ use solana::bank::Bank;
|
||||
use solana::banking_stage::BankingStage;
|
||||
use solana::entry::Entry;
|
||||
use solana::genesis_block::GenesisBlock;
|
||||
use solana::last_id_queue::MAX_ENTRY_IDS;
|
||||
use solana::packet::to_packets_chunked;
|
||||
use solana::status_deque::MAX_ENTRY_IDS;
|
||||
use solana_sdk::hash::hash;
|
||||
use solana_sdk::pubkey::Pubkey;
|
||||
use solana_sdk::signature::{Keypair, KeypairUtil, Signature};
|
||||
|
Reference in New Issue
Block a user