Pankaj Garg
789fff2ae2
Replace LeaderScheduler with LeaderScheduler1 ( #2962 )
...
* Migrate to LeaderScheduler1 (and added some missing methods)
* Delete LeaderScheduler
* Rename LeaderScheduler1 to LeaderScheduler
2019-02-26 22:16:18 -07:00
Michael Vines
a669241cb1
Add/use get_tmp_ledger_path!() and tmp_copy_blocktree!()
2019-02-26 17:50:43 -08:00
Michael Vines
897279eddb
Encapsulate log::Level so counter macro users don't need to use it
2019-02-25 20:01:30 -08:00
Carl
3e893ffddc
Remove max_tick_height, leader_scheduler from broadcast_service
2019-02-25 18:17:36 -08:00
Michael Vines
6088b3bfc8
Replace DEFAULT_SLOT_HEIGHT with 0
2019-02-25 13:09:13 -08: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
Michael Vines
8790a92f07
Adjust create_counter to avoid imposing an AtomicUsize import on users
2019-02-13 20:24:04 -08:00
Sagar Dhawan
8b39eb5e4e
Replace Blob Ids with Forward property ( #2734 )
...
* Replace Blob Id with Blob forwarding
* Update simulation to properly propagate blobs
2019-02-12 10:56:48 -08:00
Michael Vines
1c61415cee
Remove stale TODO. #1899 was resolved a while ago
2019-02-09 16:57:46 -08:00
carllin
1278396bd5
Cleanup consecutive entries code from window_service ( #2697 )
...
* Remove returning entries from db_ledger on insert
* Fix tests to check for correctness
* Delete generate_repairs and max_repair_entry_height
2019-02-08 14:19:28 -08:00
carllin
6e7c5f205b
Rename db_ledger to blocktree ( #2698 )
2019-02-07 20:52:39 -08:00
carllin
fd7db7a954
Support multiple forks in the ledger ( #2277 )
...
* Modify db_ledger to support per_slot metadata, add signal for updates, and add chaining to slots in db_ledger
* Modify replay stage to ask db_ledger for updates based on slots
* Add repair send/receive metrics
* Add repair service, remove old repair code
* Fix tmp_copy_ledger and setup for tests to account for multiple slots and tick limits within slots
2019-02-07 15:10:54 -08:00
Michael Vines
1f0b3f954a
leader_scheduler: replace older terminology with ticks, slots and epochs
2019-02-07 10:42:57 -08:00
Michael Vines
c5a74ada05
leader_scheduler: remove bootstrap_height
2019-02-06 14:23:10 -08:00
Sagar Dhawan
7a6d730db3
Skip retransmit when node is leader ( #2625 )
...
* Skip retransmit when node is leader
* Fix window test
2019-02-01 14:30:26 -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
Rob Walker
022a97da99
revert revert of kill window ( #2427 )
...
* remove window code from most places
* window used only for testing
* remove unecessary clippy directives
2019-01-15 10:51:53 -08:00
Rob Walker
447243f994
Revert "remove window code from most places" ( #2417 )
...
* Revert "Fix link to book in Local Testnet section (#2416 )"
This reverts commit 710c0c9980
.
* Revert "Add current leader information to dashboard (#2413 )"
This reverts commit f0300c1711
.
* Revert "remove window code from most places (#2389 )"
This reverts commit e3c0bd5a3f
.
2019-01-14 15:11:18 -08:00
Rob Walker
e3c0bd5a3f
remove window code from most places ( #2389 )
...
* remove window code from most places
* window used only for testing
* remove unecessary clippy directives
2019-01-14 12:11:55 -08: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
b648f37b97
encapsulate erasure_cf ( #2349 )
2019-01-09 10:21:55 -08:00
Rob Walker
a904e15ecc
enscapsulate data_cf ( #2336 )
...
* enscapsulate data_cf
2019-01-08 15:53:44 -08:00
Rob Walker
bafd90807d
encapsulate meta_cf ( #2335 )
2019-01-08 11:41:55 -08: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
Michael Vines
034c5d0422
db_ledger now fully encapsulates rocksdb
2018-12-20 12:32:25 -08:00
Michael Vines
93fb61dc8f
Re-export rocksdb::DBRawIterator until it can be encapsulated
2018-12-20 10:38:03 -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
Rob Walker
a65022aed7
DbLedger doesn't need to be mut, doesn't need an RwLock ( #2215 )
...
* DbLedger doesn't need to be mut, doesn't need an RwLock
* fix erasure cases
2018-12-18 15:18:57 -08:00
carllin
9720ac0019
Fix try_erasure() ( #2185 )
...
* Fix try_erasure bug
* Re-enable asserts in test_replicator_startup
* Add test for out of order process_blobs
2018-12-17 15:34:19 -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
Stephen Akridge
7cdbbfa88e
Storage stage updates
...
* Remove logging init from storage program: saw a crash in a test
indicating the logger being init'ed twice.
* Add entry_height mining proof to indicate which segment the result is
for
* Add an interface to get storage miner pubkeys for a given entry_height
* Add an interface to get the current storage mining entry_height
* Set the tvu socket to 0.0.0.0:0 in replicator to stop getting entries
after the desired ledger segment is downloaded.
* Use signature of PoH height to determine which block to download for
replicator.
2018-12-13 11:30:12 -08:00
Rob Walker
4f48f1a850
add db_ledger genesis, rework to_blob(), to_blobs() ( #2135 )
2018-12-12 20:42:12 -08:00
carllin
ae903f190e
Broadcast for slots ( #2081 )
...
* Insert blobs into db_ledger in broadcast stage to support leader to validator transitions
* Add transmitting real slots to broadcast stage
* Handle real slots instead of default slots in window
* Switch to dummy repair on slots and modify erasure to support leader rotation
* Shorten length of holding locks
* Remove logger from replicator test
2018-12-12 15:58:29 -08:00
Sagar Dhawan
4788a4f775
Correctly describe repair and retransmit peers ( #2110 )
2018-12-11 15:51:47 -08:00
Greg Fitzgerald
5e703dc70a
Free up the term 'replicate' for exclusive use in replicator
...
Also, align Sockets field names with ContactInfo.
2018-12-10 15:26:43 -07: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
c49e2f8bbd
cargo +nightly fix --features=bpf_c,cuda,erasure,chacha --edition
2018-12-08 23:19:55 -07:00
Greg Fitzgerald
ec5a8141eb
cargo fix --edition
2018-12-08 23:19:55 -07: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
carllin
9c30bddb88
Rocks db erasure decoding ( #1900 )
...
* Change erasure to consume new RocksDb window
* Change tests for erasure
* Remove erasure from window
* Integrate erasure decoding back into window
* Remove corrupted blobs from ledger
* Replace Erasure result with result module's Result
2018-12-05 12:47:19 -08:00
Michael Vines
c99f93e40a
Remove signature.rs indirection
2018-12-03 13:50:00 -08:00
carllin
4ae58cc854
Change range of leader scheduler to match current broadcasts ( #1920 )
2018-12-03 00:10:43 -08:00
carllin
57a384d6a0
Rocks db window service ( #1888 )
...
* Add db_window module for windowing functions from RocksDb
* Replace window with db_window functions in window_service
* Fix tests
* Make note of change in db_window
* Create RocksDb ledger in bin/fullnode
* Make db_ledger functions generic
* Add db_ledger to bin/replicator
2018-11-24 19:32:33 -08:00
carllin
521de13571
Add maximum repair length to db_window ( #1886 )
...
* Add maximum repair length to db_window
2018-11-21 23:44:49 -08:00
carllin
d9dabdfc74
Rocks db window utils ( #1851 )
...
* Implement new ledger module based on RocksDb
* Add db_window module for windowing functions from RocksDb
2018-11-19 23:20:18 -08:00