Anatoly Yakovenko
454c66f988
fixup!
2019-02-25 18:17:36 -08:00
Greg Fitzgerald
d67211305c
Ignore slow benchmarks
2019-02-24 23:15:05 -07:00
Greg Fitzgerald
dde886f058
Move Bank to its own crate
...
Also:
* counters.rs to solana_metrics
* genesis_block.rs to solana_sdk
2019-02-19 07:17:04 -07:00
Carl
f33c6eb95f
delete leader rotation signal from banking stage
2019-02-17 19:30:45 -07:00
Michael Vines
da5b777ee7
Purge Default::default()
2019-02-09 10:12:32 -08:00
carllin
6e7c5f205b
Rename db_ledger to blocktree ( #2698 )
2019-02-07 20:52:39 -08:00
Greg Fitzgerald
cdb2a7bef3
Move runtime benchmark
2019-02-07 09:46:06 -08:00
Michael Vines
c5a74ada05
leader_scheduler: remove bootstrap_height
2019-02-06 14:23:10 -08:00
Greg Fitzgerald
dad0bfe447
Replace transaction traits with structs
...
Also:
* SystemTransaction::new -> new_account
* SystemTransaction::new_create -> new_program_account
2019-02-01 11:38:25 -08:00
anatoly yakovenko
2754ceec60
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
2019-01-31 06:53:52 -08:00
Rob Walker
1b50fbbc90
remove Result<> from Blob accessors, add parent ( #2608 )
...
* remove Result<> from Blob accessors, add parent
* update chacha's golden
* fixup benches
2019-01-30 20:18:28 -08:00
Michael Vines
bfaf5634a1
.unwrap() in tests instead of assert!()ing .is_ok() for a better failure message
2019-01-28 16:10:32 -08:00
Greg Fitzgerald
1e43fb587e
Rename the module that now contains only GenKeys
2019-01-26 06:57:24 -08:00
Sagar Dhawan
d65e7b9fcc
Speedup rotation ( #2468 )
...
Speedup leader to validator transitions
2019-01-26 13:58:08 +05:30
Michael Vines
4bb6549895
Genesis block is now a json file
2019-01-25 09:05:15 -08:00
Rob Walker
e6030d66eb
split load+execute from commit in bank, insert record between them in TPU code ( #2487 )
...
* split load+execute from commit in bank, insert record between them in TPU code
* clippy
* remove clear_signatures() race with commit_transactions()
* add #[test] back
2019-01-21 10:17:04 -08:00
Rob Walker
1f87d9ba4a
add bloom benchmarking, perf improvement from Fnv ~= 8X ( #2477 )
...
* add bloom benchmarking, perf improvement from Fnv ~= 8X
* have a look at bits.set()
* ignore new benches to pacify CI (solana_upload_perf?)
2019-01-17 18:22:21 -08:00
Greg Fitzgerald
79b334b7f1
Don't use count_valid_ids in bench
2019-01-11 14:54:17 -07:00
Stephen Akridge
491bca5e4b
Remove ledger.rs
...
Split into entry.rs for entry-constructing functions and EntrySlice
trait and db_ledger.rs for ledger helper test functions.
2019-01-09 15:15:47 -08:00
Stephen Akridge
ebd676faaa
Rename Block to EntrySlice
2019-01-09 15:15:47 -08:00
Rob Walker
a904e15ecc
enscapsulate data_cf ( #2336 )
...
* enscapsulate data_cf
2019-01-08 15:53:44 -08:00
Greg Fitzgerald
6000df9779
Optimize has_duplicates() for short slices
2019-01-07 13:20:04 -07:00
carllin
58a4905916
Make reconstruct_entries_from_blobs() support Blobs and borrowed SharedBlobs, make distinction between to_blobs and to_shared_blobs ( #2270 )
2018-12-22 19:30:30 -08:00
Sathish
1a3387706d
Spawn threads based on cpu count ( #2232 )
2018-12-21 13:55:45 -08:00
Michael Vines
034c5d0422
db_ledger now fully encapsulates rocksdb
2018-12-20 12:32:25 -08:00
Michael Vines
37d7ad819b
Purge DB::destroy() usage
2018-12-20 10:38:03 -08:00
carllin
666af1e62d
Debug broadcast ( #2208 )
...
* Add per cf rocksdb options, increase compaction and flush threads
* Change broadcast stage to bulk write blobs
* add db_ledger function specifically for broadcast
* fix broken tests
* fix benches
2018-12-19 16:11:47 -08:00
anatoly yakovenko
4be6d01dfb
Move last ids ( #2187 )
...
* Break out last_ids into its own module
* Boot SignatureNotFound from BankError
* No longer return BankError from LastIds methods
* No longer piggypack on BankError for a LastIds signature status
* Drop all dependencies on the bank
* SignatureStatus -> Status and LastIds -> StatusDeque
* Unstable tests, issue 2193
2018-12-17 07:55:56 -08:00
carllin
9ef5e51c0f
Cleanup slot remnants in db_ledger ( #2153 )
...
* Cleanup slot remnants in db_ledger
2018-12-14 17:05:41 -08:00
Greg Fitzgerald
0ef099421c
cargo fmt
2018-12-08 23:19:55 -07:00
Greg Fitzgerald
a8d6c75a24
cargo +nightly fix --features=bpf_c,cuda,erasure,chacha --edition-idioms
2018-12-08 23:19:55 -07:00
Greg Fitzgerald
af403ba6fa
Ignore broken chacha bench
2018-12-08 23:19:55 -07:00
Sathish
2de45a4da5
Update airdrop tokens to 3 for fullnode ( #2051 )
...
Filter out leader while computing the super majority stake
2018-12-08 16:54:42 -08:00
Greg Fitzgerald
0a83b17cdd
Upgrade to Rust 1.31.0 ( #2052 )
...
* Upgrade to Rust 1.31.0
* Upgrade nightly
* Fix all clippy warnings
* Revert relaxed version check and update
2018-12-07 20:01:28 -07:00
dependabot[bot]
ad3e36a7ab
Bump rand from 0.5.5 to 0.6.1 ( #1891 )
...
* Bump rand from 0.5.5 to 0.6.1
Bumps [rand](https://github.com/rust-random/rand ) from 0.5.5 to 0.6.1.
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/commits )
Signed-off-by: dependabot[bot] <support@dependabot.com>
* Fix conflicts and deprecated usages
* Fix benches
2018-12-05 14:12:10 -08:00
Michael Vines
214ed3667c
Move system_transaction out of src/
2018-12-05 10:49:06 -08:00
Michael Vines
c99f93e40a
Remove signature.rs indirection
2018-12-03 13:50:00 -08:00
Michael Vines
0878bd53d9
Delete stub src/transaction.rs
2018-11-29 23:07:57 -08:00
carllin
942256a647
Add db_ledger benchmarks ( #1875 )
...
* Add db_ledger benchmarks
* ignore benches in CI, due to timeouts
2018-11-23 06:12:43 -08:00
Michael Vines
d96a6b42a5
Move drone into its own crate
2018-11-16 20:42:21 -08:00
Stephen Akridge
cda9ad8565
Multiple signatures for transactions
...
With multiple instructions in a TX may need
multiple signatures.
Fixes #1531
2018-11-15 16:23:13 -08:00
Sagar Dhawan
729d28d910
Add poh verification before processing entries
...
- Replicate stage now verifies entries delivered
by the window
- Minor refactor of entries_from_blobs
2018-11-13 14:17:00 -08:00
Greg Fitzgerald
c9138f964b
Change token type from i64 to u64
...
Fixes #1526
2018-11-05 15:25:26 -07:00
Rob Walker
1fbf1d2cf2
Add checkpoint, rollback to to bank ( #1662 )
...
add linked-list capability to accounts
change accounts from a linked list to a VecDeque
add checkpoint and rollback for lastids
add subscriber notifications for rollbacks
checkpoint transaction count, too
2018-11-05 09:47:41 -08:00
carllin
298bd6479a
Add first leader to genesis ( #1681 )
...
* Add first leader to genesis entries, consume in genesis.sh
* Set bootstrap leader in the bank on startup, remove instantiation of bootstrap leader from bin/fullnode
* Remove need to initialize bootstrap leader in leader_scheduler, now can be read from genesis entries
* Add separate interface new_with_leader() in mint for creating genesis leader entries
2018-11-02 14:32:05 -07:00
Rob Walker
13bfdde228
remove ledger tail code, WINDOW_SIZE begone ( #1617 )
...
* remove WINDOW_SIZE, use window.window_size()
* move ledger tail, redundant with ledger-based repair
2018-10-30 10:05:18 -07:00
Michael Vines
e47fcb196b
s/solana_program_interface/solana[_-]sdk/g
2018-10-25 12:31:45 -07:00
carllin
0bd1412562
Switch leader scheduler to use PoH ticks instead of Entry height ( #1519 )
...
* Add PoH height to process_ledger()
* Moved broadcast_stage Leader Scheduling logic to use Poh height instead of entry_height
* Moved LeaderScheduler logic to PoH in ReplicateStage
* Fix Leader scheduling tests to use PoH instead of entry height
* Change is_leader detection in repair() to use PoH instead of entry height
* Add tests to LeaderScheduler for new functionality
* fix Entry::new and genesis block PoH counts
* Moved LeaderScheduler to PoH ticks
* Cleanup to resolve PR comments
2018-10-18 22:57:48 -07:00
Rob Walker
76076d6fad
move last_id age checking into the HashMap
...
* allows for simpler chaining of banks
* looks 1.5-2% faster than looping through a VecDequeue
TODO: remove timestamp()?
2018-10-18 11:07:00 -07:00
Anatoly Yakovenko
bba6437ea9
Use a single structure for last_ids and last_ids_sigs
2018-10-12 16:39:35 -07:00