Commit Graph

768 Commits

Author SHA1 Message Date
Greg Fitzgerald bb53f69016 Fix 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 8d26be8b89 Run benchmarks in nightly
And name functions the same way as test functions
2018-05-26 00:36:50 -06:00
Greg Fitzgerald dcaeacc507 request_stage::serialize_packets -> packet::to_blobs
Good stuff - no need to hide them.
2018-05-25 17:31:07 -06:00
Greg Fitzgerald 4f377e6710 Generalize serialize_responses 2018-05-25 17:31:07 -06:00
Greg Fitzgerald 122db85727 Move channel-oriented code into request_stage 2018-05-25 17:31:07 -06:00
Greg Fitzgerald a598e4aa74 Fix comments 2018-05-25 17:31:07 -06:00
Greg Fitzgerald 733b31ebbd testnode -> fullnode
It's the real deal.
2018-05-25 17:31:07 -06:00
Greg Fitzgerald dac9775de0 Replace client-demo with multinode-demo 2018-05-25 17:31:07 -06:00
Greg Fitzgerald 46c19a5783 Rename sigverify modules 2018-05-25 17:31:07 -06:00
Greg Fitzgerald aaeb5ba52f tr -> tx 2018-05-25 16:47:21 -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
Anatoly Yakovenko 6677a7b66a verify plan not sig 2018-05-25 07:02:39 -06:00
Anatoly Yakovenko 75c37fcc73 names 2018-05-25 07:02:39 -06:00
Anatoly Yakovenko 5be71a8a9d logs 2018-05-25 07:02:39 -06:00
Anatoly Yakovenko b9ae7d1ebb logs 2018-05-25 07:02:39 -06:00
Anatoly Yakovenko 8b02e0f57c logs 2018-05-25 07:02:39 -06:00
Anatoly Yakovenko 342cc7350a poll both endpoints in client 2018-05-25 07:02:39 -06:00
Anatoly Yakovenko 2335a51ced logs 2018-05-25 07:02:39 -06:00
Anatoly Yakovenko 868df1824c fmt 2018-05-24 17:40:33 -06:00
Anatoly Yakovenko 83c11f0f9d logs 2018-05-24 17:40:33 -06:00
Anatoly Yakovenko 1022f1b0c6 logs 2018-05-24 17:40:33 -06:00
Anatoly Yakovenko c2c80232e3 logs 2018-05-24 17:40:33 -06:00
Anatoly Yakovenko 669b1694b8 exponentail backoff for retransmit 2018-05-24 17:40:33 -06:00
Anatoly Yakovenko 2128c58fbe logs and tps counting 2018-05-24 10:35:23 -06:00
Greg Fitzgerald e12e154877 Boot Event timestamp/singature constructors 2018-05-24 10:10:41 -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
Greg Fitzgerald ecb3dbbb60 Add witness tx constructors 2018-05-24 10:10:41 -06:00
Greg Fitzgerald cc907ba69d Add Instruction type 2018-05-24 10:10:41 -06:00
Greg Fitzgerald 5a45eef1dc
Exit cleanup (#252)
* Ignore record_stage exit reason. We only really care about panic exit versus graceful exit.
* Ignore coverage build in CI
2018-05-24 10:03:17 -06:00
Greg Fitzgerald 0d980e89bc cargo fmt
@aeyakovenko: https://github.com/rust-lang/rust.vim#formatting-with-rustfmt
2018-05-23 20:05:08 -06:00
Anatoly Yakovenko 7faa2b8698 fixed demo 2018-05-23 17:24:58 -06:00
Anatoly Yakovenko 65352ce8e7 fix 2018-05-23 17:24:58 -06:00
Anatoly Yakovenko f1988ee1e3 help 2018-05-23 17:24:58 -06:00
Anatoly Yakovenko 82ac8eb731 use client ports 2018-05-23 17:24:58 -06:00
Anatoly Yakovenko ae47e34fa5 fix 2018-05-23 17:24:58 -06:00
Anatoly Yakovenko 28e781efc3 break early 2018-05-23 17:24:58 -06:00
Anatoly Yakovenko 5c3ceb8355 aws demo2 2018-05-23 17:24:58 -06:00
Greg Fitzgerald c9113b381d Pull channel functionality into record_stage
This makes record_stage consistent with the other stages. The stage
manages the channels. Anything else is in a standalone object. In
the case of the record_stage, that leaves almost nothing!
2018-05-23 17:15:28 -06:00
Stephen Akridge 75e69eecfa Fix nightly bench 2018-05-23 17:15:03 -06:00
Anatoly Yakovenko f3c4acc723 cleanup multi node test 2018-05-23 16:59:17 -06:00
Stephen Akridge 2a0095e322 Remove unused variable in multinode-demo fix compiler warning 2018-05-23 16:55:45 -06:00
anatoly yakovenko 9ad5f3c65b
fix option (#246) 2018-05-23 14:48:00 -07:00
Greg Fitzgerald d4200a7b1e Fix build
GenKeys() fix and new multinode module crossed in flight.
2018-05-23 14:10:26 -06:00
Greg Fitzgerald 84477835dc
Fix nondeterministic key generation (#243)
Our one and only unsafe operation was ...unsafe.
2018-05-23 14:04:07 -06:00
anatoly yakovenko 504b318ef1 Hooks for binaries to run as leader or replicator and attach to network (#221) 2018-05-23 14:03:19 -06:00
Greg Fitzgerald f154c8c490 Add data to errors to ease debugging 2018-05-23 12:50:23 -06:00
Greg Fitzgerald d4959bc157 Test cleanup
GenKey unit tests were in the benchmark suite.
2018-05-23 12:50:23 -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 59be94a81f cleanup 2018-05-23 12:07:44 -06:00
Anatoly Yakovenko 437c485e5c cleanup 2018-05-23 12:07:44 -06:00
Greg Fitzgerald 086365b4c4
Merge pull request #237 from garious/hoist-lastid
Hoist last_id
2018-05-22 17:48:25 -06:00
Stephen Akridge 7b5b7feb63 Fix test_bad_sig on mac 2018-05-22 16:40:01 -07:00
Greg Fitzgerald 2e059f8504 Rename TransactionData to Contract
No longer a single place to get all the data that was signed.
2018-05-22 17:00:40 -06:00
Greg Fitzgerald 207b6686d1 Hoist last_id
First step in unifying Witness processing and Transaction processing
2018-05-22 17:00:40 -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
Anatoly Yakovenko 26272a3600 split out stages 2018-05-22 14:26:28 -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 2786357082
Merge pull request #230 from garious/generalize-topackets
Benchmark the banking stage
2018-05-18 19:47:26 -07:00
Anatoly Yakovenko 63a0ba6ec8 fixed 2018-05-16 23:28:03 -07:00
Anatoly Yakovenko 9a4ce6d70e fmt 2018-05-16 23:27:26 -07:00
Anatoly Yakovenko 35ee2d0ce1 cleanup 2018-05-16 23:27:26 -07:00
Anatoly Yakovenko b04716d40d fmt 2018-05-16 23:27:26 -07:00
Anatoly Yakovenko 051fa6f1f1 cleanup 2018-05-16 23:27:26 -07:00
Anatoly Yakovenko 8dc1b07e75 docs 2018-05-16 23:27:26 -07:00
Anatoly Yakovenko bee1e7ebaf compute convergence maximum 2018-05-16 23:27:26 -07:00
Anatoly Yakovenko f3f0b9f0c5 update 2018-05-16 23:27:26 -07:00
Anatoly Yakovenko a5cf745e1c check convergence 2018-05-16 23:27:26 -07:00
Greg Fitzgerald 273b800047 Benchmark the banking stage 2018-05-16 23:18:58 -07:00
Greg Fitzgerald 6c1f1c2a7a Promote create_entry() to Entry::new() 2018-05-16 23:18:58 -07:00
Greg Fitzgerald 9c62f8d81f Add Event::Transaction constructor 2018-05-16 23:18:58 -07:00
Greg Fitzgerald dc87effc0a
Merge pull request #229 from garious/fix-bench
Fix the benchmark build
2018-05-16 16:37:56 -06:00
Greg Fitzgerald 0b91dd6163 Fix the benchmark build 2018-05-16 16:35:50 -06:00
Greg Fitzgerald 4955c6f13a request::to_request_packets -> packet::to_packets 2018-05-16 16:11:53 -06:00
Greg Fitzgerald 2e7beca9ba Generalize to_request_packets 2018-05-16 16:01:19 -06:00
Greg Fitzgerald 59c1b9983d
Merge pull request #220 from garious/add-tpu
Add tpu
2018-05-16 12:21:07 -06:00
Greg Fitzgerald f7083e0923 Remove transaction processing from RPU and request processing from TVU 2018-05-15 12:15:29 -06:00
Greg Fitzgerald 6d4defdf96 Offload event processing to the TPU 2018-05-15 11:33:43 -06:00
Greg Fitzgerald b826f837f8 First attempt to pull TPU into the server 2018-05-15 11:25:55 -06:00
Greg Fitzgerald 5855e18a4e Let server own the bank, not TPU/RPU 2018-05-15 11:21:48 -06:00
Greg Fitzgerald 3f38c0a245 Feed events socket into the server 2018-05-15 11:19:58 -06:00
Greg Fitzgerald cfe8b3fc55 Wrap the RPU with new object Server 2018-05-15 11:00:01 -06:00
Greg Fitzgerald e9ee020b5f Rename constructors 2018-05-15 10:45:36 -06:00
Greg Fitzgerald 1bcf3891b4 New TPU/RPU constructors 2018-05-15 10:44:47 -06:00
Greg Fitzgerald 5456de63e9 Less state 2018-05-15 10:38:17 -06:00
Greg Fitzgerald 9026c70952 Inline Rpu::new 2018-05-15 10:33:16 -06:00
Greg Fitzgerald 99dc4ea4a9 Spin up threads from Rpu/Tpu constructors 2018-05-15 10:30:52 -06:00
Greg Fitzgerald 0aaa500f7c Rpu/Tpu serve() functions now only spin up threads 2018-05-15 10:10:45 -06:00
Greg Fitzgerald 5f5be83a17 Hoist socket creation/configuration
TODO: Add a library for socket configuration.
2018-05-15 10:05:23 -06:00
Greg Fitzgerald 7e44005a0f Don't do error-prone things in functions that spawn threads 2018-05-15 09:53:51 -06:00
Greg Fitzgerald ee3fb985ea Hoist set_timeout 2018-05-15 09:42:28 -06:00
Greg Fitzgerald 2a268aa528 Reorder to reflect dependencies 2018-05-15 09:17:48 -06:00
Robert Kelly a1889c32d4 fixed CrdtToSmall typo 2018-05-15 10:29:56 -04:00
Robert Kelly d42d024d9c minor changes 2018-05-15 10:23:11 -04:00
Anatoly Yakovenko 4131071b9a fix ignore tests 2018-05-14 22:06:42 -07:00
Greg Fitzgerald ef6bd7e3b8 Add TPU 2018-05-14 17:36:19 -06:00
Greg Fitzgerald 374bff6550 Extract event processing from request_stage 2018-05-14 17:31:27 -06:00
Greg Fitzgerald 0a46bbe4f9
Merge pull request #219 from garious/add-write-stage
Move write_service and drain_service into new write_stage module
2018-05-14 17:18:04 -06:00
Anatoly Yakovenko 421273f862 disable tests that fail with kcov 2018-05-14 16:07:21 -07:00
Anatoly Yakovenko 2c7f229883 wait longer 2018-05-14 15:48:43 -07:00
Anatoly Yakovenko 904eabad2f waint longer 2018-05-14 15:48:24 -07:00
Anatoly Yakovenko 8b233f6be4 update 2018-05-14 15:43:26 -07:00
Anatoly Yakovenko 08fc821ca9 rebase 2018-05-14 15:35:54 -07:00
Greg Fitzgerald 81706f2d75 Move write_service and drain_service into new write_stage module 2018-05-14 16:31:31 -06:00
Anatoly Yakovenko 7b50c3910f fmt 2018-05-14 15:21:41 -07:00
Anatoly Yakovenko 2d635386af rebased 2018-05-14 15:20:41 -07:00
Greg Fitzgerald 7736b9cac6 Boot Alice and Bob from the unit tests 2018-05-14 15:39:34 -06:00
Greg Fitzgerald d2dd005a59 accountant -> bank 2018-05-14 15:33:11 -06:00
Greg Fitzgerald 6e8f99d9b2 Purge EventProcessor 2018-05-14 14:45:29 -06:00
Greg Fitzgerald 685de30047 Purge EventProcessor from RPU 2018-05-14 14:35:25 -06:00
Greg Fitzgerald 17cc9ab07f Rename Historian to RecordStage
Historian was a legacy name. The new name reflects the new pipelined
architecture.
2018-05-14 14:19:19 -06:00
Greg Fitzgerald 3f10bf44db Config recorder with any kind of Duration, not just milliseconds 2018-05-14 14:12:36 -06:00
Greg Fitzgerald 27984e469a Multiply duration, not milliseconds 2018-05-14 13:58:42 -06:00
Greg Fitzgerald a2c05b112e Add historian to pipeline
No longer intercept entries to register_entry_id(). Intead,
register the ID in the Write stage.

EventProcessor is now just being used as a place to store data.

Fixes #216
2018-05-14 12:43:40 -06:00
Greg Fitzgerald a578c1a5e3
Merge pull request #215 from garious/suppress_panic_message_in_tests
Don't output panic noise from panic test
2018-05-14 11:46:22 -06:00
Robert Kelly 4a94da8a94 Don't output panic noise from panic test
P.S. rustfmt 0.4.1-stable (7a807262 2018-04-20)
2018-05-14 10:38:59 -06:00
Greg Fitzgerald cc447c0fda Drop support for EntryInfo subscriptions 2018-05-14 09:53:57 -06:00
Greg Fitzgerald 0ae69bdcd9 Get transactionn_count via GetTransactionCount instead of EntryInfo 2018-05-14 09:45:09 -06:00
Greg Fitzgerald 5ba20a94e8 Panic on error to get same signature as transaction_count() 2018-05-14 09:43:40 -06:00
Greg Fitzgerald f168c377fd Get last_id via GetLastId instead of EntryInfo 2018-05-14 09:40:29 -06:00
Greg Fitzgerald dfb754dd13 Revive GetLastId messages 2018-05-14 09:35:10 -06:00
Greg Fitzgerald 455050e19c Expose the server-side transaction count 2018-05-14 07:21:12 -06:00
Greg Fitzgerald 317031f455 Add transaction count to accountant 2018-05-14 06:49:51 -06:00
Greg Fitzgerald b132ce1944
Merge pull request #210 from aeyakovenko/buildite_coverage
ignore unstable tests
2018-05-13 22:00:32 -06:00
Anatoly Yakovenko 8b226652aa unstable 2018-05-13 20:54:41 -07:00
Anatoly Yakovenko 2c7fe3ed8d unstable 2018-05-13 20:51:07 -07:00
Anatoly Yakovenko 3d5f2b3c28 unstable 2018-05-13 20:45:55 -07:00
Anatoly Yakovenko 7a79afe4a6 unstable 2018-05-13 20:41:54 -07:00
Anatoly Yakovenko 1f7387a39b increase sleep 2018-05-13 20:33:41 -07:00
Robert Kelly 791ae852a2 removed old keygen 2018-05-13 18:14:10 -04:00
Greg Fitzgerald d239d4a495 Add missing files 2018-05-12 17:57:28 -06:00
Greg Fitzgerald aec05ef602 Move RequestProcessor into its own module 2018-05-12 17:50:55 -06:00
Greg Fitzgerald e5d46d998b Move thin client messages into their own module 2018-05-12 17:41:27 -06:00
Greg Fitzgerald b2e3299539 Only pass accountant write_service 2018-05-12 17:30:15 -06:00
Greg Fitzgerald c308a6459f cargo fmt 2018-05-12 17:27:15 -06:00
Greg Fitzgerald 4eb1bc08a7
Merge pull request #205 from rlkelly/203__test_key_generation
203  test key generation
2018-05-12 17:26:46 -06:00
Robert Kelly ff5e1c635f increased iterations 2018-05-12 18:18:18 -04:00
Robert Kelly 6149c2fcb5 added benchmarks for two GenKeys 2018-05-12 18:08:08 -04:00
Greg Fitzgerald 6264508f5e Consistent naming of senders and receivers 2018-05-12 15:24:20 -06:00
Greg Fitzgerald a3869dd4c1 Move entry_receiver to RequestStage
This can move to AccountingStage once RequestStage stops
calling process_events().
2018-05-12 15:14:37 -06:00
Greg Fitzgerald a3d2831f8c Free up the name 'accounting_stage' 2018-05-12 14:05:57 -06:00
Robert Kelly 4cd1fa8c38 refactored seed generation 2018-05-12 15:42:27 -04:00
Greg Fitzgerald 1511dc43d7 Move RequestProcessor out of Rpu/Tvu state 2018-05-12 11:39:24 -06:00
Greg Fitzgerald 3d82807965 Delete dead code 2018-05-12 11:24:40 -06:00
Greg Fitzgerald 4180571660 Don't pass events_socket to RPU 2018-05-12 11:11:30 -06:00
Greg Fitzgerald 421d9aa501 Free up the name 'tpu' 2018-05-12 10:53:25 -06:00
Greg Fitzgerald 898f4971a2 Free up name 'thin_client_service' 2018-05-12 10:50:22 -06:00
Greg Fitzgerald 7ab3331f01 Move validation processor to its own module 2018-05-12 00:31:32 -06:00
Greg Fitzgerald b4ca414492 More object-oriented 2018-05-12 00:19:12 -06:00
Greg Fitzgerald 73abea088a No need for TPU dependency 2018-05-11 23:51:35 -06:00
Greg Fitzgerald 2376dfc139 Let thin client own the receiver channel 2018-05-11 23:46:04 -06:00
Greg Fitzgerald d2f95d5319 Move thin client service thread into thin_client_service.rs 2018-05-11 23:37:44 -06:00
Greg Fitzgerald cd96843699 Free up name ThinClientService 2018-05-11 23:37:14 -06:00
Greg Fitzgerald ca80bc33c6 Move the writer stage's utilities to its own module 2018-05-11 22:36:16 -06:00
Greg Fitzgerald 19607886f7 Move sig verification stage into its own module 2018-05-11 21:51:37 -06:00
Greg Fitzgerald 3c11a91f77 Cleanup verifier error handling 2018-05-11 21:01:07 -06:00
Greg Fitzgerald b781fdbd04 Reorganize 2018-05-11 20:50:50 -06:00
Greg Fitzgerald 765d901530 Better names 2018-05-11 20:18:04 -06:00
Greg Fitzgerald 3cedbc493e Reorder to reflect the pipeline order 2018-05-11 20:11:25 -06:00
Greg Fitzgerald 0488d0a82f Extract sig verify functions 2018-05-11 19:59:40 -06:00
Greg Fitzgerald f0be595e4c Create function for thin client thread 2018-05-11 17:58:27 -06:00
Greg Fitzgerald 55100854d6 Better names 2018-05-11 16:41:35 -06:00
Greg Fitzgerald 600a1f8866 Initialize thin client with events port 2018-05-11 16:35:53 -06:00
Greg Fitzgerald 95bf68f3f5 Correct some strange naming 2018-05-11 16:24:18 -06:00
Greg Fitzgerald bcdb058492 cargo fmt 2018-05-11 13:06:05 -06:00
Code Cobain e779496dfb
Update signature.rs 2018-05-11 11:49:22 -07:00
Code Cobain 3d77fa5fbc
Merge branch 'master' into 153-panic-cleanup 2018-05-11 11:40:20 -07:00
Jackson Sandland 250830ade9 cargo fmt run 2018-05-11 11:38:52 -07:00
Code Cobain 458c27c6e9
Merge branch 'master' into 153-panic-cleanup 2018-05-11 11:18:45 -07:00
Robert Kelly a49e664e63 Merge branch '156__remove_user_keys_in_mintdemo' of github.com:rlkelly/solana into 156__remove_user_keys_in_mintdemo 2018-05-11 14:07:48 -04:00
Robert Kelly f20380d6b4 changed RwLock to RefCell 2018-05-11 14:07:41 -04:00
Rob Kelly 05a5e551d6
Merge branch 'master' into 156__remove_user_keys_in_mintdemo 2018-05-11 13:00:44 -04:00
Robert Kelly d278b71cb2 added tests and utility method for key generation 2018-05-11 12:55:05 -04:00
Greg Fitzgerald a485c141d5
Merge pull request #199 from garious/add-accounting-stage
Fix race condition in Accountant::apply_payment()
2018-05-11 10:54:32 -06: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
Jackson Sandland c95c6a75f8 tpu.rs - panic cleanup 2018-05-10 20:49:58 -07:00
Jackson Sandland 44bf79e35f transaction.rs - panic cleanup 2018-05-10 18:24:33 -07:00
Jackson Sandland bb654f286c tpu.rs - panic cleanup 2018-05-10 18:21:10 -07:00
Greg Fitzgerald 1acd2aa8cf Fix race condition in Accountant::apply_payment() 2018-05-10 19:07:15 -06:00
Jackson Sandland 18d3659b91 timing.rs - panic cleanup 2018-05-10 17:47:27 -07:00
Jackson Sandland 63a4bafa72 thin_client - panic cleanup 2018-05-10 17:46:10 -07:00
Jackson Sandland 4eb2e84c9f streamer.rs - panic cleanup 2018-05-10 17:38:00 -07:00
Jackson Sandland 73c7fb87e8 signature.rs - panic cleanup 2018-05-10 17:15:53 -07:00
Jackson Sandland c1496722aa packet.rs - panic cleanup 2018-05-10 17:11:31 -07:00
Jackson Sandland d9f81b0c8c mint.rs - panic cleanup 2018-05-10 17:06:43 -07:00
Jackson Sandland d69beaabe1 historian.rs - panic cleanup 2018-05-10 17:00:37 -07:00
Jackson Sandland b7a0bd6347 event.rs - panic cleanup 2018-05-10 16:59:13 -07:00
Jackson Sandland 882ea6b672 erasure.rs - panic cleanup 2018-05-10 16:54:21 -07:00