Commit Graph

544 Commits

Author SHA1 Message Date
c0bffb56df Update Avalanche to use Epoch Stakes () 2019-04-19 22:31:40 -07:00
970cc32e65 Fix Data Plane computation when stakes are equal () 2019-04-19 21:07:21 -07:00
3ab492ccf8 save erasure set size, initialize coding blob erasures with that size ()
* save erasure set size, initialize coding blob erasures with that size

* fixup

* fixup
2019-04-19 20:22:51 -07:00
c3155a6e39 silence sigverify disabled, make disabling sigverify easier ()
* silence sigverify disabled, make disabling sigverify easier

* fixup
2019-04-19 14:18:19 -07:00
320bd66c84 handle zero num_will_fit ()
* handle zero num_will_fit

* clippy
2019-04-19 12:02:33 -07:00
512bfc93cb Add a cache for leader schedules ()
* Add a cache for leader schedules
2019-04-19 02:39:44 -07:00
6eac5951ed Revert "Revert "revert-revert-erasure and erasure fixes ()" ()" ()
This reverts commit 596f611ede.
2019-04-18 21:56:43 -07:00
475a74d37f Reduce packet recv batches ()
* Reduce packet recv batches

* Fix type
2019-04-18 19:24:37 -07:00
7e409a13cd Ack on empty Gossip Pull Responses and keep Entrypoint around ()
* Ack on empty Gossip Pull Responses and keep Entrypoint around

* Address comments and fix test

* Update core/src/cluster_info.rs

Co-Authored-By: sagar-solana <sagar@solana.com>

* Update core/src/cluster_info.rs

Co-Authored-By: sagar-solana <sagar@solana.com>
2019-04-18 15:12:17 -07:00
67b8ad6a0f fix entries.to_blobs() ()
* * rename Entry::serialized_size() to Entry::to_blob_size() to better
    reduce confusion with bincode, et al. and to better reflect its
    real meaning

* fix implementation of to_blob_size() to actually return what happens
    when we do entries.to_blobs() (i.e. we serialize Vec<Entry>, not Entry)

* update tests to be more rigorous

* clippy
2019-04-18 14:45:41 -07:00
a9cfae486c Revert-revert migrate to ed25519-dalek crate ()
* Revert "Revert "Migrate from ring to ed25519-dalek, take 2 ()" ()"

This reverts commit 6a878602f2.

* Fix Signature::verify method
2019-04-18 14:37:20 -06:00
f2187780d2 Do not forward vote transactions () 2019-04-18 11:18:49 -07:00
6a878602f2 Revert "Migrate from ring to ed25519-dalek, take 2 ()" ()
This reverts commit e9b82bacda.
2019-04-18 11:47:34 -06:00
f8543a268f solana-gossip now displays other spy nodes and contact info age () 2019-04-18 09:48:21 -07:00
e9b82bacda Migrate from ring to ed25519-dalek, take 2 ()
* Migrate from ring to ed25519-dalek

* Move gen_keypair_file test to a more appropriate location

* Fixup bench-exchange and add helper fn for single deterministic keypair

* Update golden
2019-04-18 10:38:32 -06:00
2f4a3ed190 Use a separate channel to process votes in banking stage ()
- This will help expedite the vote processing on peer nodes
2019-04-17 21:07:45 -07:00
aa21f5343a Remove broken read().unwrap() call to a non-shared packet 2019-04-17 21:24:40 -05:00
9c2809db21 Delete SharedPackets ()
* Delete SharedPackets

* Fix bench and sigverify
2019-04-17 18:15:50 -07:00
596f611ede Revert "revert-revert-erasure and erasure fixes ()" ()
This reverts commit 6bef16a6a1.
2019-04-17 18:04:30 -07:00
2b3218b5f2 Fix flaky tests by waiting for test node to boot () 2019-04-17 17:50:34 -07:00
a2c8e3952f Fixes to TPS calculation and reporting ()
Fixes to TPS calculations and reporting
2019-04-17 15:37:01 -07:00
6bef16a6a1 revert-revert-erasure and erasure fixes ()
* fix erasure, more tests for full blobs, more metrics

* Revert "Revert "Use Rust erasure library and turn on erasure ()" ()"

This reverts commit 4b8cb72977.
2019-04-17 15:13:54 -07:00
01657ddfe7 packet.rs optimizations ()
* packet.rs optimizations

* remove redundant and aggressive metric submission

