Commit Graph

842 Commits

Author SHA1 Message Date
Stephen Akridge a094507bb8 Lower default benchmarking numbers to make CI timeout 2018-06-29 07:14:47 -06:00
Stephen Akridge 8effa4e3e0 Clear old blobs before putting in the new one
Otherwise we will just warn about overrun and not insert new blob
Also, break if the index we find is less than consumed otherwise
we can infinite loop
2018-06-29 07:14:47 -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
Stephen Akridge 799b249f02 Don't null blob window until we have to 2018-06-29 07:14:47 -06:00
Michael Vines 47917d00d1 Always bind to 0.0.0.0 regardless of what's being advertised to other nodes 2018-06-28 19:13:36 -07:00
Michael Vines 1c1d7d1e0e Log get_last_id errors 2018-06-28 19:13:36 -07:00
Stephen Akridge d28536d76e Fix spelling of signature 2018-06-28 16:31:33 -07:00
Greg Fitzgerald 63cfbb9497 Only register last entry after a split 2018-06-28 16:54:06 -06:00
Greg Fitzgerald 231040b93e Add tests 2018-06-28 12:28:43 -07:00
Greg Fitzgerald 7c74afc35a Relax recycler
Instead of asserting ref count is 1 before recycling, allow users
to recycle items early. If it turns out that was too early, and
allocate() wants to return it, then boot it and take a memory
allocation performance hit instead.
2018-06-28 12:28:43 -07:00
Greg Fitzgerald 7878a011eb Use a Mint to configure the wallet
* Send transactions from the mint's private key
* By default, send full balance to oneself
* By default, request the mint's number of tokens for airdrops
2018-06-27 17:35:50 -06:00
Greg Fitzgerald c05416e27d Turn simple-client-demo into a simpler wallet 2018-06-27 17:35:50 -06:00
Rob Walker 2f42658cd4 ... 2018-06-27 14:51:18 -07:00
Rob Walker d95e8030fc ... 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 bb89d6f54d Get back to 500k transactions 2018-06-27 13:50:27 -07:00
Greg Fitzgerald ed10841e3d No longer spin up accounts for client-demo
Now that the Bank is single-threaded again, we can spin up new
accounts on the fly without concern of thread contention. Likewise,
we can send all transactions from a single account, which was also
problematic in the multi-threaded bank. Sending from one account will
also make client-demo straightforward to port to solana-drone.
2018-06-27 13:50:27 -07:00
Tyera Eulberg a167d0d331 CI cleanup 2018-06-27 13:01:29 -06:00
Tyera Eulberg eed37820b5 Comments 2018-06-27 13:01:29 -06:00
Tyera Eulberg ac40434cdf Initial simple client demo commit 2018-06-27 13:01:29 -06:00
Greg Fitzgerald 56b09bf0ac cargo fmt 2018-06-26 16:51:07 -06:00
Stephen Akridge f4c4b9df9c Only free in replicate if we did not hold the reference in window stage
And then free when we are consuming blobs
2018-06-26 16:51:07 -06:00
Greg Fitzgerald 6e568c69a7 Preemptive strike
Should that blob have been passed to a recycler, it would have
had too high a reference count.
2018-06-26 16:51:07 -06:00
Greg Fitzgerald 14d624ee40 Fix benchmarks too
This change will make these benchmarks way slower, because its now
cloning the transaction vector each iteration instead of the ref
counts. We need to rethink these.
2018-06-26 16:51:07 -06:00
Greg Fitzgerald d5c0557891 Fix test_replicate too 2018-06-26 16:51:07 -06:00
Greg Fitzgerald 1691060a22 Assert recycler is given last reference to data
This patch likely fixes the sporadic failures in the following tests:

```
test server::tests::validator_exit ... FAILED
test streamer::test::streamer_send_test ... FAILED
test thin_client::tests::test_bad_sig ... FAILED
test drone::tests::test_send_airdrop ... FAILED
test thin_client::tests::test_thin_client ... FAILED
```
2018-06-26 16:51:07 -06:00
Greg Fitzgerald 05edfad13a Fix compiler warnings 2018-06-26 15:03:15 -07:00
Greg Fitzgerald 136b43f461 Fix whitespace
TODO: Why didn't "cargo fmt" fail the build.
2018-06-26 15:03:15 -07:00
Rob Walker ac40c1818f .. 2018-06-26 13:57:10 -07:00
Rob Walker eb63dbcd2a an Entry needs to be multiple of 4 bytes long 2018-06-26 13:57:10 -07:00
Rob Walker 4e2f1a519e whack next_entries_batched 2018-06-26 13:57:10 -07: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
OEM Configuration (temporary user) 551f639259 Some pull request fixes(linting + documentation) 2018-06-26 12:31:04 -06:00
OEM Configuration (temporary user) da3bb6fb93 ran linter 2018-06-26 12:31:04 -06:00
OEM Configuration (temporary user) 08bcb62016 added remote table to update respones 2018-06-26 12:31:04 -06:00
Greg Fitzgerald 4a534d6abb Don't clone() Arc before recycling
This might fix an awful bug where the streamer reuses a Blob
before the current user is done with it. Recycler should probably
assert ref count is one?

* Also don't collect() an iterator before iterating over it.
2018-06-25 17:33:07 -06:00
Stephen Akridge b48a8c0555 Chunk blobs into window size to avoid window overrun
Fixes #447
2018-06-25 17:33:07 -06: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
Stephen Akridge c22ef50cae Client fixes, poll for unique last id and cache clients
So we don't keep running up the port range
2018-06-25 10:02:29 -06:00
Anatoly Yakovenko 8ef8a8dea7 borrow checker 2018-06-24 11:17:55 -06:00
Anatoly Yakovenko e929404676 comments 2018-06-24 11:17:55 -06:00
Anatoly Yakovenko c2258bedae fixed! 2018-06-24 11:17:55 -06:00
Anatoly Yakovenko 215fdbb7ed nits 2018-06-24 11:17:55 -06:00
Anatoly Yakovenko ee998f6882 fix docs 2018-06-24 11:17:55 -06:00
Anatoly Yakovenko 826e95afca fix logs 2018-06-24 11:17:55 -06:00
Anatoly Yakovenko 47583d48e7 get rid of dummy test 2018-06-24 11:17:55 -06:00
Anatoly Yakovenko e759cdf061 tests 2018-06-24 11:17:55 -06:00
Anatoly Yakovenko 88503c2a09 generic array fail case 2018-06-24 11:17:55 -06:00
Tyera Eulberg d5be23dffe fmt 2018-06-24 10:44:17 -06:00
Tyera Eulberg 80c01dc085 Use leader.json or ReplicatedData to get ports for drone 2018-06-24 10:44:17 -06:00