Commit Graph

73 Commits

Author SHA1 Message Date
Greg Fitzgerald
28af9a39b4 Don't clone before borrowing
Clippy told us to change function parameters to references, but
wasn't able to then tell us that the clone() before borrowing
was superfluous. This patch removes those by hand.

No expectation of a performance improvement here, since we were
just cloning reference counts. Just removes a bunch of noise.
2018-07-18 08:04:31 -04:00
anatoly yakovenko
d8c9655128 Dynamic test assert (#643)
* log responder error to warn

* log responder error to warn

* fixup!

* fixed assert

* fixed bad ports issue

* comments

* test for dummy address in Crdt::new instaad of NodeInfo::new

* return error if ContactInfo supplied to Crdt::new cannot be used to connect to network

* comments
2018-07-16 19:31:52 -07:00
Greg Fitzgerald
30f0c25b65 Fix all remaining clippy warnings
Fixes #586
2018-07-12 09:40:40 -06:00
Greg Fitzgerald
73ae3c3301 Apply most of clippy's feedback 2018-07-12 09:40:40 -06:00
Stephen Akridge
bed5438831 Improved streamer debug messages
distinguish between threads
2018-07-11 18:26:16 +02:00
Anatoly Yakovenko
d531b9645d review comments 2018-07-10 13:32:31 -06:00
Anatoly Yakovenko
be2bf69c93 initial vote stage
wip

voting

wip

move voting into the replicate stage

update

fixup!

fixup!

fixup!

fixup!

fixup!

fixup!

fixup!

fixup!

fixup!

fixup!

update

fixup!

fixup!

fixup!

tpu processing votes in entries before write stage

fixup!

fixup!

txs

make sure validators have an account

fixup!

fixup!

fixup!

exit fullnode correctly

exit on exit not err

try 50

add delay for voting

300

300

startup logs

par start

100

no rayon

retry longer

log leader drop

fix distance

50 nodes

100

handle deserialize error

update

fix broadcast

new table every time

tweaks

table

update

try shuffle table

skip kill

skip add

purge test

fixed tests

rebase 2

fixed tests

fixed rebase

cleanup

ok for blobs to be longer then window

fix init window

60 nodes
2018-07-10 13:32:31 -06:00
Greg Fitzgerald
c65c0d9b23 Expose fewer exit variables 2018-07-10 11:11:36 -06:00
Anatoly Yakovenko
63985d4595 renamed to contact_info 2018-07-09 20:40:14 -06:00
Anatoly Yakovenko
2ea030be48 stick all the addrs into one struct 2018-07-09 20:40:14 -06:00
Greg Fitzgerald
c4fa841aa9 Remove exit variable from respond [stage]
And drop the sender that feeds input to the responder.
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
f284af1c3d Remove exit variable from WindowStage and retransmit [stage] 2018-07-05 17:32:41 -06:00
Greg Fitzgerald
46602ba9c3 Remove exit variable from ReplicateStage 2018-07-05 17:32:41 -06:00
Greg Fitzgerald
77bf17064a Add Service trait
Added a consistent interface to all the microservices.
2018-07-04 16:40:34 -06:00
Greg Fitzgerald
0dabdfd48e Use zero to represent a nonexistent account
This also fixes a bug in the thin client where a nonexistent account
would have triggered a panic because we were using `balances[k]` instead
of `balances.get(key)`.

Fixes #534
2018-07-02 18:48:40 -06:00
Greg Fitzgerald
5d17c2b58f Return output receivers from each stage
Reaching into the stages' structs for their receivers is, in hindsight,
more awkward than returning multiple values from constructors. By
returning the receiver, the caller can name the receiver whatever it
wants (as you would with any return value), and doesn't need to
reach into the struct for the field (which is super awkward in
combination with move semantics).
2018-07-02 16:18:32 -06:00
Stephen Akridge
1c9e7dbc45 Don't recycle in the replicate stage
Windowing stage owns all the blobs now
2018-06-29 07:14:47 -06:00
Rob Walker
2f42658cd4 ... 2018-06-27 14:51:18 -07:00
Greg Fitzgerald
4aedd3f1b6 Cleanup type aliases and imports 2018-06-27 15:06:18 -06:00
Greg Fitzgerald
d5c0557891 Fix test_replicate too 2018-06-26 16:51:07 -06:00
Rob Walker
55ec7f9fe9 add entry.has_more
* quick fix for really big genesis
 * longer term fix for possible parallel verification over multiple
      Blobs/Entries
2018-06-26 13:57:10 -07:00
Rob Walker
1919ec247b add a clock to validator windows (part 3 of #309) (#448)
* count entries processed by Bank
 * initialize windows with initial height of Entries
2018-06-25 15:07:48 -07:00
Rob Walker
5e91d31ed3 issue 309 part 1
* limit the number of Tntries per Blob to at most one
* limit the number of Transactions per Entry such that an Entry will
    always fit in a Blob

With a one-to-one map of Entries to Blobs, recovery of a validator
  is a simple fast-forward from the end of the initial genesis.log
  and tx-*.logs Entries.

TODO: initialize validators' blob index with initial # of Entries.
2018-06-22 09:58:51 -07:00
Anatoly Yakovenko
586141adb2 Cleanup TVU docs 2018-06-15 22:45:35 -06:00
Greg Fitzgerald
327ee1dae8 Apply feedback from @aeyakovenko 2018-06-15 17:01:38 -06:00
Greg Fitzgerald
22885c3e64 Add TVU ASCII art 2018-06-15 17:01:38 -06:00
anatoly yakovenko
c24b0a1a3f TVU rework (#352)
Refactored TVU, into stages
* blob fetch stage for blobs
* window stage for maintaining the blob window
* pulled out NCP out of the TVU so they can be separate units
TVU is now just the fetch -> window -> request and bank processing
2018-06-13 21:52:23 -07:00
Greg Fitzgerald
7aa05618a3 data_replicator -> ncp
Fixes #327
2018-06-07 17:11:17 -06:00
anatoly yakovenko
216510c573 repair socket and receiver thread (#303)
repair socket and receiver thread
2018-06-02 08:32:51 -07:00
Anatoly Yakovenko
cef1c208a5 Crdt pipeline, coalesce window repair requests in the listener by examining all of them at once, and ublock those threads from doing io. 2018-05-30 14:04:48 -06:00
Greg Fitzgerald
cf5671d058 tr -> tx
Missed a few.
2018-05-29 10:38:58 -06:00
Greg Fitzgerald
58c1589688 More typos 2018-05-26 00:36:50 -06:00
Greg Fitzgerald
fc00594ea4 Move multinode test to integration tests 2018-05-26 00:36:50 -06:00
Greg Fitzgerald
9f5a3d6064 events -> transactions 2018-05-25 16:47:21 -06:00
Greg Fitzgerald
4cdf873f98 Delete event.rs 2018-05-25 16:47:21 -06:00
Greg Fitzgerald
73d3c17507 Migrate from Event to Transaction Timestramp/Signature 2018-05-24 10:10:41 -06:00
Greg Fitzgerald
7f647a93da Add last_id to Event timestamp/signature constructors 2018-05-24 10:10:41 -06:00
Anatoly Yakovenko
87e025fe22 fmt 2018-05-23 12:07:44 -06:00
Anatoly Yakovenko
8049323ca8 @garious review 2018-05-23 12:07:44 -06:00
Anatoly Yakovenko
b38c7ea2ff fmt 2018-05-23 12:07:44 -06:00
Anatoly Yakovenko
239b925fb3 woop 2018-05-23 12:07:44 -06:00
Anatoly Yakovenko
60da7f7aaf wip 2018-05-23 12:07:44 -06:00
Anatoly Yakovenko
8646ff4927 refactor wip 2018-05-23 12:07:44 -06:00
Anatoly Yakovenko
437c485e5c cleanup 2018-05-23 12:07:44 -06:00
Greg Fitzgerald
abfd7d6951 Merge pull request #234 from sakridge/fix_events_addr
Send events to the right address
2018-05-22 16:59:28 -06:00
Anatoly Yakovenko
021953d59a cleanup 2018-05-22 15:30:46 -07:00
Anatoly Yakovenko
bbe89df2ff fmt 2018-05-22 15:18:07 -07:00
Anatoly Yakovenko
a638ec5911 builds 2018-05-22 15:17:59 -07:00
Stephen Akridge
8454eb79d0 Send events to the right address and set recv socket timeout 2018-05-22 13:52:50 -07:00
Greg Fitzgerald
6c1f1c2a7a Promote create_entry() to Entry::new() 2018-05-16 23:18:58 -07:00