* remove metrics submit(), get compiling again, honor log level in inc()
2019-04-17 14:14:57 -07:00
4b8cb72977 Revert "Use Rust erasure library and turn on erasure ()" ()
This reverts commit b9bb5af4a5.
2019-04-17 12:52:12 -07:00
b9bb5af4a5 Use Rust erasure library and turn on erasure ()
* split out erasure into new crate; add implementation using rust reed-solomon-library

* Track erasures with a &[bool] instead of indexes

* fix bug that reported the number of erasures incorrectly

* Introduce erasure `Session` for consistent config

* Increase test coverage; fix bugs

* Add ability to remove blobs from erasure meta tracking. test added

* Track deletion of coding blobs in blocktree via ErasureMeta. Added to
test

* Remove unused functions in blocktree

* add randomness to recovery thread to exercise recovery due to either new
data or coding blobs

* Add unit test for ErasureMeta index handling

* Re-enable test in broadcast stage
2019-04-16 23:00:24 -05:00
e94f268346 reduce sigverify verbosity () 2019-04-16 18:25:53 -07:00
63d66ece57 net/ testnet nodes now stake more lamports ()
* Add --bootstrap-leader-lamports

* Generalize --no-stake into --stake NUM

* Use a large stake for net/ fullnodes

* Setup vote account before starting fullnode to avoid mixed log output
2019-04-16 13:03:01 -07:00
d77359914f Log the spy node id by default for better debug () 2019-04-15 20:58:37 -07:00
3fcf03ff3e Refactor LocalCluster and add support for listener nodes () 2019-04-15 15:27:45 -07:00
80f3568062 Upgrade to Rust 1.34.0 ()
* Upgrade to Rust 1.34.0

* Remove redundant closures

Thanks Clippy!
2019-04-15 15:56:08 -06:00
d026ebb83a Use tvu_peers() since validators no longer run an RPC port by default () 2019-04-15 13:25:09 -07:00
64c6f05da2 persist set_root() and use it in blocktree_processor to limit squashes ()
* rename locktower's slot to epoch

* persist set_root() and use it in blocktree_processor to limit squashes
2019-04-15 13:12:28 -07:00
5c4689a326 rename locktower's slot to epoch () 2019-04-15 10:46:14 -07:00
6859907df9 more rigorous erasure constants, comments ()
* more rigorous erasure constants, comments

* new header size means new golden
2019-04-14 21:10:09 -07:00
de52747950 remove max_tick_height replicode () 2019-04-14 19:15:31 -07:00
bd1db51e07 delete db_window.rs, move contents to window_service, clean up process_blobs () 2019-04-14 18:52:05 -07:00
dd005fb50e fix broadcast to *always* call erasure generation, simplify generator, test slot reset better () 2019-04-14 18:12:37 -07:00
542bafeb71 groom packet.rs, add blob.data alignment () 2019-04-14 17:30:08 -07:00
e57a0ab05d test some bits () 2019-04-14 17:10:30 -07:00
2c745ce108 Shorten recv wait when there are buffered packets in banking stage ()
- packets are buffered on leader rotation, when the next leader is
  unknown
- shortening the wait allows the banking stage to poll for next
  leader more frequently
2019-04-14 12:34:07 -07:00
f6aa90e193 Add fullnode --dynamic-port-range option 2019-04-14 07:08:29 -07:00
2277a39dd2 Default solana-gossip log-level to 'info' 2019-04-14 07:07:15 -07:00
ee35ed5250 Refactored buffered packet forwarding code ()
- Added unit tests
- Don't consume packets if bank is not known
2019-04-13 23:19:54 -07:00
92b5e131fe Name sigverify threads 2019-04-13 11:24:36 -07:00
1e8f83a74a Use a better name for new api 2019-04-12 14:58:22 -07:00
1db80d79fc Update get recent blockhashes to return confirmed blockhashes only 2019-04-12 14:58:22 -07:00
1dac4c33b8 Change sigverify counter from entries to packets
batch or entries kind of useless since it can have some
variable number of packets
2019-04-12 13:19:46 -07:00
44ebfa736a Don't forward buffered packet to the same node ()
- instead, process the packets
2019-04-11 17:23:45 -07:00
877ec08280 Send recent votes in Vote Transactions () 2019-04-11 14:48:36 -07:00
efd19b07e7 implement erasure-based recovery inside blocktree ()
* implement recover in blocktree

* erasures metric

* erasure metrics only

* fixup
2019-04-11 14:14:57 -07:00