Rob Walker
999534248b
fixups
2018-08-07 17:27:53 -07:00
Rob Walker
fbc754ea25
plug in LedgerWindow
...
fixes #872
2018-08-07 17:27:53 -07:00
Rob Walker
2a0025bb57
get buffered IO back for ledger
2018-08-07 15:34:15 -07:00
Rob Walker
3beb38ac8a
/tmp/farf no good on multi-user machine
2018-08-06 14:53:40 -07:00
Rob Walker
0514f5e573
sync() apparently imposes a serious performance penalty
2018-08-06 08:51:41 -07:00
Rob Walker
9fabd34156
remove trace! calls, re-arrange replicate_requests to have the bank earlier
2018-08-06 08:51:41 -07:00
Rob Walker
039ed01abf
on 2nd thought: do not copy_ledger() for this test
2018-08-06 08:51:41 -07:00
Rob Walker
ead0eb2754
move copy_ledger() back into ledger.rs
...
Don't recover() for copy(), as copy() is already tolerant of things
recover() guards against. Note: recover() is problematic if the ledger is
"live", i.e. is currently being written to.
2018-08-06 08:51:41 -07:00
Rob Walker
c3db2df7eb
tweak random access ledger
...
* add recover_ledger() to deal with expected common ledger corruptions
* add verify_ledger() for future use cases (ledger-tool)
* increase ledger testing
* allow replicate stage to run without a ledger
* ledger-tool to output valid json
2018-08-06 08:51:41 -07:00
Rob Walker
ee6c15d2db
start on ledger recovery with a description of what that might mean
2018-08-06 08:51:41 -07:00
Rob Walker
692b125391
Revert "Revert "fixups""
...
This reverts commit e2c68d8775
.
2018-08-06 08:51:41 -07:00
Rob Walker
5193819d8e
Revert "Revert "plug in new ledger""
...
This reverts commit 57e928d1d0
.
2018-08-06 08:51:41 -07:00
Rob Walker
57e928d1d0
Revert "plug in new ledger"
...
This reverts commit 46d9ba5ca0
.
2018-08-03 10:24:51 -07:00
Rob Walker
e2c68d8775
Revert "fixups"
...
This reverts commit b72e91f681
.
2018-08-03 10:24:51 -07:00
Rob Walker
b72e91f681
fixups
2018-08-02 21:50:47 -07:00
Rob Walker
46d9ba5ca0
plug in new ledger
2018-08-02 21:50:47 -07:00
Tyera Eulberg
448b8b1c17
Add Hash wrapper and supporting traits
2018-08-01 17:00:51 -07:00
Tyera Eulberg
bcfaf5d994
Rebase ledger change
2018-08-01 16:15:14 -07:00
Stephen Akridge
6693386bc5
Lower errors to warnings so they don't print during tests
...
Negative tests should trigger the warnings, but errors look like
something is wrong.
2018-08-01 16:56:12 -06:00
Rob Walker
0aba74935b
fixups
2018-08-01 14:42:58 -07:00
Rob Walker
4eb666d4f9
provide ledger::copy()
2018-08-01 14:42:58 -07:00
Rob Walker
d5e0cf81ff
fixups
2018-08-01 14:42:58 -07:00
Rob Walker
3ea784aff7
clippy fixups
2018-08-01 14:42:58 -07:00
Rob Walker
fef93958c8
fixups, tests
2018-08-01 14:42:58 -07:00
Rob Walker
cae88c90b1
add a persistent ledger of index and data files
2018-08-01 14:42:58 -07:00
Rob Walker
1a8da769b6
...
2018-08-01 14:42:58 -07:00
Stephen Akridge
212874e155
Use BlobError for get_size return
2018-07-25 15:54:04 -07:00
Rob Walker
6fde65577e
fixes #756
2018-07-25 11:07:03 -07:00
Rob Walker
9c7913ac9e
trying to raise an error
2018-07-25 08:12:20 -07:00
Rob Walker
8b01e6ac0b
implement Blob::get_size(), the counterpart of Blob::set_size()
2018-07-25 08:12:20 -07:00
Rob Walker
ff5854396a
deserialize using get_data_size(), which refers to blob.data()'s length,
...
instead of using msg.meta.size, which refers to the entire blob's length
fixes #752
2018-07-25 08:12:20 -07:00
Rob Walker
33bd1229d9
make next_entries() smarter about fitting Transactions into a Blob
2018-07-24 21:38:06 -07:00
Michael Vines
195098ca2b
Failure test case
2018-07-24 21:38:06 -07:00
Stephen Akridge
6bd18e18ea
Add error messages to ledger verify
2018-07-24 17:35:41 -07:00
Rob Walker
54f2146429
fixups
2018-07-24 13:04:34 -07:00
Rob Walker
6656ec816c
protect generate and recover from u64->usize casting issues
2018-07-24 13:04:34 -07:00
Greg Fitzgerald
3144a70b18
Move all benchmarks to benches/
2018-07-11 11:18:18 -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
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
Rob Walker
ac40c1818f
..
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
Rob Walker
3dbbb398df
use next_entries() in recorder, recycle blobs in reconstruct_from_blobs
2018-06-22 14:17:36 -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
Greg Fitzgerald
fad9d20820
Add assertion for now next_entry must be called
2018-06-21 21:24:32 -07:00
Greg Fitzgerald
cd6d7d5198
Remove redundant clones
2018-06-21 21:24:32 -07:00
Greg Fitzgerald
f6e70779fe
Don't panic if sent a bad packet
2018-06-16 09:51:45 -06:00
Greg Fitzgerald
2b1e90b0a5
More idiomatic Rust
2018-05-29 14:04:27 -06:00
Greg Fitzgerald
cf5671d058
tr -> tx
...
Missed a few.
2018-05-29 10:38:58 -06:00