Skip to content

Instantly share code, notes, and snippets.

View aeyakovenko's full-sized avatar

anatoly yakovenko aeyakovenko

View GitHub Profile
test: test_one_fullnode_rotate_every_tick_with_transactions
PR with changes: https://github.com/solana-labs/solana/pull/2782
use fnv::FnvHasher;
pub const REFRESH_RATE: u64 = 1000;
struct Sched {
seed: u64,
ranks: Vec<(Pubkey, u64)>,
}
impl Sched {
bash-3.2$ cargo watch -x 'test replay_stage_correctness'
[Running cargo test replay_stage_correctness]
Finished dev [unoptimized + debuginfo] target(s) in 3.94s
Running target/debug/deps/solana-0d9433813e2adc81
running 1 test
thread 'solana-replay-stage' panicked at 'attempt to subtract with overflow', src/replay_stage.rs:72:24
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
///ERROR:
--> src/accounts.rs:196:9
|
192 | pub fn account_values_slow<R>(&self, fork: u64) -> R
| - expected `R` because of return type
...
196 | self.accounts.iter().map(|(k, v)| (fork, (k, v)))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter, found struct
enum Contract {
/// Promise to sign a valid request within the `time_guarantee`
Promised{promise: Promise, time_guarantee: u64, sol_to_eth: u64},
/// Request has been made, the Promisee need's to sign before `expires`
Requested{promise: Promise, valid_request: Request, expires: u64},
/// Request has been signed
Signed(Vec<u8>),
/// Request has expired
Expired,
}
[Running cargo test]
Compiling solana v0.9.0 (file:///Users/anatolyyakovenko/solana)
error[E0271]: type mismatch resolving `<std::sync::mpsc::TryIter<'_, (std::vec::Vec<transaction::Transaction>, hash::Hash)> as std::iter::IntoIterator>::Item == &(std::vec::Vec<transaction::Transaction>, hash::Hash)`
--> src/banking_stage.rs:122:90
|
122 | for (processed_transactions, hash) in [transaction_receiver.recv()?].into_iter().chain(transaction_receiver.try_iter()) {
| ^^^^^ expected tuple, found reference
|
= note: expected type `(std::vec::Vec<transaction::Transaction>, hash::Hash)`
found type `&(std::vec::Vec<transaction::Transaction>, hash::Hash)`
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Clone)]
struct Program {
/// program_id maps to an entry point
program_id: Pubkey,
/// These indecies point to Transaction::keys array and accounts for those keys will be loaded
/// for execution
keys: Vec<u8>,
/// Userdata to pass along each call
userdata: Vec<u8>,
}
Running target/release/deps/bank-74a6dbbf9609ab70
Gnuplot not found, disabling plotting
bench_process_transaction
time: [3.4117 ms 3.4268 ms 3.4306 ms]
change: [+5.0816% +5.3789% +5.6761%] (p = 0.16 > 0.05)
No change in performance detected.
Gnuplot not found, disabling plotting
Running target/release/deps/banking_stage-f898ed5a505232ef
Gnuplot not found, disabling plotting
Running target/release/deps/bank-6a498fea1a2244cd
Gnuplot not found, disabling plotting
bench_process_transaction
time: [3.2463 ms 3.2464 ms 3.2467 ms]
change: [+11.439% +11.555% +11.672%] (p = 0.17 > 0.05)
No change in performance detected.
Gnuplot not found, disabling plotting
Running target/release/deps/banking_stage-9445c985544e6260
Gnuplot not found, disabling plotting
```
Running target/release/deps/bank-74a6dbbf9609ab70
Gnuplot not found, disabling plotting
bench_process_transaction
time: [2.9073 ms 2.9085 ms 2.9131 ms]
change: [-17.115% -16.730% -16.343%] (p = 0.11 > 0.05)
No change in performance detected.
Gnuplot not found, disabling plotting
Running target/release/deps/banking_stage-f898ed5a505232ef