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
Greg Fitzgerald
8d26be8b89
Run benchmarks in nightly
...
And name functions the same way as test functions
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
6c1f1c2a7a
Promote create_entry() to Entry::new()
2018-05-16 23:18:58 -07:00
Tyera Eulberg
7144090528
Fix whitespace
2018-05-11 10:40:31 -06:00
Tyera Eulberg
ee0015ac38
Fix whitespace
2018-05-11 10:34:46 -06:00
Tyera Eulberg
8b7f7f1088
Generalize next tick functions to carry events
2018-05-11 09:45:42 -06:00
Stephen Akridge
a80991f2b3
Fixes for serializing entries over blobs and reorg into ledger
2018-05-10 15:30:30 -07:00