Commit Graph

66 Commits

Author SHA1 Message Date
carllin
9c30bddb88 Rocks db erasure decoding (#1900)
* Change erasure to consume new RocksDb window

* Change tests for erasure

* Remove erasure from window

* Integrate erasure decoding back into window

* Remove corrupted blobs from ledger

* Replace Erasure result with result module's Result
2018-12-05 12:47:19 -08:00
Michael Vines
c99f93e40a Remove signature.rs indirection 2018-12-03 13:50:00 -08:00
Rob Walker
30697f63f1 add support for slots in erasure (#1736) 2018-11-08 10:20:03 -08:00
Rob Walker
6c10458b5b leader slots in Blobs (#1732)
* add leader slot to Blobs
* remove get_X() methods in favor of X() methods for Blob
* add slot to get_scheduled_leader()
2018-11-07 13:18:14 -08:00
Michael Vines
e47fcb196b s/solana_program_interface/solana[_-]sdk/g 2018-10-25 12:31:45 -07:00
Greg Fitzgerald
95701114e3 Crdt -> ClusterInfo 2018-10-09 03:49:39 -06:00
Pankaj Garg
55a542bff0 Fix erasure and cuda related compilation errors 2018-09-27 10:42:37 -06:00
Pankaj Garg
e10574c64d Remove recycler and it's usage
- The memory usage due to recycler was high, and incrementing with
  time.
2018-09-27 10:42:37 -06:00
jackcmay
9c47e022dc break dependency of programs on solana core (#1371)
* break dependency of programs on Solana core
2018-09-27 07:49:26 -07:00
Greg Fitzgerald
b7ae5b712a Move Pubkey into its own module 2018-09-26 20:40:40 -06:00
sakridge
a9355c33b2 Placeholder storage contract and replicator client (#1286)
* Add hooks for executing the storage contract

* Add store_ledger stage
  Similar to replicate_stage but no voting/banking stuff, just convert
  blobs to entries and write the ledger out

* Add storage_addr to tests and add new NodeInfo constructor
  to reduce duplication...
2018-09-21 15:32:15 -07:00
Greg Fitzgerald
6073cd57fa Boot Recycler::recycle() 2018-09-20 17:08:51 -06:00
Anatoly Yakovenko
431692d9d0 Use a Drop trait to keep track of lifetimes for recycled objects.
* Move recycler instances to the point of allocation
* sinks no longer need to call `recycle`
* Remove the recycler arguments from all the apis that no longer need them
2018-09-19 16:59:42 -06:00
Jay Kickliter
fd51599fa8 Replace replace(..., None) with take()
This is strictly for simplicity, since Option::take() is imlemented with replace().
2018-09-15 05:12:09 -06:00
Michael Vines
4196cf43e8 cargo fmt 2018-09-14 16:37:49 -07:00
Greg Fitzgerald
0fa27f65bb Use the default Pubkey formatter instead of debug_id() 2018-09-06 16:31:47 -06:00
Rob Walker
226d3b9471 Trace recycle() calls (#968)
* trace recycle() calls fixes #810
2018-09-05 05:07:02 +09:00
Greg Fitzgerald
d18ea501b7 Minimize unsafe code 2018-09-04 06:01:32 -10:00
Rob Walker
eb4e5a7bd0 fixups 2018-08-31 23:21:07 +09:00
Rob Walker
3ae867bdd6 fixups 2018-08-18 02:22:52 -07:00
Rob Walker
bc5f29150b fix erasure, remove Entry "pad"
* fixes #997
 * Entry pad is no longer required since erasure coding aligns data length
2018-08-18 02:22:52 -07:00
Rob Walker
46016b8c7e crashes generate_coding() 2018-08-18 02:22:52 -07:00
Rob Walker
5dbecd6b6b add logging, more conservative reset 2018-08-18 02:22:52 -07:00
Pankaj Garg
982afa87a6 Retransmit blobs from leader from window (#975)
- Some nodes don't have leader information while leader is broadcasting
  blobs to those nodes. Such blobs are not retransmitted. This change
  rertansmits the blobs once the leader's identity is know.
2018-08-14 21:51:37 -07:00
Rob Walker
dccae18b53 cfg=erasure fixes, use return value of align!() 2018-08-14 12:14:59 -07:00
Rob Walker
53e86f2fa2 use align! 2018-08-14 12:14:59 -07:00
Greg Fitzgerald
8707abe091 Fix erasure build 2018-08-13 20:17:16 -06:00
Rob Walker
c86e9e8568 pad max_data_size to jerasure's alignment requirements 2018-08-13 16:10:51 -07:00
Greg Fitzgerald
c2bbe4344e Rename KeyPair to Keypair 2018-08-09 13:41:37 -06:00
Rob Walker
cbb8dee360 rework broadcast to understand a separate transmit index for coding blobs 2018-07-25 20:45:16 -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
75505bbd72 fixups 2018-07-24 13:04:34 -07:00
Rob Walker
e1fc7444f9 fixups 2018-07-24 13:04:34 -07:00
Rob Walker
caeb55d066 placate clippy and reduce replicode 2018-07-24 13:04:34 -07:00
Rob Walker
f11e60b801 fix major bug: re-used blobs need to have their flags cleared
plus: lots of additional debug-ability
2018-07-24 13:04:34 -07:00
Rob Walker
f60ee87a52 zero the tails of data blobs during generate() and recover() to enable blob reuse 2018-07-24 13:04:34 -07:00
Rob Walker
9c06fe25df enhance unit test to fail when erasure encodes stray bytes of data blobs 2018-07-24 13:04:34 -07:00
Rob Walker
1eec8bf57f fixups 2018-07-24 13:04:34 -07:00
Rob Walker
ddb24ebb61 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
Rob Walker
8d2bd43100 fixups 2018-07-24 13:04:34 -07:00
Rob Walker
429ea98ace mutable-coding-blocks 2018-07-24 13:04:34 -07:00
Rob Walker
3d80926508 fixups 2018-07-24 13:04:34 -07:00
Rob Walker
d713e3c2cf send coding in broadcast(), fixups 2018-07-24 13:04:34 -07:00
Rob Walker
5d20d1ddbf get test_window_recover_basic() passing 2018-07-24 13:04:34 -07:00
Rob Walker
257acdcda1 building now 2018-07-24 13:04:34 -07:00
Rob Walker
dab98dcd81 coded => coding 2018-07-24 13:04:34 -07:00
Rob Walker
99653a4d04 rework erasure to have data and coding blobs side-by-side in window 2018-07-24 13:04:34 -07:00
OEM Configuration (temporary user)
468ac9facd Refactor the "ReplicatedData" struct
Rename the "ReplicatedData" struct to the "NodeInfo" struct.
Also refactors and renames the members in this struct.
2018-07-11 11:38:41 -06:00