Michael Vines
917151ce54
s/edge/beta/
2018-11-07 08:54:44 -08:00
Michael Vines
6dcd127634
Increase boot timeout
2018-11-07 08:32:03 -08:00
Michael Vines
af66edf8c0
Add AWS-based nets
2018-11-07 07:52:34 -08:00
Michael Vines
ab5b921e8f
Set imageName if G
2018-11-07 07:52:29 -08:00
Michael Vines
6c2843543b
Bump EC2 validator machine type
2018-11-07 07:52:25 -08:00
Michael Vines
85f74cc537
Upgrade GCP CPU-based testnet to 18.04
2018-11-07 07:52:19 -08:00
Michael Vines
43665115b4
Switch testnet/testnet-perf to the latest beta or stable tag
2018-11-07 07:48:33 -08:00
Michael Vines
156115c04c
Publish release tarballs for tags
2018-11-07 07:48:30 -08:00
Michael Vines
a66577eb87
Add support for using a release tar
2018-11-07 07:48:02 -08:00
jackcmay
3345d059e8
Elf relocations ( #1724 )
...
Use relocatable BPF ELFs
2018-11-06 14:28:46 -08:00
Michael Vines
8c8c5de779
Remove unused debug trace
2018-11-06 14:19:07 -08:00
Michael Vines
f03e971598
t
2018-11-06 14:06:07 -08:00
Michael Vines
b4a1cdceaa
Add timeout to prevent a stuck ssh
2018-11-06 14:02:27 -08:00
Michael Vines
b250d20059
Remove node check from client start-up
...
If the network loses a validator or two, it's the job of the sanity
check to detect this not the bench clients
2018-11-06 13:59:42 -08:00
Michael Vines
dc3b270410
Remove bpf tictactoe
2018-11-06 12:17:52 -08:00
Michael Vines
9d5092a71c
Set metrics database correctly
2018-11-06 07:24:49 -08:00
Michael Vines
a287c9e5fa
Remove stray line
2018-11-05 20:53:50 -08:00
Michael Vines
ee85d534f9
Update testnet deploy docs
2018-11-05 19:12:43 -08:00
Michael Vines
6e1b291c17
Add testnet-manager pipeline
2018-11-05 17:35:55 -08:00
Michael Vines
68f7b1ecf3
Rename buildkite-snap to buildkite-secondary
2018-11-05 08:48:09 -08:00
Michael Vines
58fe5cabd6
Document BPF C program limitations
2018-11-04 12:30:05 -08:00
Michael Vines
8993c6ae24
Try harder to snap download
2018-11-03 00:29:48 +00:00
Michael Vines
0e56473add
0.10.1
2018-11-02 16:30:13 -07:00
Michael Vines
f6b709ca48
ci: correct crates.io publishing order
2018-11-02 15:36:32 -07:00
Michael Vines
ffa1fa557b
Ship native programs in snap
2018-11-01 15:59:24 -07:00
Michael Vines
e7631c85a1
Update bpf.mk
2018-11-01 15:25:43 -07:00
Michael Vines
edeadb503f
shell
2018-11-01 14:40:38 -07:00
Michael Vines
d2044f2562
Find clang 7 better
...
If LLVM_DIR is defined, use it to locate clang. Otherwise use brew on
macOS, and assume clang-7 otherwise
2018-11-01 09:46:47 -07:00
Michael Vines
5703c740cf
Improve clang install info for Linux
2018-11-01 09:46:47 -07:00
Michael Vines
6ae20e78e2
Rename sol_bpf.h to solana_sdk.h
2018-10-31 23:39:59 -07:00
Michael Vines
506fc3baeb
sol_bpf.h improvements
...
- Define NULL
- Add sol_memcmp()
- Use sizeof() more
- Add SOL_ARRAY_SIZE
- Make sol_deserialize() more flexible
2018-10-31 23:39:59 -07:00
Michael Vines
68523f4a7f
Fix up bpf numeric types
2018-10-31 21:16:16 -07:00
carllin
beae217ab9
Remove purging of leader id from cluster info ( #1677 )
2018-10-31 13:09:44 -07:00
Pankaj Garg
2c8c117e3c
Use env variables to disable validator sanity and ledger verification ( #1675 ) ( #1676 )
2018-10-31 12:54:40 -07:00
jackcmay
3a1285ebe5
Program may not exit ( #1669 )
...
Cap max executed instructions, report number of executed instructions
2018-10-31 11:15:08 -07:00
jackcmay
e2660f2ac1
Fix deps ( #1672 )
2018-10-31 11:14:41 -07:00
jackcmay
22eb1b977f
Fix lua_loader tests ( #1665 )
2018-10-31 09:22:41 -07:00
Michael Vines
43ef8d7bb7
SYSTEM_INC_DIRS needs immediate expansion
2018-10-31 09:22:41 -07:00
Jack May
d9271f2d30
Revert inclusion change, fix doc
2018-10-31 09:22:41 -07:00
Jack May
dfbfd4d4dd
Fix const
2018-10-31 09:22:41 -07:00
Jack May
9cb262ad4b
Fix C programs
2018-10-31 09:22:41 -07:00
jackcmay
73ee0cb100
Run workspace member's tests ( #1666 )
...
Run workspace member's tests
2018-10-31 09:22:41 -07:00
Michael Vines
9a6154beaf
Upgrade to influx_db_client@0.3.6
2018-10-31 09:22:41 -07:00
Pankaj Garg
3f494bb91b
Update testnet scripts to use release tar ball ( #1660 ) ( #1664 )
...
* Update testnet scripts to use release tar ball
* use curl instead of s3cmd
2018-10-30 18:29:07 -07:00
Pankaj Garg
2eb312796d
Publish a tarball of Solana release binaries ( #1656 ) ( #1658 )
...
* Publish a tarball of solana release binaries
* included native programs in Solana release tar
* Remove PR check from publish script
2018-10-30 15:55:50 -07:00
Michael Vines
3fb86662fb
Find native program with solana_ prefix
2018-10-30 13:12:59 -07:00
Michael Vines
dce31f6002
Improve account subscribe/unsubscribe logging
2018-10-30 12:10:25 -07:00
Michael Vines
39c42a6aba
Avoid panicking when a native library doesn't exist
2018-10-30 12:10:25 -07:00
Michael Vines
9961c0ee0a
Demote info logs
2018-10-30 12:10:25 -07:00
Michael Vines
3f843f21b9
Add solana_ prefix to loaders so their logs appear in the default RUST_LOG config
2018-10-30 11:24:18 -07:00
Michael Vines
d07961a58b
Work around influxdb panic
2018-10-30 11:24:18 -07:00
Michael Vines
b85aa9282e
Tweak logging
2018-10-30 11:24:18 -07:00
Pankaj Garg
1cd354cf15
Added a new remote node configuration script to set rmem/wmem ( #1647 ) ( #1648 )
...
* Added a new remote node configuration script to set rmem/wmem
* Update common.sh for rmem/wmem configuration
2018-10-30 10:48:56 -07:00
Michael Vines
92cd2d09ed
Permit {INC,LLVM,OUT,SRC,SYSTEM_INC}_DIRs to be overridden
2018-10-30 07:59:22 -07:00
Michael Vines
a40122548f
Add programs/bpf/c/sdk entries
2018-10-29 20:52:34 -07:00
Michael Vines
6e27f797bd
Use NUM_KA
2018-10-29 20:52:34 -07:00
Michael Vines
476a585222
README updates
2018-10-29 20:52:34 -07:00
Michael Vines
aa74ddb6c0
LD -> LLC
2018-10-29 20:52:34 -07:00
Michael Vines
95921ce129
Add extern "C" block
2018-10-29 20:52:34 -07:00
Michael Vines
ee6d00a2fe
Use #pragma once, it's widely supported
...
Fix up some spelling too
2018-10-29 20:52:34 -07:00
Michael Vines
212cbc4977
Rename sol_bpf_c.h to sol_bpf.h
2018-10-29 20:52:34 -07:00
Michael Vines
a6af1ba08d
slight reformatting
2018-10-29 20:52:34 -07:00
Michael Vines
ee27e9e1cf
Apply some const
2018-10-29 20:52:34 -07:00
Michael Vines
4d21ee0546
Include system includes in .d, remove unneeded tabs
2018-10-29 20:52:34 -07:00
Michael Vines
493a2477b5
Tune make output
2018-10-29 19:32:20 -07:00
Michael Vines
e284af33b9
Create programs/bpf/c/sdk/
2018-10-29 19:10:54 -07:00
Pankaj Garg
f0aa14e135
Run bench-tps for longer duration in testnet ( #1638 ) ( #1639 )
...
- Increased to 2+ hours
2018-10-29 15:23:01 -07:00
Pankaj Garg
fb9d8dfa99
Increase rmem and wmem for remote nodes in testnet ( #1635 ) ( #1637 )
2018-10-29 14:36:26 -07:00
Michael Vines
4b02bbc802
Remove unnecessary checks
2018-10-29 13:27:14 -07:00
Michael Vines
18cf660f61
Create/publish bpf-sdk tarball
2018-10-29 13:04:20 -07:00
Michael Vines
376303a1eb
Add utility to figure the current crate version
2018-10-29 13:04:20 -07:00
Michael Vines
f295eb06d0
Add llvm install info
2018-10-29 09:44:03 -07:00
Michael Vines
f423f61d8b
Ignore out/
2018-10-29 09:44:03 -07:00
Michael Vines
94b06b2cbf
Use V=1 for verbosity, easier to type
2018-10-29 09:44:03 -07:00
Michael Vines
9b2fc8cde7
Find llvm using brew on macOS
2018-10-29 09:44:03 -07:00
Michael Vines
d810752e86
Remove VoteProgram references
2018-10-26 21:10:05 -07:00
jackcmay
fdaad1d85b
Program_ids were overlapping ( #1626 )
...
Program_ids were overlapping
2018-10-26 21:10:05 -07:00
jackcmay
7f29c1fe23
Cleanup c programs ( #1620 )
...
Cleanup C programs
2018-10-26 21:10:05 -07:00
Stephen Akridge
68df9d06db
Bump version number to pick up fixed cuda library
...
Has fix for unaligned memory access in chacha_encrypt_many_sample
function.
2018-10-26 21:10:05 -07:00
Stephen Akridge
b60cb48c18
Use a smaller test value for window_size
...
Otherwise this test takes forever to run.
2018-10-26 21:10:05 -07:00
Michael Vines
0fee854220
Revert "Vote contract ( #1552 )"
...
This reverts commit f6c8e1a4bf
.
2018-10-26 09:50:35 -07:00
Michael Vines
0cc7bbfe7d
Revert "cargo fmt"
...
This reverts commit 68834bd4c5
.
2018-10-26 09:50:35 -07:00
Michael Vines
68834bd4c5
cargo fmt
2018-10-25 17:24:40 -07:00
Michael Vines
2df40cf9c9
Revert "0.10.0-pre2"
...
This reverts commit 48685cf766
.
2018-10-25 17:20:37 -07:00
Michael Vines
f671b7f63f
Publish root crate too
2018-10-25 17:16:18 -07:00
Michael Vines
236113e417
cargo fmt
2018-10-25 17:13:41 -07:00
Michael Vines
a340b18b19
Upgrade to rust 1.30
2018-10-25 17:13:41 -07:00
carllin
f6c8e1a4bf
Vote contract ( #1552 )
...
* Add Vote Contract
* Move ownership of LeaderScheduler from Fullnode to the bank
* Modified ReplicateStage to consume leader information from bank
* Restart RPC Services in Leader To Validator Transition
* Make VoteContract Context Free
* Remove voting from ClusterInfo and Tpu
* Remove dependency on ActiveValidators in LeaderScheduler
* Switch VoteContract to have two steps 1) Register 2) Vote. Change thin client to create + register a voting account on fullnode startup
* Remove check in leader_to_validator transition for unique references to bank, b/c jsonrpc service and rpcpubsub hold references through jsonhttpserver
2018-10-25 16:58:40 -07:00
Michael Vines
160cff4a30
Check for TRIGGERED_BUILDKITE_TAG
2018-10-25 16:37:54 -07:00
Michael Vines
48685cf766
0.10.0-pre2
2018-10-25 16:19:31 -07:00
Michael Vines
0f32102684
Restrict characters to those supported by semvar_bash
2018-10-25 16:19:00 -07:00
Michael Vines
d46682d1f2
Restrict characters to those supported by semvar_bash
2018-10-25 16:12:29 -07:00
carllin
55833e20b1
Create Poh Service ( #1604 )
...
* Create new Poh Service, replace tick generation in BankingStage
2018-10-25 14:56:21 -07:00
Tyera Eulberg
02cfa76916
Plumb GetTransactionCount through solana-wallet
2018-10-25 14:58:51 -06:00
Tyera Eulberg
9314eea7e9
Add leader-readiness test to wallet-sanity
2018-10-25 14:58:51 -06:00
Michael Vines
1733beabf7
mv common/ sdk/
2018-10-25 13:26:10 -07:00
Michael Vines
471d8f6ff9
Fix up the version references to all other internal crates
2018-10-25 12:54:32 -07:00
Michael Vines
e47fcb196b
s/solana_program_interface/solana[_-]sdk/g
2018-10-25 12:31:45 -07:00
Michael Vines
3ae53961c8
Support prerelease versioning
2018-10-25 12:31:45 -07:00
Michael Vines
113b002095
Delete programs/native/move_funds
2018-10-25 11:37:38 -07:00
Michael Vines
9447537d8c
Increment internal Cargo references to solana_program_interface
2018-10-25 11:03:03 -07:00
Greg Fitzgerald
7404b8739e
Make template headers smaller
2018-10-25 11:51:37 -06:00
Greg Fitzgerald
7239395d95
Add Issue and PR templates
2018-10-25 11:51:37 -06:00
Michael Vines
926d459c8f
Script away cargo version bumping
2018-10-25 09:38:58 -07:00
Michael Vines
7cabe203dc
Sync version with top-level Cargo.toml
2018-10-25 09:38:58 -07:00
Stephen Akridge
1e53f4266a
Fetch perf-libs with configurable packet size
...
sig verify library uses passed in size directly
to get packet size, so rust side can be modified
without changing cuda library.
2018-10-25 08:26:35 -07:00
jackcmay
24b513c3c7
Migrate to latest rbpf ( #1605 )
...
Migrate to updated rbpf
2018-10-25 02:58:04 -07:00
Michael Vines
b982595c73
Add version check and rustup
2018-10-24 19:48:58 -07:00
Michael Vines
af8a36b7fb
Exclude chacha_cuda when chacha is disabled
2018-10-24 17:02:46 -07:00
Michael Vines
208e7d7943
Explicitly reject transactions larger than PACKET_SIZE
2018-10-24 15:34:27 -07:00
Greg Fitzgerald
557736f1cf
Split leader rotation into separate RFC
2018-10-24 13:16:06 -06:00
Stephen Akridge
61927e1941
Fix compile error for write_entries
...
Takes a reference now.
2018-10-24 11:31:30 -07:00
Jack May
fc75827aaf
.gitignore *.log
2018-10-24 10:58:27 -07:00
Tyera Eulberg
2f2531d921
Add retries to Wallet deploy
2018-10-24 11:13:32 -06:00
Tyera Eulberg
d5f20980eb
Incorporate preloaded bpf loader
2018-10-24 11:13:32 -06:00
Tyera Eulberg
21eae981f9
Add deploy method to solana-wallet
2018-10-24 11:13:32 -06:00
Stephen Akridge
ead7f4287a
Storage mining fixups...
...
* Use IV to make unique identies
* Use hex! macro for hex literal and not string converted to u8 slice
* fix sha sampling to control init/end of sha state
2018-10-24 09:58:41 -07:00
Michael Vines
3b33150cfb
Bump drone read timeout to 10s
...
The previous timeout of 3s was not generous enough occasionally
2018-10-24 08:52:41 -07:00
jackcmay
6d34a68e54
Ignore test_leader_restart_validator_start_from_old_ledger ( #1586 )
...
Ignore test_leader_restart_validator_start_from_old_ledger
2018-10-23 18:10:31 -07:00
Pankaj Garg
5c483c9928
remove unused variable
2018-10-23 16:52:56 -06:00
Pankaj Garg
a68c99d782
Fix transaction count on testnet dashboard
2018-10-23 16:52:56 -06:00
Jack May
0aebbae909
Fix message
2018-10-23 15:45:58 -07:00
Jack May
a3a2215bda
Fix warning
2018-10-23 15:45:58 -07:00
jackcmay
eb377993b3
Debug scripts point to debug flavor ( #1585 )
2018-10-23 14:48:50 -07:00
jackcmay
5ca52d785c
Preload BPF loader ( #1573 )
...
Preload BPF loader
2018-10-23 14:44:41 -07:00
Pankaj Garg
8d9912b4e2
Move ledger write to its own stage ( #1577 )
...
* Move ledger write to its own stage
- Also, rename write_stage to leader_vote_stage, as write functionality
is moved to a different stage
* Address review comments
* Fix leader rotation test failure
* address review comments
2018-10-23 14:42:48 -07:00
Michael Vines
c77b1c9687
i
2018-10-23 14:14:09 -07:00
Rob Walker
8849ecd772
capture consensus discussion of 10/10/2018
2018-10-23 15:07:58 -06:00
Michael Vines
7977b97227
Surface AccountInUse to JSON RPC users so they know to retry the transaction
2018-10-23 13:55:30 -07:00
Michael Vines
4f34822900
Improve logging on various error conditions
2018-10-23 13:40:59 -07:00
Pankaj Garg
bbb38ac106
Increase window size ( #1578 )
...
Addresses the following problem
- Validators are not able to keep up with the leader
- The future blobs (outside of window) get dropped
- The validators won't process repair requests for these future blobs
2018-10-23 10:25:01 -07:00
Stephen Akridge
ce934a547e
Storage RFC validator incentive clarification
2018-10-23 09:46:38 -06:00
jackcmay
16b19d35dd
Disable test_boot_validator_from_file ( #1576 )
2018-10-23 00:47:15 -07:00
Michael Vines
45cfa5b574
Add instruction to transfer account ownership
2018-10-20 21:54:25 -05:00
Pankaj Garg
df9ccce5b2
Remove hostname() from calls to metrics as it's expensive operation ( #1557 )
2018-10-20 06:38:20 -07:00
jackcmay
f8516b677a
Load program data in chunks ( #1556 )
...
Load program data in chunks
2018-10-19 18:28:38 -07:00
Pankaj Garg
dfde83bdce
Wildcard early OOM deb package revision ( #1554 )
2018-10-19 14:17:19 -07:00
Stephen Akridge
cb0f19e4f1
Shield rerun-if-changed under the feature flags so
...
that cargo watch doesn't cause re-build every iteration.
2018-10-19 12:07:29 -07:00
Greg Fitzgerald
26b99d3f85
Ensure witness and timestamp keys are signed
...
Before this patch, an attacker could point Budget instructions to
unsigned keys, and authorize a transaction from an unauthorized
party.
2018-10-19 10:06:59 -06:00
Greg Fitzgerald
2f9c0d1d9e
Add method to lookup signed keys
2018-10-19 10:06:59 -06:00
anatoly yakovenko
0423cafbeb
Cleanup and update Smart Contracts Engine RFC to what is currently in the code ( #1539 )
...
* Cleanup and update to the state of the code
* update
* render
* render
* comments on memory allocation
2018-10-19 06:08:49 -07:00
carllin
0bd1412562
Switch leader scheduler to use PoH ticks instead of Entry height ( #1519 )
...
* Add PoH height to process_ledger()
* Moved broadcast_stage Leader Scheduling logic to use Poh height instead of entry_height
* Moved LeaderScheduler logic to PoH in ReplicateStage
* Fix Leader scheduling tests to use PoH instead of entry height
* Change is_leader detection in repair() to use PoH instead of entry height
* Add tests to LeaderScheduler for new functionality
* fix Entry::new and genesis block PoH counts
* Moved LeaderScheduler to PoH ticks
* Cleanup to resolve PR comments
2018-10-18 22:57:48 -07:00
jackcmay
0339642e77
Added TicTacToe Dashboard and tests ( #1547 )
...
* Add tictactoe dashboard and tests
2018-10-18 14:19:25 -07:00
Stephen Akridge
37a0b7b132
Initial validator code for rust side hooks for chacha cuda parallel encrypt
2018-10-18 13:50:19 -07:00
Stephen Akridge
c30b605047
Actually submit the storage mining proof
...
Get an aidrop so replicator can submit mining transaction
Some other minor type cleanup.
2018-10-18 13:50:19 -07:00
Rob Walker
76076d6fad
move last_id age checking into the HashMap
...
* allows for simpler chaining of banks
* looks 1.5-2% faster than looping through a VecDequeue
TODO: remove timestamp()?
2018-10-18 11:07:00 -07:00
jackcmay
0a819ec4e2
Programs were not spawned by SystemProgram ( #1533 )
...
* SystemProgram spawns programs
2018-10-18 10:33:30 -07:00
Michael Vines
57a717056e
Delegate accounts now record the original approved amount
2018-10-18 08:53:25 -07:00
Greg Fitzgerald
856c48541f
Restore elaborate attack
...
The test is showing how you can sneak by verify_plan() but not
verify_signature().
2018-10-18 08:46:02 -06:00
Greg Fitzgerald
2045091c4f
Add SystemProgram::Move ix to Budget tx
2018-10-18 08:46:02 -06:00
Greg Fitzgerald
03ac5a6eef
Move all source tokens into Budget account
...
Budget now assumes the source account holds all tokens the program
should spend.
Note: the static guarantees implied by verify_plan() are meaningless
under the new contract engine. The bank no longer calls it. This
serves as a nice example of where comparing code coverage between
integration tests and unit tests would have shown us where a
change rendered unit tests meaningless.
2018-10-18 08:46:02 -06:00
Greg Fitzgerald
32fadc9c30
Merge debits and credits
...
Debits no longer need to be applied before credits. Instead, we
lock any accounts we'd debit and so error out on the second attempt
to lock the same account.
2018-10-18 08:46:02 -06:00
Greg Fitzgerald
15a89d4f17
Boot Contract type from Budget
...
In the old bank (before the contract engine), Contract wasn't specific
to Budget. It provided the same service as what is now called
SystemProgram::Move, but without requiring a separate account.
2018-10-18 08:46:02 -06:00
Rob Walker
d0f43e9934
consolidate tmp ledgers
2018-10-18 08:45:31 -06:00
Pankaj Garg
31e779d3f2
Added counters to track more metrics on dashboard ( #1535 )
...
- Total number of IP packets TX/RX from all nodes in the testnet
- Last consumed index on validator
- Last transmitted index on leader
2018-10-17 17:32:50 -07:00
Pankaj Garg
30c79fd40d
Change validator node machine type ( #1537 )
...
- The current nodes are using lower RAM compared to leader/clients
2018-10-17 17:16:50 -07:00
Pankaj Garg
639c93460a
Write stage optimizations ( #1534 )
...
- Testnet dashboard shows that channel pressure for write stage
is incrementing on every iteration of write.
- This change optimizes ledger writing by removing cloning of map
and reducing calls to flush
2018-10-17 13:02:32 -07:00
Rob Walker
7611730cdb
move off /tmp
2018-10-17 12:15:30 -07:00
Rob Walker
9df9c1433a
remove another use of /tmp
2018-10-17 12:15:30 -07:00
Rob Walker
4ea422bcec
run integration tests serially
2018-10-17 11:37:10 -07:00
Greg Fitzgerald
6074e4f962
Attempt to stabilize the test suite
...
The integration tests are allowed to open sockets, so running them
in parallel may cause "Too many open files" errors. This patch
runs the unit tests in parallel and the integration test serially.
2018-10-17 11:37:10 -07:00
Nikhil Saraf
d52e6d01ec
typo in readme
2018-10-17 02:04:05 -06:00
Jack May
63caca33be
SystemProgram test was failing due to expected panic
2018-10-16 18:02:44 -07:00
Jack May
64efa62a74
enable logging in loaders
2018-10-16 16:55:11 -07:00
Rob Walker
912eb5e8e9
remove bank.is_leader, dead code ( #1516 )
2018-10-16 15:26:44 -07:00
Jack May
bb628e8495
Rename loaders
2018-10-16 14:27:08 -07:00
Jack May
d0c19c2c97
cargo fmt
2018-10-16 14:11:04 -07:00
Jack May
926fdb7519
Rename dynamic_program.rs to native_loader.rs
2018-10-16 14:11:04 -07:00
jackcmay
c886625c83
Move from solana/rbpf fork to qmonnet/rbpf ( #1511 )
2018-10-16 13:13:54 -07:00
Pankaj Garg
f6c10d8a2e
Add channel pressure for validator TVU stages ( #1509 )
2018-10-16 12:54:23 -07:00
anatoly yakovenko
2bd877528f
Par process entries ( #1499 )
...
* Parallel entry processor.
2018-10-16 12:09:48 -07:00
jackcmay
d09889b1dd
Program bank integration ( #1462 )
...
Native, BPF and Lua loaders integrated into the bank
2018-10-16 09:43:49 -07:00
Tyera Eulberg
1b2e9122d5
Pubsub listen on random open port when rpc does (quiet some test errors)
2018-10-16 00:11:26 -06:00
Tyera Eulberg
7424388924
Fix session drop
2018-10-16 00:11:26 -06:00
Michael Vines
537436bd5e
RPC PubSub now uses a well-known socket
2018-10-16 00:11:26 -06:00
Pankaj Garg
32fc0cd7e9
Fix bug introduced during RUST_LOG escaping ( #1507 )
...
* Fix bug introduced during RUST_LOG escaping
- remote node configuration should not be quoted
* shellcheck disable SC2090
2018-10-15 16:49:22 -07:00
Tyera Eulberg
fb99494858
Improve rpc code coverage ( #1487 )
2018-10-15 11:01:40 -06:00
Greg Fitzgerald
5b4d4b97bc
Upgrade to latest stable Rust, 1.29.2
2018-10-15 09:54:24 -06:00
Michael Vines
c5180c8092
Permit RUST_LOG overrides
2018-10-14 12:40:37 -07:00
Greg Fitzgerald
515c200d86
Refactor and add test for new Entry::serialized_size()
2018-10-14 10:53:47 -06:00
Greg Fitzgerald
32aab82e32
Don't allocate to see if transactions will fit in a blob
2018-10-14 10:53:47 -06:00
anatoly yakovenko
6aaa350145
effeciently pack gossip responsens and only respond up to max size. ( #1493 )
2018-10-14 06:45:02 -07:00
Michael Vines
d3b4dfe104
Add bool return to entrypoint signature to permit programs to fail transactions
2018-10-13 20:01:43 -07:00
Pankaj Garg
9fc30f6db4
Escape RUST_LOG configuration in remote-node.sh ( #1489 )
...
* Escape RUST_LOG configuration in remote-node.sh
- If it was set to #, it was causing other parameters to be commented out
* escape other variables as well
* disabled shell check
* Fix shellcheck error
2018-10-13 13:35:54 -07:00
Michael Vines
2d0f07091d
Handle dynamic program dlopen failures gracefully
2018-10-13 11:31:10 -07:00
Michael Vines
3828eda507
Demote log messages
2018-10-13 11:31:10 -07:00
Michael Vines
1e736ec16d
Demote log messages
2018-10-12 20:16:57 -07:00
Anatoly Yakovenko
bba6437ea9
Use a single structure for last_ids and last_ids_sigs
2018-10-12 16:39:35 -07:00
Pankaj Garg
e5ab9a856c
Upload bench output as build artifacts ( #1478 )
...
* Upload bench output as build artifacts
* Fix tags types
* Pull previous stats from metrics
* Change the default branch for comparison
* Fix formatting
* Fix build errors
* Address review comments
* Dedup some common code
* Add eval for channel info to find branch name
2018-10-12 15:13:10 -07:00
Tyera Eulberg
1515bba9c6
Use cluster_info in rpc to get current leader addresses ( #1480 )
2018-10-12 14:25:56 -06:00
Rob Walker
14a9ef4bbe
move PoH verification off bank.last_id() ( #1476 )
2018-10-12 11:50:34 -07:00
Michael Vines
041040c659
pubsub.rs -> rpc_pubsub.rs
2018-10-12 08:39:06 -07:00
carllin
47f69f2d24
1) Switch broken tests to generate an empty tick in their ledgers to use as last_id, 2) Fix bug where PoH generator in BankingStage did not referenced the last tick instead of the last entry on startup, causing ledger verification to fail on the new tick added by the PoH generator ( #1479 )
2018-10-12 00:39:10 -07:00
Stephen Akridge
9dd4dc2088
Mark failing tests as ignore
2018-10-11 15:32:36 -07:00
Tyera Eulberg
b534c32ee3
New minor version for jsonrpc crates
2018-10-11 13:35:06 -06:00
Tyera Eulberg
d2712f1457
Specify patch for jsonrpc crates
2018-10-11 11:38:14 -07:00
Stephen Akridge
183f560d06
Add raw entries interface to ledger for getting slices as [u8]
2018-10-11 09:40:34 -07:00
Michael Vines
ae150c0897
Remove getAddress, it doesn't exist
2018-10-11 08:28:39 -07:00
Michael Vines
606e1396cf
Fix link
2018-10-11 08:25:38 -07:00
anatoly yakovenko
5c85e037f8
Tick entry ids as only valid last_ids ( #1441 )
...
Generate tick entry ids and only register ticks as the last_id expected by the bank. Since the bank is MT, the in-flight pipeline of transactions cannot be close to the end of the queue or there is a high possibility that a starved thread will encode an expired last_id into the ledger. The banking_stage therefore uses a shorter age limit for encoded last_ids then the validators.
Bench client doesn't send transactions that are older then 30 seconds.
2018-10-10 17:23:06 -07:00
Michael Vines
5c523716aa
Ship native programs
2018-10-10 16:49:48 -07:00
Michael Vines
5f8cbf359e
Use cdylib to avoid runtime libstd dependencies
2018-10-10 16:49:48 -07:00
Michael Vines
e83834e6be
Build native programs in release configuration
2018-10-10 16:49:48 -07:00
Michael Vines
02225aa95c
Look for native programs in same directory as the current executable
2018-10-10 16:49:48 -07:00
carllin
9931ac9780
Leader scheduler plumbing ( #1440 )
...
* Added LeaderScheduler module and tests
* plumbing for LeaderScheduler in Fullnode + tests. Add vote processing for active set to ReplicateStage and WriteStage
* Add LeaderScheduler plumbing for Tvu, window, and tests
* Fix bank and switch tests to use new LeaderScheduler
* move leader rotation check from window service to replicate stage
* Add replicate_stage leader rotation exit test
* removed leader scheduler from the window service and associated modules/tests
* Corrected is_leader calculation in repair() function in window.rs
* Integrate LeaderScheduler with write_stage for leader to validator transitions
* Integrated LeaderScheduler with BroadcastStage
* Removed gossip leader rotation from crdt
* Add multi validator, leader test
* Comments and cleanup
* Remove unneeded checks from broadcast stage
* Fix case where a validator/leader need to immediately transition on startup after reading ledger and seeing they are not in the correct role
* Set new leader in validator -> validator transitions
* Clean up for PR comments, refactor LeaderScheduler from process_entry/process_ledger_tail
* Cleaned out LeaderScheduler options, implemented LeaderScheduler strategy that only picks the bootstrap leader to support existing tests, drone/airdrops
* Ignore test_full_leader_validator_network test due to bug where the next leader in line fails to get the last entry before rotation (b/c it hasn't started up yet). Added a test test_dropped_handoff_recovery go track this bug
2018-10-10 16:49:41 -07:00
Greg Fitzgerald
2ba2bc72ca
Cleanup multisig lua
2018-10-10 17:17:17 -06:00
Greg Fitzgerald
45b8ba9ede
Demo M-N multisig library in Lua
2018-10-10 17:17:17 -06:00
Michael Vines
40968e09b7
Do a *little* more than noop
2018-10-10 15:57:30 -07:00
Michael Vines
262f26cf76
SystemProgram transactions now fail on invalid arguments
2018-10-10 15:19:03 -07:00
Tyera Eulberg
785c619198
Add pubsub module for rpc info subscriptions ( #1439 )
2018-10-10 14:51:43 -06:00
Michael Vines
24a993710d
Avoid panic when account.source is None
2018-10-10 10:53:00 -07:00
Pankaj Garg
c240bb12ae
Change buildkite agent for testnet automation
2018-10-09 15:04:55 -07:00
Michael Vines
eed3b9db94
Add ERC20-like Token program
2018-10-09 12:53:37 -07:00
Pankaj Garg
29a8823db1
Env variables for testnet-automation parameters ( #1455 )
...
- This will enable us to create custom pipelines for field events
2018-10-09 11:50:56 -07:00
Pankaj Garg
a80955eacb
Change format of data for TPS/Finality metrics in testnet automation ( #1446 )
...
* Change format of data for TPS/Finality metrics in testnet automation
* Revert number of nodes for testnet automation
* Split python command to its own script
* Fix python command line arguments
2018-10-09 10:35:01 -07:00
Greg Fitzgerald
9716c3de71
Add an abort test to justify a key field
2018-10-09 11:06:48 -06:00
Greg Fitzgerald
34fa3208e0
Demo self-modifying Lua program
...
Also, drop dependency on bincode.
2018-10-09 11:06:48 -06:00
Greg Fitzgerald
9c4e19958b
Use accounts[1] for Lua code and tx userdata as arg data
...
This makes the Lua version nearly identical to the C one.
2018-10-09 11:06:48 -06:00
Greg Fitzgerald
0403299728
Add context-free Lua smart contracts
...
lua_State is not preserved across runs and account userdata is not converted into
Lua values. All this allows us to do is manipulate the number of tokens
in each account and DoS the Fullnode with those three little words,
"repeat until false".
Why bother? Research. rlua's project goals are well-aligned with the LAMPORT runtime.
What's next:
* rlua to add security limits, such as number of instructions executed
* Add a way to deserialize Account::userdata OR use Account::program_id
to look up a metatable for lua_newuserdata().
2018-10-09 11:06:48 -06:00
Greg Fitzgerald
95701114e3
Crdt -> ClusterInfo
2018-10-09 03:49:39 -06:00
Rob Walker
a99d17c3ac
put temp, test files in OUT_DIR ( #1448 )
2018-10-08 16:15:17 -07:00
Tyera Eulberg
517149d325
Move rpc request methods from wallet into separate module
2018-10-08 13:02:08 -06:00
Michael Vines
32aa2575b5
Purge BudgetTransaction from entry
2018-10-08 11:34:04 -07:00
Michael Vines
8fe7b96629
Purge BudgetTransaction from banking_stage
2018-10-08 11:34:04 -07:00
anatoly yakovenko
9350619afa
log to influx once ( #1438 )
2018-10-06 14:37:14 -07:00
anatoly yakovenko
d8d8f0bfc8
Fund all the keys with move many transactions ( #1436 )
...
* Fund all the keys with move many transactions
* logs
2018-10-05 16:45:27 -07:00
Pankaj Garg
0a39722719
Add support to trigger testnet from a PR ( #1434 )
...
* Add support for different node counts
* Update variable names
* Delete network even after failures
* Add array for node counts
* Changed number of nodes to a space separated string of numbers
* Adjust number of nodes
* Snap will not be published if the env variable DO_NOT_PUBLISH_SNAP is set
* Address review comments
* Replaced influx db URL
2018-10-05 16:32:05 -07:00
Greg Fitzgerald
9c0fa4d1d2
Upload coverage HTML reports ( #1421 )
...
Uploads two reports to Buildkite, one from cargo-cov and one from lcov via grcov. The lcov one is busted on linux and is what we need to bring codecov.io back up again. It works great on macos if you wanted to generate them locally and prefer lcov HTML reports.
* Also comment out non-coverage build to speed things up.
2018-10-05 10:17:35 -07:00
Greg Fitzgerald
da0404ad03
Reduce maintenance of maintainers list
2018-10-04 23:05:08 -07:00
Greg Fitzgerald
b508fdb62c
Cleanup field names
2018-10-04 16:51:05 -07:00
Jack May
680f90df21
Fix comment
2018-10-04 14:21:06 -07:00
anatoly yakovenko
1a68807ad9
Enable mt-bank ( #1368 )
...
* Enable mt-bank
* cleanup and interleaving lock tests
2018-10-04 13:15:54 -07:00
Jack May
d901767b54
Makefile is not relevant
2018-10-04 10:35:48 -07:00
jackcmay
13d4443d4d
Add BPF support & C-based BPF tic-tac-toe ( #1422 )
...
Add initial support for BPF and a C port of tictactoe
2018-10-04 09:44:44 -07:00
Carl
74b63c12a0
Add tests to LeaderScheduler to increase code coverage
2018-10-03 21:58:29 -07:00
Carl
cd42f6591a
PR fixes - remove redundant case
2018-10-03 21:58:29 -07:00
Carl
5491422b12
Fix validator_to_leader_transition test to not start up tpu after shutting down tvu, as the tpu now outputs ticks that will mess up the verification check
2018-10-03 21:58:29 -07:00
Carl
23f3ff3cf0
Added LeaderScheduler module and tests
2018-10-03 21:58:29 -07:00
Michael Vines
f90488c77b
Demote 'not enough peers in crdt table' log message
2018-10-02 22:00:54 -07:00
Michael Vines
beb4536841
Run a fullnode+drone automatically when the container starts up
2018-10-02 18:09:35 -07:00
Stephen Akridge
3fa46dd66d
Add replicator sha sampling
...
replicator will submit mining proofs with the result of sampling
the encrypted file with a hashing algorithm.
2018-10-02 17:04:46 -07:00
Michael Vines
ad5fcf778f
Publish minimal Solana docker images to dockerhub
2018-10-02 16:57:48 -07:00
Michael Vines
83b000ae88
Remove SNAP_ prefix
2018-10-02 16:57:48 -07:00
dependabot[bot]
33e179caa6
Update sha2 requirement from 0.7.0 to 0.8.0
...
Updates the requirements on [sha2](https://github.com/RustCrypto/hashes ) to permit the latest version.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/commits/sha2-v0.8.0 )
Signed-off-by: dependabot[bot] <support@dependabot.com >
2018-10-02 09:00:05 -06:00
Michael Vines
b1e941cab9
Return all instances
2018-10-01 07:51:48 -07:00
Michael Vines
6db961d256
Correct comment
2018-09-30 00:08:09 -07:00
Michael Vines
83409ded59
Correctly deserialize large userdata
2018-09-29 19:39:54 -07:00
Michael Vines
396b2e9772
Ignore keep alive for completed games
2018-09-29 19:39:54 -07:00
Greg Fitzgerald
94459deb94
Disable codecov.io reporting
2018-09-28 19:19:16 -07:00
Greg Fitzgerald
660af84b8d
Use the same versions of llvm-cov and libprofile
2018-09-28 19:19:16 -07:00
Greg Fitzgerald
7b31020903
Add back llvm-dev for llvm-cov
2018-09-28 19:19:16 -07:00
Greg Fitzgerald
9a4143b4d9
Upgrade llvm-dev and boot kcov
...
Need clang-dev, not llvm-dev because cargo-cov looks for libprofile
in a clang installation directory.
2018-09-28 19:19:16 -07:00
Greg Fitzgerald
aebc47ad55
Attempt coverage reporting
2018-09-28 19:19:16 -07:00
Greg Fitzgerald
b6b5455917
Fix test in coverage build
2018-09-28 19:19:16 -07:00
Greg Fitzgerald
5bc01cd51a
Revive code coverage
2018-09-28 19:19:16 -07:00
Michael Vines
c79acac37b
Add tic-tac-toe dashboard program
2018-09-28 18:48:34 -07:00
Michael Vines
a5f2aa6777
s/grid/board/g
2018-09-28 18:48:34 -07:00
Michael Vines
4169e5c510
Simplify game setup messaging
2018-09-28 18:48:34 -07:00
Michael Vines
0727c440b3
Add KeepAlive message so players can detect abandoned games
2018-09-28 18:48:34 -07:00
Greg Fitzgerald
19a7ff0c43
Pin down nightly in benchmark build
2018-09-28 19:29:50 -06:00
Greg Fitzgerald
5f18403199
Upgrade nightly
2018-09-28 19:29:50 -06:00
Tyera Eulberg
9f325fca09
Re-enable cargo audit
2018-09-28 17:53:41 -06:00
Tyera Eulberg
10d08acefa
Reenable cargo audit
2018-09-28 17:53:41 -06:00
Tyera Eulberg
52d50e6bc4
Update for new solana-jsonrpc
2018-09-28 17:53:41 -06:00
anatoly yakovenko
e7de7c32db
Transactions with multiple programs. ( #1381 )
...
Transactions contain a vector of instructions that are executed atomically.
Bench shows a 2.3x speed up when using 5 instructions per tx.
2018-09-28 16:16:35 -07:00
Stephen Akridge
a5f07638ec
Use static str define for ledger files
2018-09-28 14:23:37 -07:00
Stephen Akridge
aa2a3fe201
Add chacha module to encrypt ledger files
2018-09-28 14:23:37 -07:00
Jack May
abd13ba4ca
move program tests to integration
2018-09-28 11:30:10 -07:00
Greg Fitzgerald
485ba093b3
Install kcov to CI environment
2018-09-28 11:20:27 -06:00
Tyera Eulberg
36b18e4fb5
Create new wallet on each run of wallet-sanity
2018-09-28 07:39:31 -07:00
Michael Vines
8d92232949
Specify zone
2018-09-28 07:32:49 -07:00
Michael Vines
e4d8c094a4
Include -z when deleting network
2018-09-27 21:27:09 -07:00
Michael Vines
d26e1c51a9
0.10.0
2018-09-27 16:38:53 -07:00
Greg Fitzgerald
675ff64094
Fail CI on clippy warnings
2018-09-27 16:21:12 -06:00
Greg Fitzgerald
423e7ebc3f
Pacify clippy
2018-09-27 16:21:12 -06:00
Greg Fitzgerald
f9fe6a0f72
Move clippy to Rust stable
2018-09-27 16:21:12 -06:00
Greg Fitzgerald
8d007bd7f7
Upgrade rustc and add clippy to stable
2018-09-27 16:21:12 -06:00
Stephen Akridge
6cdbdfbbcb
Enable bench and fix upload-perf
2018-09-27 14:16:56 -07:00
Pankaj Garg
35e6343d61
Update testnet-deploy script to configure GPUs for leader node ( #1379 )
2018-09-27 13:42:24 -07:00
Pankaj Garg
7fb7839c8f
Configure GPU type/count from command line in GCE scripts ( #1376 )
...
* Configure GPU type/count from command line in GCE scripts
* Change CLI to input full leader machine type information with GPU
2018-09-27 11:55:56 -07:00
Tyera Eulberg
dbc1ffc75e
Use jsonrpc fork
2018-09-27 12:50:38 -06:00
Michael Vines
1fdbe893c5
Improve game setup experience: X now shares game key and accepts O
2018-09-27 10:44:13 -07: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
Anatoly Yakovenko
2e00be262e
Remove data from BankError.
...
This reduces how much memory is written to last_id_sigs table on very TX, and has a 40% impact on
`cargo +nightly watch -x 'bench bench_banking_stage'`
2018-09-27 09:07:56 -06:00
Greg Fitzgerald
4172bde081
Only send a vote once a second
2018-09-27 09:06:41 -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
874addc51a
Move KeyedAccount into Account
...
Now programs don't need to depend on dynamic_program and its
dependencies.
2018-09-26 20:40:40 -06:00
Greg Fitzgerald
b7ae5b712a
Move Pubkey into its own module
2018-09-26 20:40:40 -06:00
Greg Fitzgerald
c6d7cd2d33
Move Account into its own module
...
Also use default Default generator, since system program ID is
[0; 32]. Bank should probably be the one to set this anyway.
2018-09-26 20:40:40 -06:00
Rob Walker
386a96b7e0
capture multinode logs by default ( #1367 )
2018-09-26 19:30:40 -07:00
Michael Vines
b238c57179
Add trace! when an error is mapped to GenericFailure
2018-09-26 19:30:20 -07:00
Michael Vines
1821e72812
Add getSignatureStatus
2018-09-26 19:00:34 -07:00
Rob Walker
a23c230603
fix reverse loop in write_stage, simplify banking_stage, add tooling to help find this ( #1366 )
2018-09-26 18:37:24 -07:00
Greg Fitzgerald
4e01fd5458
Update test to show when we should collect tx fees
...
See #1157 for details. The `from` account should be cloned
before execute_transaction(), and that's the only one that should
be stored if there's an error executing the program.
2018-09-26 19:30:27 -06:00
Greg Fitzgerald
e416cf7adf
Let clients know when transactions failed
2018-09-26 19:30:27 -06:00
Anatoly Yakovenko
25edb9e447
fix benches
2018-09-26 19:29:46 -06:00
Anatoly Yakovenko
93c4f6c9b8
Synchronize PoH, bank last_id queue and ledger entry channel.
...
PoH, bank's last_id queue and the Entry channel need to have a synchronized order of ids.
2018-09-26 16:19:03 -07:00
Anatoly Yakovenko
718031ec35
Ignore the test_leader_to_validator_transition until it can handle PoH entries
2018-09-26 16:59:57 -06:00
Stephen Akridge
d546614936
Handle deserialize failure with error
2018-09-26 15:17:07 -07:00
Greg Fitzgerald
ac8d738045
Don't call unwrap() in StorageProgram::process_tx
2018-09-26 15:17:07 -07:00
Greg Fitzgerald
ca962371b8
Fix build
...
Two PRs crossed in flight.
2018-09-26 14:40:48 -06:00
Rob Walker
e6f8922e35
fix issue #1347 ( #1355 )
2018-09-26 13:31:39 -07:00
Greg Fitzgerald
7292ece7ad
Free up term instruction for new multi-instruction feature
2018-09-26 14:17:15 -06:00
Greg Fitzgerald
df3b78c18c
Move BudgetTransaction into its own module
2018-09-26 14:17:15 -06:00
Greg Fitzgerald
c83dcea87d
Move SystemTransaction into its own module
2018-09-26 14:17:15 -06:00
Greg Fitzgerald
be20c99758
Promote the one true transaction constructor
2018-09-26 14:17:15 -06:00
Greg Fitzgerald
694add9919
Move budget-specific and system-specific tx constructors into traits
...
These functions pull in budget-specific and system-specific
dependencies that aren't needed by the runtime.
2018-09-26 14:17:15 -06:00
Michael Vines
afc764752c
Permit testnets without a GPU
2018-09-26 10:37:41 -07:00
Tyera Eulberg
113c8b5880
Rollback jsonrpc SendTransaction pool for signature; ignore flaky tests
2018-09-26 10:25:29 -07:00
Stephen Akridge
a5b28349ed
Add max entry height to download for replicator
2018-09-26 09:57:22 -07:00
Greg Fitzgerald
bb7ecc7cd9
Migrate to solana-labs fork of jsonrpc
...
This changes aims to be a no-op. Future changes to rev should be
along the new solana-0.1 branch.
2018-09-26 10:08:37 -06:00
Tyera Eulberg
14bc160674
Clean up test and add signature return to rpc send tx
2018-09-25 16:38:51 -07:00
Tyera Eulberg
d438c22618
Update RFC
2018-09-25 16:38:51 -07:00
Tyera Eulberg
bcbae0a64f
Fix witness functionality
2018-09-25 16:38:51 -07:00
Tyera Eulberg
f636408647
Fix timestamp and cancel functionality
...
- Also serialize and send helper fn
2018-09-25 16:38:51 -07:00
Tyera Eulberg
3ffc7aa5bc
Add helper fn to get last id
2018-09-25 16:38:51 -07:00
Tyera Eulberg
7b7e8c0d3f
Clippy
2018-09-25 16:38:51 -07:00
Tyera Eulberg
11ea9e7c4b
Add cancelable handling
2018-09-25 16:38:51 -07:00
Tyera Eulberg
2b82121325
Fix wallet-sanity to reflect new wallet arg syntax
2018-09-25 16:38:51 -07:00
Tyera Eulberg
5038e5ccd7
Preliminary Wallet-Budget functionality
2018-09-25 16:38:51 -07:00
Tyera Eulberg
e943ed8caf
Expand parse_command and add tests
2018-09-25 16:38:51 -07:00
Tyera Eulberg
c196952afd
Flesh out Wallet CLI & add placeholder WalletCommands
2018-09-25 16:38:51 -07:00
carllin
e7383a7e66
Validator to leader ( #1303 )
...
* Add check in window_service to exit in checks for leader rotation, and propagate that service exit up to fullnode
* Added logic to shutdown Tvu once ReplicateStage finishes
* Added test for successfully shutting down validator and starting up leader
* Add test for leader validator interaction
* fix streamer to check for exit signal before checking socket again to prevent busy leaders from never returning
* PR comments - Rewrite make_consecutive_blobs() function, revert genesis function change
2018-09-25 15:41:29 -07:00
Rob Walker
8a7545197f
move tick generation back to banking_stage, add unit tests ( #1332 )
...
* move tick generation back to banking_stage, add unit tests
fixes #1217
* remove channel() stuff for synchronous comm; use a mutex
2018-09-25 15:01:51 -07:00
Greg Fitzgerald
680072e5e2
No need to special case vote failures
2018-09-25 13:43:35 -06:00
Greg Fitzgerald
4ca377a655
Delete dead code
2018-09-25 13:43:35 -06:00
Tyera Eulberg
751dd7eebb
Move vote into ReplicateStage after process_entries
2018-09-25 13:43:35 -06:00
Michael Vines
8f0e0c4440
Add tic-tac-toe program
2018-09-25 12:07:41 -07:00
Michael Vines
50cf73500e
Remove rfc 004
2018-09-25 12:07:41 -07:00
Tyera Eulberg
db310a044c
Add Budget::And element, and supporting functions ( #1329 )
2018-09-25 12:38:13 -06:00
Rob Walker
88a609ade5
groom write_stage
2018-09-25 00:18:35 -07:00
Rob Walker
304d63623f
give replication some time to happen
...
fixes #1307
2018-09-24 23:57:09 -07:00
Rob Walker
407b2682e8
remove dead code
2018-09-24 23:12:09 -07:00
Pankaj Garg
0f4fd8367d
Add counters for channel pressure and time spent in TPU pipeline ( #1324 )
...
* Add counters for channel pressure and time spent in TPU pipeline
* Fixed failing tests
* Fix rust format issue
2018-09-24 17:13:49 -07:00
Greg Fitzgerald
747ba6a8d3
Boot BudgetState::last_error
2018-09-24 17:14:23 -06:00
Greg Fitzgerald
bb99fd40de
Update transaction status in the bank
...
This will allow jsonrpc to query the system to find out if a
recent transaction failed.
2018-09-24 17:14:23 -06:00
Greg Fitzgerald
e972d6639d
Return errors from BudgetProgram::process_transaction
2018-09-24 17:14:23 -06:00
Greg Fitzgerald
22e77c9485
Add a way of getting transaction errors out of the bank
2018-09-24 17:14:23 -06:00
Pankaj Garg
bc88473030
Increase wmem for kernel network memory usage ( #1323 )
...
- Validators were running out of kernel buffer while retransmitting
blobs
2018-09-24 13:02:56 -07:00
Greg Fitzgerald
95677a81c5
Pacify clippy
2018-09-24 13:36:31 -06:00
Greg Fitzgerald
ea37d29d3a
Pass Bank::process_transactions() a reference to the txs instead of moving them
2018-09-24 13:36:31 -06:00
sakridge
e030673c9d
Do a recv on join to prevent channel destruction ( #1320 )
...
before window thread join
2018-09-24 11:50:37 -07:00
sakridge
3e76efe97e
Fix bench compilation ( #1311 )
2018-09-24 10:40:42 -07:00
Stephen Akridge
f5a30615c1
Ignore replicator startup for now
2018-09-24 09:43:58 -06:00
Michael Vines
e5e325154b
Add --shell argument
2018-09-24 08:05:47 -07:00
Rob Walker
9e3d2956d8
remove last recycle?
2018-09-24 08:09:41 -06:00
jackcmay
26b1466ef6
Initial integration of dynamic contracts and native module loading ( #1256 )
...
* Integration of native dynamic programs
2018-09-23 22:13:44 -07:00
Jack May
a1f01fb8f8
revert is_some to not is_none, causes test failure
2018-09-23 17:09:18 -06:00
Jack May
b2be0e2e5e
fix clippy warning
2018-09-23 17:09:18 -06:00
Jack May
1a45587c08
fix clippy warnings
2018-09-23 17:09:18 -06:00
sakridge
3199f174a3
Add option to pass boot disk type to gce create ( #1308 )
2018-09-22 16:43:47 -07:00
Rob Walker
a51c2f193e
fix Rob and Carl crossing wires
2018-09-21 21:37:25 -07:00
Rob Walker
be31da3dce
lastidnotfound step 2: ( #1300 )
...
lastidnotfound step 2:
* move "record stage", aka poh_service into banking stage
* remove Entry.has_more, is incompatible with leader rotation
* rewrite entry_next_hash in terms of Poh
* simplify and unify transaction hashing (no embedded nulls)
* register_last_entry from banking stage, fixes #1171 (w00t!)
* new PoH doesn't generate empty ledger entries, so some fixes necessary in
multinode tests that rely on that (e.g. giving validators airdrops)
* make window repair less patient, if we've been waiting for an answer,
don't be shy about most recent blobs
* delete recorder and record stage
* make more verbost thin_client error reporting
* more tracing in window (sigh)
2018-09-21 21:01:13 -07:00
sakridge
54b407b4ca
Wait on blob fetch before window, Seems to fix instability ( #1304 )
...
also cleanup ledger.
2018-09-21 18:56:20 -07:00
Tyera Eulberg
e87cac06da
Request/reqwest improvements
...
- Use json macro to simplify request builds
- Add proxy option for reqwest to use TLS
- Add rpc port options for configured nodes
2018-09-21 18:06:20 -06:00
Tyera Eulberg
ad4fef4f09
Doc for rpc_port configuration
2018-09-21 18:06:20 -06:00
Tyera Eulberg
e3b3701e13
Add RPC port option to fullnode
2018-09-21 18:06:20 -06:00
Tyera Eulberg
9228fe11c9
Port Wallet to jsonrpc and fix tests
2018-09-21 18:06:20 -06:00
carllin
5ab38afa51
Changed the window_service in Replicator to send entries instead of blobs ( #1302 )
2018-09-21 16:50:58 -07:00
Rob Walker
e49b8f0ce7
Update poh_service.rs
2018-09-21 16:03:54 -07:00
carllin
c50ac96f75
Moved deserialization of blobs to entries from replicate_stage to window_service ( #1287 )
2018-09-21 16:01:24 -07: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
Rob Walker
3dcee9f79e
Update poh_service.rs
2018-09-21 08:01:24 -07:00
Michael Vines
2614189157
cargo fmt
2018-09-20 19:46:20 -07:00
Michael Vines
beeb09646a
suppress warning: unused variable: recycler
2018-09-20 19:46:20 -07:00
Michael Vines
67f1fbab5f
Treat rustc warnings as errors in CI
2018-09-20 19:46:20 -07:00
Tyera Eulberg
c0e7e43e96
fixup! s/contract/program
2018-09-20 19:33:54 -07:00
Anatoly Yakovenko
9bfead2e01
s/contract/program
2018-09-20 19:33:54 -07:00
Greg Fitzgerald
6073cd57fa
Boot Recycler::recycle()
2018-09-20 17:08:51 -06:00
Michael Vines
5174be5fe7
Rename getAccount to getAccountInfo
2018-09-20 15:18:56 -07:00
Rob Walker
62a18d4c02
step one of lastidnotfound: record_stage->record_service, trim recorder to hashes ( #1281 )
...
step one of lastidnotfound
* record_stage->record_service, trim recorder to hashes
* doc updates, hash multiple without alloc()
cc #1171
2018-09-20 15:02:24 -07:00
Michael Vines
a6c15684c9
Avoid panicking invalid instructions
2018-09-20 14:08:39 -07:00
Michael Vines
5691bf557c
Handle bad account userdata better
2018-09-20 14:08:39 -07:00
Michael Vines
8f01f7cf21
Trace syscalls for more helpful logs
2018-09-20 14:08:39 -07:00
Michael Vines
bb8c94ad2c
Add getAccount JSON RPC request
2018-09-20 13:58:15 -07:00
Greg Fitzgerald
d98e35e095
Delete no longer used PaymentPlan trait
2018-09-20 14:22:45 -06:00
Greg Fitzgerald
3163fbad0e
Remove 'Plan' indirection since it's implied by BUDGET_CONTRACT_ID
2018-09-20 14:22:45 -06:00
Greg Fitzgerald
0172422961
Require a self-assigned account ID
2018-09-20 14:16:14 -06:00
Rob Walker
8ccfb26923
tests for my IP picker
2018-09-20 09:21:09 -07:00
Rob Walker
12a474b6ee
sort local interfaces before selecting one
2018-09-20 09:21:09 -07:00
Greg Fitzgerald
270fd6d61c
Fix compiler warnings
2018-09-20 09:47:36 -06:00
carllin
7b9c7d4150
Cleaned up find_leader_rotation function. Added testing for WriteStage find_leader_rotation_index() function ( #1276 )
2018-09-19 18:16:00 -07:00
Carl
55126f5fb6
Marked Tvu functionality in Fullnode as unused for now
2018-09-19 16:05:31 -07: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
Michael Vines
6732a9078d
Clarify AfterTimestamp wire format
2018-09-19 13:28:35 -07:00
sakridge
2981076a14
Add solana-upload-perf to parse json from bench and upload to influx ( #1166 )
2018-09-19 13:16:55 -07:00
Tyera Eulberg
5740ea3807
RFC 006: Wallet CLI
2018-09-19 12:10:53 -06:00
Carl
cd2d50e06c
Changed transition to restart Rpu rather than modify bank to prevent lock contention
2018-09-19 10:48:05 -06:00
Carl
8c8a4ba705
debugging commit
2018-09-19 10:48:05 -06:00
Carl
b10de40506
Made LEADER_ROTATION_INTERVAL settable so that integration tests don't time out
2018-09-19 10:48:05 -06:00
Carl
2030dfa435
Implement PR comments, tidy up
2018-09-19 10:48:05 -06:00
Carl
bfe64f5f6e
Added integration test for transitioning leader to validator to see that tpu pipeline can exit and restart a tvu. Fixed Tpu and broadcast stage so that exiting later stages in the pipeline also causes earlier stages to exit.
2018-09-19 10:48:05 -06:00
Carl
6d27751365
give fullnode ownership of state needed to dynamically start up a tpu or tvu for role transition
2018-09-19 10:48:05 -06:00
Carl
1fb1c0a681
added jointypes to the stages in the tpu involved in leader rotation
2018-09-19 10:48:05 -06:00
Carl
062f654fe0
formatted code
2018-09-19 10:48:05 -06:00
Carl
d3cb161c36
Added broadcast stage test for leader rotation exit
2018-09-19 10:48:05 -06:00
Carl
98b47d2540
Added check in broadcast stage to exit after transmitting last blob before leader rotation. Also added tests
2018-09-19 10:48:05 -06:00
Carl
f28ba3937b
Added check in write stage to exit when scheduled entry_height for leader rotation is detected
2018-09-19 10:48:05 -06:00
Carl
91cf14e641
Rewrote service trait join() method to allow thread join handles to return values other than ()
2018-09-19 10:48:05 -06:00
dependabot[bot]
7601a8001c
Update reqwest requirement from 0.8.6 to 0.9.0
...
Updates the requirements on [reqwest](https://github.com/seanmonstar/reqwest ) to permit the latest version.
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/commits/v0.9.0 )
Signed-off-by: dependabot[bot] <support@dependabot.com >
2018-09-19 10:47:02 -06:00
Pankaj Garg
0ee6c5bf9d
Read multiple entries in write stage ( #1259 )
...
- Also use rayon to parallelize to_blobs() to maximize CPU usage
2018-09-18 21:45:49 -07:00
Michael Vines
6dee632d67
Remove Signature from ApplySignature
2018-09-18 20:00:42 -07:00
Michael Vines
51e5de4d97
Log specific send_transaction error messages
2018-09-18 16:17:08 -07:00
Michael Vines
1f08b22c8e
Tweak log messages
2018-09-18 16:17:08 -07:00
Michael Vines
83ae5bcee2
Detect binary changes in serialized contract userdata
2018-09-18 16:17:08 -07:00
Michael Vines
339a570b26
Update comment
2018-09-18 16:17:08 -07:00
Pankaj Garg
5310b6e5a2
Move entry->blob creation out of write stage ( #1257 )
...
- The write stage will output vector of entries
- Broadcast stage will create blobs out of the entries
- Helps reduce MIPS requirements for write stage
2018-09-18 13:49:10 -07:00
Pankaj Garg
7d14f44a7c
Move register_entry_id() call out of write stage ( #1253 )
...
* Move register_entry_id() call out of write stage
- Write stage is MIPS intensive and has become a bottleneck for
TPU pipeline
- This will reduce the MIPS requirements for the stage
* Fix rust format issues
2018-09-18 11:42:25 -07:00
Rob Walker
c830eeeae4
Update RELEASE.md
2018-09-18 10:31:26 -07:00
Rob Walker
157fcf1de5
initial RELEASE.md ( #1244 )
...
initial RELEASE.md and RELEASE_TEMPLATE.md
2018-09-18 10:23:15 -07:00
Michael Vines
e050160ce5
Use tagged perf-libs to enable controlled updates
2018-09-18 09:21:44 -07:00
Tyera Eulberg
f273351789
Add missing port number
2018-09-18 09:36:54 -06:00
Michael Vines
aebf7f88e5
Various spelling fixes
2018-09-17 19:37:59 -07:00
Michael Vines
aac1571670
mint now uses the SystemContract instead of Budget
2018-09-17 18:02:40 -07:00
Anatoly Yakovenko
8bae75a8a6
system contract tests
2018-09-17 14:34:55 -07:00
Tyera Eulberg
c2f7ca9d8f
Change process_command return type and improve test
2018-09-17 13:45:47 -07:00
anatoly yakovenko
6ec0e42220
budget as separate contract and system call contract ( #1189 )
...
* budget and system contracts and verification
* contract check_id methods
* system call contract
* verify contract execution rules
* move system into its own file
* allocate before transfer for budget
* store error in budget context
* budget contract and tests without bank
* moved budget of of bank
2018-09-17 13:36:31 -07:00
sakridge
072b244575
Add perf counters for record/write stages ( #1240 )
2018-09-17 11:07:04 -07:00
Tyera Eulberg
7ac9d6c604
Create keygen helper function for use in Wallet CLI, print keypair statement
2018-09-17 11:53:33 -06:00
Tyera Eulberg
0125163190
Remove wallet.sh, update entrypoint syntax for wallet network argument
2018-09-17 11:53:33 -06:00
Tyera Eulberg
a06f4b1d44
Update wallet to trigger keygen if no keypair provided and no keypair found in default location
2018-09-17 11:53:33 -06:00
Tyera Eulberg
10daa015c4
Simplify timeout arg
2018-09-17 11:53:33 -06:00
Tyera Eulberg
0babee39a4
Update wallet to take network arg
2018-09-17 11:53:33 -06:00
Michael Vines
7c08b397eb
Update testnet documentation
2018-09-17 09:26:25 -07:00
Michael Vines
155ee8792f
Add GPU support to ec2-provider
2018-09-17 09:26:25 -07:00
Michael Vines
f89f121d2b
Add AWS EC2 support
2018-09-17 09:26:25 -07:00
Tyera Eulberg
27986d7abb
Standardize CLI help text
2018-09-16 15:17:10 -06:00
Tyera Eulberg
8b7edc6d64
Alphabetize
2018-09-16 15:17:10 -06:00
Michael Vines
7dfab867fe
Mark --outfile parameter as required
2018-09-16 10:49:02 -07:00
Anatoly Yakovenko
fd36954477
clippy
2018-09-15 05:12:53 -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
3ca80c676c
Disable large-network until it's fixed
2018-09-14 20:13:17 -07:00
Pankaj Garg
be7cce1fd2
Tweak GCE scripts for higher node count ( #1229 )
...
* Tweak GCE scripts for higher node count
- Some validators were unable to rsync config from leader when
the node count was high (e.g. 25). Looks like the leader node was
getting more rsync requests in parallel than it count handle.
- This change staggers the validators bootup, and rsync time
* Address review comments
2018-09-14 17:17:08 -07:00
Pankaj Garg
e142aafca9
Use multiple sockets for receiving blobs on validators ( #1228 )
...
* Use multiple sockets for receiving blobs on validators
- The blobs that are broadcasted by leader or retransmitted by peer
validators are received on replicate_port
- Using reuse_addr/reuse_port, multiple sockets can be opened for
the same port
- This allows the kernel to queue data to user space app on multiple
socket queues, preventing over-running one queue
- This helps with reducing packets dropped due to queue over-runs
Fixes #1224
* Fixed failing tests
2018-09-14 16:56:06 -07:00
Michael Vines
4196cf43e8
cargo fmt
2018-09-14 16:37:49 -07:00
Michael Vines
a344eb7dd0
Upgrade rust stable to 1.29
2018-09-14 16:37:49 -07:00
Pankaj Garg
d12537bdb7
Include UDP sent statistics in net stats ( #1225 )
2018-09-14 13:32:13 -07:00
Tyera Eulberg
bcb3b3c21f
Add integration tests to wallet module
2018-09-14 08:21:33 -06:00
Tyera Eulberg
d8c9a1aae9
Add method to run local drone for tests
2018-09-14 08:21:33 -06:00
Tyera Eulberg
9ca2f5b3f7
Move all handling except network/gossip from /bin to wallet module
2018-09-14 08:21:33 -06:00
Rob Walker
9e24775051
update README with v0.8 and update demo scripts to match
2018-09-13 18:37:37 -07:00
sakridge
4dc30ea104
Add recycler stats ( #1187 )
2018-09-13 14:49:48 -07:00
Pankaj Garg
90df6237c6
Implements recvmmsg() for UDP packets ( #1161 )
...
* Implemented recvmmsg() for UDP packets
- This change implements binding between libc API for recvmmsg()
- The function can receive multiple packets using one system call
Fixes #1141
* Added unit tests for recvmmsg()
* Added recv_mmsg() wrapper for non Linux OS
* Address review comments for recvmmsg()
* Remove unnecessary imports
* Moved target specific dependencies to the function
2018-09-13 14:41:28 -07:00
Rob Walker
80caa8fdce
add back some defaults for client.sh
2018-09-13 14:05:53 -07:00
carllin
8706774ea7
Rewrote service trait join() method to allow thread join handles to return values other than () ( #1213 )
2018-09-13 14:00:17 -07:00
Pankaj Garg
1d7e87d430
Increase number of sockets for transaction processing
2018-09-13 14:22:07 -06:00
sakridge
1a4cd763f8
Fix missing recycle in recv_from ( #1205 )
...
In the error case that i>0 (we have blobs to send)
we break out of the loop and do not push the allocated r
to the v array. We should recycle this blob, otherwise it
will be dropped.
2018-09-13 08:29:18 -07:00
Michael Vines
ee74b367ce
Add docker install script
2018-09-12 17:09:37 -07:00
Michael Vines
f06113500d
bench-tps/net sanity: add ability to check for unexpected extra nodes
2018-09-12 15:38:57 -07:00
Rob Walker
9ab5692acf
fix "leak" in Blob::recv_from ( #1198 )
...
* fix "leak" in Blob::recv_from
fixes #1199
2018-09-12 14:45:43 -07:00
Rob Walker
e7a910b664
v0.9
2018-09-12 10:27:33 -07:00
Rob Walker
b52230097e
groom Fullnode's new_with_bank() to match new() more
2018-09-12 09:24:42 -07:00
Rob Walker
a8fdb8a5a7
use a single BlobRecycler per fullnode
2018-09-11 16:56:54 -07:00
sakridge
297f859631
Change '>=' back to '>' to fix recycling of blobs/packets ( #1192 )
...
Recycler will have a strong ref to the item so it will be at
least 1, >= will always prevent recycling.
2018-09-11 16:52:45 -07:00
Pankaj Garg
5d19b799af
Fix snap configuration for netstat daemon ( #1190 )
...
- Also increased the frequency at which the stats are sent
- Fixed file permissions for snapcraft.yaml
2018-09-11 14:49:05 -07:00
Michael Vines
af3eb5a16c
.sh
2018-09-11 11:29:49 -07:00
Rob Walker
b313b7f6f9
Revert "move rpc_server to drop() semantics instead of having its own thread"
...
This reverts commit 40aa0654fa
.
2018-09-10 22:48:33 -07:00
Rob Walker
016ee36808
remove -x
2018-09-10 21:40:14 -07:00
Rob Walker
c3fc98c48f
use gossip to find the leader for every airdrop request
2018-09-10 21:29:45 -07:00
Rob Walker
40aa0654fa
move rpc_server to drop() semantics instead of having its own thread
2018-09-10 20:25:53 -07:00
Michael Vines
bace2880d0
Correct spelling
2018-09-10 19:58:21 -07:00
sakridge
9d80eefb81
Log the number of accounts each 250k txes ( #1178 )
2018-09-10 17:40:00 -07:00
Pankaj Garg
1c17c6dd2b
Report UDP network statistics ( #1176 )
...
* Report UDP network statistics
Fixes #1093
* Address review comments
* Address additional review comments
* Fix shellcheck errors
2018-09-10 15:52:08 -07:00
Michael Vines
2be0dbddbb
Correct spelling
2018-09-10 13:48:43 -07:00
Rob Walker
a91b785ba5
move fullnode trace generation into crdt
2018-09-10 13:47:57 -07:00
Tyera Eulberg
0ef05de889
Add sleep to prevent spinning thread
2018-09-10 12:50:28 -07:00
Greg Fitzgerald
a093d5c809
Fix erasure build
2018-09-10 11:40:26 -06:00
Greg Fitzgerald
fc64e1853c
Initialize Window, not SharedWindow
...
Wrap with Arc<RwLock>> when/if needed, no earlier.
2018-09-10 11:40:26 -06:00
Greg Fitzgerald
7f669094de
Split window into two modules
2018-09-10 11:40:26 -06:00
Greg Fitzgerald
5025d89c88
Inline window method implementations
2018-09-10 11:40:26 -06:00
Greg Fitzgerald
2b44c4504a
Use WindowUtil for more idiomatic code
2018-09-10 11:40:26 -06:00
Greg Fitzgerald
d2c9beb843
Add a trait to pretend Window is an object
2018-09-10 11:40:26 -06:00
Michael Vines
9e6d3bf532
Correct spelling
2018-09-10 09:29:01 -07:00
anatoly yakovenko
a89b611e9e
comments ( #1165 )
2018-09-09 07:07:38 -07:00
Michael Vines
ebcac3c2d1
Use a common solana user on all testnet instances
2018-09-08 22:34:26 -07:00
Michael Vines
7029e4395c
Fix OOM reporting
2018-09-08 18:57:31 -07:00
Michael Vines
5afcdcbbe6
More log grooming
2018-09-08 14:16:34 -07:00
Michael Vines
3840b4b516
Groom log output
2018-09-08 14:10:18 -07:00
Michael Vines
7aeb6d642b
Display log file
2018-09-08 13:59:45 -07:00
Michael Vines
1d6c4aacae
Retry rsync a couple times before failing
2018-09-08 13:59:45 -07:00
Michael Vines
9f5c86e60c
Install earlyoom at gce instance startup
2018-09-08 13:59:45 -07:00
Michael Vines
9f413fd656
Establish net/scripts/... for better scoping
2018-09-08 13:59:45 -07:00
Rob Walker
97c3125a78
improve localnet-sanity's robustness ( #1160 )
...
* fix poll_gossip_for_leader() loop to actually wait
for 30 seconds
* reduce reuseaddr use to only when necessary,
try to avoid already bound sockets
* move nat.rs to netutil.rs
* add gossip tracing to thin_client and bench-tps
2018-09-09 04:50:43 +09:00
Michael Vines
a77aca75b2
Add NO_VALIDATOR_SANITY back
2018-09-07 22:37:05 -07:00
Rob Walker
96bfd9478b
make all the nodes have a pretty seq id ( #1159 )
2018-09-08 14:18:18 +09:00
Michael Vines
e8206cb2d4
Echo the network address before entering a quiet polling loop
2018-09-07 21:20:00 -07:00
Michael Vines
c3af0d9d25
Improve client.log
2018-09-07 21:20:00 -07:00
Michael Vines
932c994dc9
Use new bench-tps command-line args
2018-09-07 21:20:00 -07:00
anatoly yakovenko
c34d911eaf
Migrate Budget DSL to use the Account state ( #979 )
...
* Migrate Budget DSL to use the Account state instead of global bank data structures.
* Serialize Instruction into Transaction::userdata.
* Store the pending set in the Account::userdata
* Enforce the token balance rules on contract execution. This becomes the entry point for generic contracts.
* This pr will have a performance impact on the bank. The next set of changes will fix this by locking each account during multi threaded execution of all the contracts.
* With this change a contract transaction needs to store its state under an address. That address could be the destination of the tokens, or any random address. For the latter, an extra step would be needed to claim the tokens which isn't implemented by budget_dsl at the moment.
* test tracking issue 1157
2018-09-07 20:18:36 -07:00
Michael Vines
ddd1871840
Install libssl1.1 for solanalabs/rust docker image compat
2018-09-07 19:57:41 -07:00
Michael Vines
db825788fa
Document how to get ssh access into CD testnets
2018-09-07 19:41:13 -07:00
Michael Vines
b1b03ec13b
Refine docker image tagging to avoid breaking stabilization branches on updates
2018-09-07 18:42:25 -07:00
Michael Vines
73a8441add
/var/snap is not writable by most users
2018-09-07 17:41:20 -07:00
Rob Walker
bf29590f41
WSL needs ReuseAddr in addition to ReusePort (which it doesn't honor) ( #1149 )
2018-09-08 07:28:22 +09:00
Rob Walker
51b27779c9
client changes for TODOs and looping ( #1138 )
...
* remove client.sh from snap
* default to ephemeral instead of ~/.config key
* rework CLI for bench-tps
* remote multinode-demo stuff from remote-client.sh
* remove multinode-demo from remote-sanity and localnet-sanity
2018-09-08 07:07:10 +09:00
Tyera Eulberg
5169c8d08f
Add method to return hash of bank state
2018-09-07 15:38:53 -06:00
Michael Vines
0d945e6a92
Groom testnet-sanity logging
2018-09-07 12:45:48 -07:00
Michael Vines
1090254ba5
Add datapoints for leader/validator start
2018-09-07 12:45:48 -07:00
Michael Vines
e51445d857
🙃
2018-09-07 12:24:34 -07:00
Michael Vines
4b47abd3bf
Fix --num-nodes argument parsing
2018-09-07 12:20:42 -07:00
Greg Fitzgerald
71a617b4dc
Fix erasure build
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
a722802c95
Window write lock to read lock
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
e9f44b6661
window -> window_service
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
9693de1867
Reposition parameters
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
f7ea95aed1
Hoist lock, reposition parameters
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
f07ce59be8
Toggle parameters
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
da423b6cf0
Hoist read lock
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
d5f60b68e4
Hoist window write lock
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
78b3a8f7f9
Hoist repair_window() branches
...
This probably would have been done if repair_window() was unit-tested.
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
d77699c126
Do the easy check first
...
All functions above operate on immutable values, so this shouldn't
change functionality, but no repair_window() tests to be certain.hI
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
09ba0dae15
Remove redundant clone()
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
a5c7575207
Rewrite find_next_missing, call it clear_slots
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
50f040530b
Remove redundant cast
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
7f99c90539
Simplify using early return and Result::ok()
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
d8564b725c
Don't reference window to get each slot
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
e4de25442a
Hoist write lock
...
It needed to be passed the lock before, because it contained a
branch where one side didn't require locking. Now that that
defensive programming was hoisted, we can hoist the write lock
as well, leaving a simpler function for unit testing.
2018-09-07 13:18:19 -06:00
Greg Fitzgerald
3b2ea8fd40
Hoist untested branch in window
...
If there were unit tests for this function, the author would have
written it this way to make their own life easier.
2018-09-07 13:18:19 -06:00
Michael Vines
9a1832ed61
Bump ping timeout
2018-09-07 12:01:43 -07:00
Michael Vines
9e45f1f5e2
Doc fixup
2018-09-07 12:01:43 -07:00
Michael Vines
ee682d5bc3
Move wallet-sanity.sh out of multinode-demo/
2018-09-07 12:01:43 -07:00
Michael Vines
05decc863f
Make set -x more buildkite friendly
2018-09-07 12:01:43 -07:00
Michael Vines
506a81e8cc
Assume -y
2018-09-07 12:01:43 -07:00
Michael Vines
dcb30a8489
Delete leader node first
2018-09-07 12:01:43 -07:00
Michael Vines
a2631e89f6
Use consistent style
2018-09-07 12:01:43 -07:00
Michael Vines
ab208ddb77
Clean up arg handling
2018-09-07 12:01:43 -07:00
Michael Vines
09a48d773a
Run bench-tps in a tmux
2018-09-07 12:01:43 -07:00
Michael Vines
88298bf321
Add -n option
2018-09-07 12:01:43 -07:00
Michael Vines
d252f7f687
Revert "Default to 10 validators"
...
This reverts commit ed5fbaef06
.
2018-09-07 12:01:43 -07:00
Michael Vines
533ebc17f2
Install multilog automatically on a CI machine
2018-09-07 11:56:23 -07:00
Michael Vines
f4947236dc
Keep cargo-target-cache size under 6GB-ish
2018-09-07 11:45:27 -07:00
Michael Vines
e088833b81
s/create/start/
2018-09-06 21:07:11 -07:00
Michael Vines
53e16f68d9
Improve error handling
2018-09-06 20:57:05 -07:00
Michael Vines
ed5fbaef06
Default to 10 validators
2018-09-06 20:46:49 -07:00
Michael Vines
b1bacf12a6
Add some log sections
2018-09-06 20:38:11 -07:00
Michael Vines
66ff602659
Rewrite ci/testnet-{deploy,sanity}.sh in terms of net/ primitives
2018-09-06 19:54:39 -07:00
Michael Vines
e175c9dea9
Remove ip address hardcode. Fixes #959
2018-09-06 19:54:39 -07:00
Michael Vines
5a57d9b5d9
de-y
2018-09-06 19:54:39 -07:00
Michael Vines
03e87e4169
Add more metrics
2018-09-06 19:54:39 -07:00
Michael Vines
abfff66d53
Retry ssh a couple times before giving up
2018-09-06 19:54:39 -07:00
Michael Vines
31dee553d5
Split start/version reporting
2018-09-06 19:54:39 -07:00
Michael Vines
9ca6a2d25b
Configure boot disk size
2018-09-06 19:54:39 -07:00
Michael Vines
a3178c3bc7
Remove unused name tag
2018-09-06 19:54:39 -07:00
Michael Vines
aa07bdfbaa
Optionally suppress delete confirmation
2018-09-06 19:54:39 -07:00
Michael Vines
eaef9be710
Clarify -f
2018-09-06 19:54:39 -07:00
Michael Vines
cae345b416
Allow - in prefix
2018-09-06 19:54:39 -07:00
Michael Vines
acb1171422
Add -e option
2018-09-06 19:54:39 -07:00
Greg Fitzgerald
52d8f293b6
Add links to citations
...
And fix hyphens in quote.
2018-09-06 20:41:05 -06:00
Greg Fitzgerald
636eb8d058
Add Leslie Lamport quote to README
2018-09-06 20:41:05 -06:00
Greg Fitzgerald
0fa27f65bb
Use the default Pubkey formatter instead of debug_id()
2018-09-06 16:31:47 -06:00
sakridge
8f94e3f7ae
Buffer tokens when switching directions to prevent errors ( #1126 )
...
Even if transactions are dropped, accounts will have buffer
of tokens. Should reduce or eliminate AccountNotFound errors seen in the
leader while bench-tps is running.
2018-09-06 14:20:01 -07:00
Pankaj Garg
05460eec0d
Open multiple sockets for transaction UDP port ( #1128 )
...
* Reuse UDP port and open multiple sockets for transaction address
* Fixed failing crdt tests
* Add tests for reusing UDP ports
* Address review comments
* Updated bench-streamer to use multiple receive sockets
* Fix minimum number of recv sockets for bench-streamer
* Address review comments
Fixes #1132
* Moved bind_to function to nat.rs
2018-09-06 14:13:40 -07:00
Michael Vines
072d0b67e4
Send deploy metrics to the testnet-specific database
2018-09-06 08:30:03 -07:00
Rob Walker
fdc48d521c
use USER instead of whoami ( #1134 )
...
* use USER instead of whoami
make gcloud_FigureRemoteUsername robust against unsolicited output
(that I get on login ;) )
validate --prefix argument
* Update gcloud.sh
2018-09-07 00:18:05 +09:00
Michael Vines
6560b0e2cc
s/whoami/id -un/
2018-09-05 14:26:21 -07:00
Michael Vines
ec38dba209
GCE leader nodes can now be provisioned with a static IP address
2018-09-05 14:26:21 -07:00
sakridge
d9e4bce6ad
Add drop stats to bench-tps ( #1127 )
...
See how many transactions made it through
2018-09-05 11:58:41 -07:00
sakridge
1fd4343621
Add total count to stat ( #1124 )
2018-09-05 09:28:18 -07:00
Michael Vines
8d87627a49
t
2018-09-05 09:09:50 -07:00
Michael Vines
aacf27fb76
Add convienience link to current Snap log files
2018-09-05 09:02:02 -07:00
Michael Vines
a51536d107
Add log tail hint
2018-09-05 09:02:02 -07:00
Michael Vines
1c874fbc1b
Make This is little more hacky
2018-09-05 09:02:02 -07:00
Michael Vines
0362169671
Better scope leader and validator setup
2018-09-05 09:02:02 -07:00
Michael Vines
e2e569cb43
Set rsync url for local deployments
2018-09-05 09:02:02 -07:00
Michael Vines
8c51b47e85
Preserve existing ssh config
2018-09-05 09:02:02 -07:00
Michael Vines
017eb10e76
Add file header doc
2018-09-05 09:02:02 -07:00
Michael Vines
f50aeb0e58
Always add perf-libs to LD_LIBRARY_PATH
2018-09-05 09:02:02 -07:00
Michael Vines
48c19d3100
Enable cargo features to be specified
2018-09-05 09:02:02 -07:00
Michael Vines
aaf0a23134
Add Tips section
2018-09-05 09:02:02 -07:00
Michael Vines
89db85dbf9
Work around concurrent |gcloud compute ssh| terminal issue
2018-09-05 09:02:02 -07:00
Michael Vines
e677cda027
Private IP networks now work, and are the default
2018-09-05 09:02:02 -07:00
Michael Vines
db9219ccc8
Improve error monitoring
2018-09-05 09:02:02 -07:00
Michael Vines
06fd945f85
Set node config correctly
2018-09-05 09:02:02 -07:00
Michael Vines
6ad4a81123
s/_/-/g in filenames
2018-09-05 09:02:02 -07:00
Michael Vines
bcaa0fdcb1
net/ can now deploy Snaps
2018-09-05 09:02:02 -07:00
Michael Vines
2cb1375217
Run gcloud_PrepInstancesForSsh in parallel
2018-09-05 09:02:02 -07:00
Michael Vines
9365a47d42
Employ a startup script
2018-09-05 09:02:02 -07:00
Michael Vines
6ffe205447
Add -g option
2018-09-05 09:02:02 -07:00
Michael Vines
ec3e62dd58
Add net/ sanity
2018-09-05 09:02:02 -07:00
Michael Vines
fa07c49cc9
net/ can now deploy Snaps
2018-09-05 09:02:02 -07:00
Michael Vines
449d7042f0
Configure metrics correctly
2018-09-05 09:02:02 -07:00
Michael Vines
7e2b65374d
gce instance types are now configurable
2018-09-05 09:02:02 -07:00
Michael Vines
8e39465700
Drop .sh extension to hide from shellcheck
2018-09-05 09:02:02 -07:00
Michael Vines
43b4207101
Run oom-monitor in net/ testnets
2018-09-05 09:02:02 -07:00
Michael Vines
ff991b87da
Add support for deploying from non-Linux machines
2018-09-05 09:02:02 -07:00
Michael Vines
c81c19234f
Improve incremental speed of docker cargo builds outside of CI
2018-09-05 09:02:02 -07:00
Michael Vines
399caf343c
Morph gce_multinode-based scripts into net/
2018-09-05 09:02:02 -07:00
sakridge
ffb72136c8
Remove account from balances table after error seen ( #1120 )
...
If balance goes to 0, then bank removes the account
from it's account table and returns no account error. Thin client
should also update the account to this state or it will
still have the cached balance from the last successful get_balance().
2018-09-04 21:33:19 -07:00
jackcmay
1a615bde2b
Update README.md ( #1117 )
...
* Update README.md
* Fix spelling
* Improved punctuation
2018-09-04 20:41:11 -07:00
Greg Fitzgerald
cf2626a1c5
Update instructions to upgrade nightly docker image
2018-09-04 20:56:40 -06:00
Greg Fitzgerald
68c72d6f34
Fix nightly build
2018-09-04 20:56:40 -06:00
Greg Fitzgerald
65f78905cd
Install cargo-cov on latest nightly
2018-09-04 20:56:40 -06:00
Pankaj Garg
70a8ae4612
Fixed private IP variable in gcloud script ( #1119 )
2018-09-04 16:24:19 -07:00
sakridge
d82ec2634c
Fix is_leader boolean ( #1115 )
...
A node is the leader if the address is none
2018-09-04 13:38:24 -07:00
Michael Vines
b4a7a18334
Update README.md
2018-09-04 13:29:00 -07:00
Rob Walker
c44c5f0b09
take into account size of an Entry ( #1116 )
2018-09-05 05:07:58 +09:00
Rob Walker
226d3b9471
Trace recycle() calls ( #968 )
...
* trace recycle() calls fixes #810
2018-09-05 05:07:02 +09:00
Stephen Akridge
2752bde683
Print to indicate what drone is doing while waiting for gossip
2018-09-04 13:45:08 -06:00
Greg Fitzgerald
b8816d722c
Fix Block::to_blobs() benchmark
...
16% speedup, w00t!
name control ns/iter variable ns/iter diff ns/iter diff % speedup
bench_block_to_blobs_to_block 29,897 25,807 -4,090 -13.68% x 1.16
2018-09-04 07:50:23 -10:00
Greg Fitzgerald
2aa72cc72e
Return a Vec from to_blobs() instead of using a mut parameter
2018-09-04 07:50:23 -10:00
Greg Fitzgerald
8cc030ef84
Use Vec instead of VecDeque for SharedBlobs
2018-09-04 07:50:23 -10:00
Stephen Akridge
9a9f89293a
Better error handling messages for airdrops
2018-09-04 06:46:43 -10:00
anatoly yakovenko
501deeef56
accounts should never be negative ( #1083 )
2018-09-04 06:43:18 -10:00
Greg Fitzgerald
05f921d544
Don't call println in the test suite
2018-09-04 06:01:32 -10:00
Greg Fitzgerald
ab7a2960b1
Don't use product name in solana library
2018-09-04 06:01:32 -10:00
Greg Fitzgerald
4e2deaa33b
Less mut
2018-09-04 06:01:32 -10:00
Greg Fitzgerald
d5ef18337c
Remove redundant return value
...
And don't log the same error twice.
2018-09-04 06:01:32 -10:00
Greg Fitzgerald
d18ea501b7
Minimize unsafe code
2018-09-04 06:01:32 -10:00
Greg Fitzgerald
c9a1ac9b8c
Don't propogate errors we'll never handle
2018-09-04 06:01:32 -10:00
Greg Fitzgerald
c2a4cb544e
Borrow, don't clone entries
2018-09-04 06:01:32 -10:00
Greg Fitzgerald
3ab12076e8
Convert voting functions to methods
...
More idiomatic Rust.
2018-09-04 05:53:58 -10:00
Tyera Eulberg
6a383c45fc
Update sendTransaction example to reflect new array size
2018-09-04 05:44:10 -10:00
Tyera Eulberg
7cc27e7bd1
Doc requestAirdrop rpc method
2018-09-04 05:44:10 -10:00
Tyera Eulberg
0464087327
Add api definitions
2018-09-04 05:44:10 -10:00
Tyera Eulberg
c193c7de12
Add JSON-RPC API Documentation
2018-09-04 05:44:10 -10:00
Rob Walker
61abee204f
don't check for snap mode in common.sh, is only relevant to snap daemons ( #1113 )
...
snap mode is for daemons, remove it from client (i.e. common.sh)
supply leader info to client via snap
2018-09-04 14:31:54 +09:00
Rob Walker
a99dbb2a0c
set -x in client.sh
2018-09-04 11:55:04 +09:00
Rob Walker
e834c76b40
--count => --num-nodes
2018-09-04 07:07:25 +09:00
Rob Walker
7b3c7f148b
supply leader and leader_address
2018-09-02 02:27:05 +09:00
anatoly yakovenko
fb4b33b81b
make the repair_backoff test more robust ( #1095 )
...
* more the repair_backoff test more robust
* fix names and magic numbers
2018-08-31 12:40:56 -10:00
Rob Walker
25d7dc7b96
fixups
2018-09-01 04:38:18 +09:00
Rob Walker
d1f1cbe88f
leader-address=>leader-ip
2018-09-01 04:38:18 +09:00
Rob Walker
a4e7b6e90c
more fixups for client.sh changes
2018-09-01 03:33:21 +09:00
Rob Walker
fbc7c9c431
fix client_start to deal with new client.sh
2018-09-01 03:23:05 +09:00
Rob Walker
8b248dcf09
specify port
2018-09-01 02:56:24 +09:00
Rob Walker
4938aad939
fixups
2018-09-01 02:21:46 +09:00
Rob Walker
7e882dfe62
inform all snaps where the network is
2018-09-01 02:21:46 +09:00
Rob Walker
5c8cb96f88
rebase fixup
2018-08-31 23:21:07 +09:00
Rob Walker
9d1eb4f9ea
remove 'localhost' leader (redundant, un-dig-friendly)
2018-08-31 23:21:07 +09:00
Rob Walker
210a4d0640
fixup
2018-08-31 23:21:07 +09:00
Rob Walker
176e806d94
rework of netwrk rendezvous
...
* rename NodeInfo field of Node from "data" to "info"
(touches a lot of files)
* update client to use gossip to find leader, a la drone
* rework multinode scripts
* move more stuff into rust
* added usage to all
* no more rsync unless you're a validator (TODO: whack that, too)
* fullnode doesn't bail if drone isn't up yet, just keeps trying
* drone doesn't bail if network isn't up yet, just keeps trying
2018-08-31 23:21:07 +09:00
Rob Walker
eb4e5a7bd0
fixups
2018-08-31 23:21:07 +09:00
Rob Walker
ba27596076
fixups
2018-08-31 23:21:07 +09:00
Rob Walker
63e44dcc35
continue rendezvous refactor for gossip and repair
...
* remove trailing whitespace in ci/audit.sh
* code review fixups
* rename GOSSIP_PORT_RANGE => SOLANA_PORT_RANGE
* remove out-of-date TODO in localnet-sanity.sh
* remove features=test and code that was using it (localhost prohibitions in
crdt) added TODO in crdt.rs, maybe we should boot localhost in production
networks?
* boot tvu_window from NodeInfo: instead, send repair requests from the repair
socket (to gossip on peer) and answer repair requests via the sockaddr
from the repair request
* remove various unused pub functions
* banish SocketAddr parse().unwrap() to a macro that can also accept simpler stuff
2018-08-31 23:21:07 +09:00
Rob Walker
c0ba676658
fixup
2018-08-31 23:21:07 +09:00
Rob Walker
1af4cee63b
fix #1079
...
* move gossip/NCP off assuming anything about its address
* use a single socket to send and receive gossip
* remove --addr/-a from CLIs
* rearrange networking utility code
* use Arc<UdpSocket> to share the Sync-safe UdpSocket among threads
* rename TestNode to Node
TODO:
* re-enable 127.0.0.1 as a valid address in crdt
* change repair request/response to a similar, single socket
* pick cloned sockets or Arc<UdpSocket> for all these (rpu uses tryclone())
* update contact_info with network truthiness instead of what the node
says?
2018-08-31 23:21:07 +09:00
Rob Walker
cb52a335bd
re-enable localnet-sanity
2018-08-31 23:21:07 +09:00
Tyera Eulberg
e308a4279e
Update RPC requestAirdrop endpoint to return airdrop tx signature
2018-08-28 18:27:41 -06:00
Tyera Eulberg
513a934ff6
Update request_airdrop utility function to pass along airdrop tx signature
2018-08-28 18:27:41 -06:00
Tyera Eulberg
77d820c842
Update drone module to return airdrop tx signature
2018-08-28 18:27:41 -06:00
Tyera Eulberg
30cbe7c6a9
Update jsonrpc crate version
2018-08-28 18:27:24 -06:00
Michael Vines
18ef643dc7
Keep locals local
2018-08-28 08:11:44 -07:00
Michael Vines
73a0bf8d30
Avoid unbounded /var/tmp growth
2018-08-28 08:11:44 -07:00
Michael Vines
9d53208d68
Use gcloud_DeleteInstances
2018-08-28 08:11:44 -07:00
Michael Vines
d26f135159
Find metrics-write-datapoint.sh again
2018-08-27 22:41:58 -07:00
Michael Vines
c8e3ce26a9
Start of scripts/gcloud.sh
2018-08-27 22:35:14 -07:00
Rob Walker
f88970a964
source oom-score-adj.sh from validator.sh
2018-08-28 10:01:41 +09:00
Rob Walker
51d911e3f4
Update testnet-sanity.sh
2018-08-27 15:44:10 -07:00
Michael Vines
bd5c6158ae
Move some common scripts from multinode-demo/ to scripts/
2018-08-27 13:52:38 -07:00
Michael Vines
cd0db7842c
Remove unused _config.yml
2018-08-27 13:52:38 -07:00
Michael Vines
31d1087103
Documentation
2018-08-27 13:52:38 -07:00
Rob Walker
0efd64df6f
no need for sudo, move ledger copy out of SNAP_DATA
2018-08-28 05:42:05 +09:00
Rob Walker
28bdf346f6
clean up after ledger sanity
2018-08-28 05:42:05 +09:00
anatoly yakovenko
48762834d9
Randomize repair requests ( #1059 )
...
* randomize packet repair requests
* exponential random repair requests
* use gen_range to get a uniform distribution
2018-08-27 07:05:48 -07:00
Anatoly Yakovenko
8d0d429acd
update
2018-08-26 23:34:25 -07:00
Anatoly Yakovenko
e5408368f7
fmt
2018-08-26 22:35:26 -07:00
Anatoly Yakovenko
61492fd27e
exit if no leader
2018-08-26 22:35:26 -07:00
Anatoly Yakovenko
bbce08a67b
bench needs to discover leader as well
2018-08-26 22:35:26 -07:00
Anatoly Yakovenko
a002148098
retry transfer and poll
2018-08-26 16:10:46 -07:00
Greg Fitzgerald
90ae662e4d
Fix packet header offset
...
And update transaction offsets to use the same approach as packet.rs.
Maybe this should be serialized_size(), but thanks to this
GenericArray update, those values are the same.
2018-08-26 14:27:19 -06:00
Greg Fitzgerald
60d8f5489f
Update transaction layout offsets
...
24 less bytes in minimal transactions. 10% TPS boost?
2018-08-26 14:27:19 -06:00
dependabot[bot]
59dd8b650d
Update generic-array requirement from 0.11.1 to 0.12.0
...
Updates the requirements on [generic-array](https://github.com/fizyk20/generic-array ) to permit the latest version.
- [Release notes](https://github.com/fizyk20/generic-array/releases )
- [Changelog](https://github.com/fizyk20/generic-array/blob/master/CHANGELOG.md )
- [Commits](https://github.com/fizyk20/generic-array/commits )
Signed-off-by: dependabot[bot] <support@dependabot.com >
2018-08-26 14:27:19 -06:00
anatoly yakovenko
738247ad44
advertise valid gossip address in drone and wallet ( #1066 )
...
* advertize valid gossip address in drone and wallet
get rid of asserts
check for valid ip address
check for valid address
ip address
* tests
* cleanup
* cleanup
* print error
* bump
* disable tests
* disable nightly
2018-08-26 11:36:27 -07:00
anatoly yakovenko
5b0bb7e607
Skip invalid nodes for finality ( #1068 )
...
* skip invalid nodes for finality
* check valid last_ids only
* fixup!
* fixup!
2018-08-25 23:12:41 -07:00
anatoly yakovenko
f7c0d30167
Disallow localhost in deployment ( #1064 )
...
* disallow localhost in deployment
* tests
* fmt
* integration tests do not have a flag to check
* fmt
2018-08-25 21:09:18 -07:00
Anatoly Yakovenko
8e98c7c9d6
fix purge test
2018-08-25 19:56:09 -07:00
Pankaj Garg
50661e7b8d
Added poll_balance_with_timeout method ( #1062 )
...
* Added poll_balance_with_timeout method
- updated bench-tps, fullnode and wallet to use this method instead
of repeatedly calling poll_get_balance()
* Address review comments
- Revert some changes to use wrapper poll_get_balance()
* Reverting bench-tps to use poll_get_balance
- The original code is checking if the balance has been updated,
instead of just retrieving the balance. The logic is different
than poll_balance_with_timeout()
* Reverting wallet to use poll_get_balance
- The break condition in the loop is different than poll_balance_with_timeout().
It's checking if the balance has been updated.
2018-08-25 18:24:25 -07:00
Pankaj Garg
ad159e0906
Fix crash in fullnode when poll_get_balance() returns error ( #1058 )
2018-08-25 15:25:13 -07:00
Pankaj Garg
d3fac8a06f
Dynamically bind to available UDP ports in Fullnode ( #920 )
...
* Dynamically bind to available UDP ports in Fullnode
* Added tests for dynamic port binding
- Also removed hard coding of port range from CRDT
2018-08-25 10:24:16 -07:00
sakridge
c641ba1006
Up network buffers to 64MB max ( #1057 )
...
500ms of data at 1Gbps = 125GB/2 = 64MB
Seems to help tx rate in GCP network tests.
2018-08-24 18:17:48 -07:00
sakridge
de379ed915
Fix sig verify counters to be unique and tweak perf counters ( #1056 )
...
print events and add current events to old value to report
2018-08-24 16:05:32 -07:00
Michael Vines
d4554c6b78
RFC Branches, Channels, and Tags
2018-08-23 21:28:05 -07:00
sakridge
6fc21a4223
Don't hang in transaction_count ( #1052 )
...
Situation is there can be that there can be bad entries in
the bench-tps CRDT table until they get purged later. Threads however
are created for those bad entries and then will hang on trying
to get the transaction_count from those bad addresses and never end.
2018-08-23 20:57:13 -07:00
sakridge
71319978df
Up drone request amount ( #1051 )
...
Multiple clients will request 500k each so up this to support them.
2018-08-23 15:30:35 -07:00
sakridge
6147e54686
Cap repair requests timeout ( #958 )
2018-08-23 15:30:21 -07:00
Greg Fitzgerald
0c8eec2563
Cleanup Fullnode construction
...
leader_id was already set by Fullnode constructor. And cleanup the
rest of that code while in the neighborhood.
Thanks @CriesofCarrots!
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
4ab58f069a
Add back JsonRpcService changes
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
85f96d926a
Pacify clippy
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
816de4f8ec
Hoist shared code between leaders and validators
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
42229a1105
Hoist thread_hdls
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
d8820053af
Inline create_leader_threads and create_validator_threads
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
731f8512c6
Hoist Arc<Bank>
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
a133784706
Rename mode-specific constructors and return only thread handles
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
be58fdf1bb
Less constructors
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
57daeb35d2
Drop all references to new_leader and new_validator
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
9c5e69bf3d
Don't offer two ways to specify a leader
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
cfac127e4c
Extract lower-level constructor
...
Passing in the bank is useful for unit-tests since Fullnode doesn't
store it in a member variable.
2018-08-23 13:42:54 -07:00
Greg Fitzgerald
fda4523cbf
Fix broken doc
2018-08-23 13:42:54 -07:00
sakridge
cabe80b129
Increment counter by number of packets received ( #1049 )
...
So that we can see the total packets/s
2018-08-23 12:32:50 -07:00
Tyera Eulberg
d4c41219f9
Improve gossip use for drone and wallet
...
- Add utility function
- Add thread sleep
- Enable configurable timeout for gossip poll
2018-08-23 13:08:59 -06:00
Tyera Eulberg
4fdd9fbfca
Wallet: use gossip to identify leader's port config
2018-08-23 13:08:59 -06:00
Tyera Eulberg
bdf5ac9c1a
Drone: use gossip to identify leader's port config
2018-08-23 13:08:59 -06:00
sakridge
f1785c76a4
Rework counter increment outside apply_debits loop ( #1046 )
...
Reduces prints/atomics work inside the process_transactions loop
2018-08-23 09:42:59 -07:00
Tyera Eulberg
2de8fe9c5f
Pass bank to rpc as reference
2018-08-23 09:06:17 -06:00
Tyera Eulberg
d910ed68a3
Use balance to verify requestAirdrop success
2018-08-23 09:06:17 -06:00
Tyera Eulberg
f7f7ecd4c6
Add json-rpc requestAirdrop endpoint
2018-08-23 09:06:17 -06:00
Tyera Eulberg
a9c3a28a3b
Add json-rpc sendTransaction endpoint
2018-08-23 09:06:17 -06:00
Greg Fitzgerald
96787ff4ac
Use builtin sum
2018-08-22 16:24:19 -06:00
Stephen Akridge
c3ed4d28de
Change average TPS to max average tps seen for any node and...
...
add script to collect perf stats
2018-08-22 14:55:04 -07:00
Pankaj Garg
f1e35c3bc6
GCE script change to use GCE private network for multinode tests ( #1042 )
...
- Also the user can specify the zone where the nodes should be created
2018-08-22 13:21:33 -07:00
Greg Fitzgerald
db3fb3a27c
Boot criterion ( #1032 )
...
* Revert benchmarks back to libtest
Criterion has too many dependencies, it's execution as slower, and
we didn't see the kind of precision we had hoped for to use it to
block CI builds.
* Ignore benchmarks that take more than a few milliseconds per iteration
* Revert "Ignore benchmarks that take more than a few milliseconds per iteration"
This reverts commit b87cdf6ef4
.
* Don't run benchmarks in CI
They are already built in the nightly build. Executing them in CI
doesn't add much value until the results are precise enough to act
on.
2018-08-22 08:57:07 -06:00
Rob Walker
8282442956
fixes #927
2018-08-22 17:47:59 +09:00
Tyera Eulberg
a355d9f46c
Add error catch for rpc server builder
2018-08-21 14:04:52 -06:00
Tyera Eulberg
be4824c955
Add custom panic hook for RPC port bind
2018-08-21 14:04:52 -06:00
Tyera Eulberg
86c1d97c13
Fix validator rpc addr to match leader
2018-08-20 22:35:06 -07:00
Rob Walker
0b48aea937
echo commands, use PID (good form)
2018-08-21 11:41:00 +09:00
Rob Walker
cdec0cead2
files have to appear in the snap
2018-08-21 11:41:00 +09:00
Rob Walker
831709ce7e
fixups
2018-08-21 10:36:03 +09:00
Rob Walker
b7b8a31532
make a copy of the ledger for sanity check
...
we can't verify a live ledger, unfortunately, fixes #985
2018-08-21 10:36:03 +09:00
Michael Vines
15406545d8
Document how to adjust the number of clients or validators on the testnet
2018-08-20 18:35:01 -07:00
Rob Walker
5aced8224f
Revert "make a copy of the ledger for sanity check"
...
This reverts commit af20a43b77
.
2018-08-21 10:34:52 +09:00
Rob Walker
af20a43b77
make a copy of the ledger for sanity check
...
we can't verify a live ledger, unfortunately, fixes #985
2018-08-21 09:45:52 +09:00
Greg Fitzgerald
39c3280860
Don't block on large network test
2018-08-20 16:48:37 -06:00
Greg Fitzgerald
2d35345c50
Boot unused creates
2018-08-20 16:48:37 -06:00
Michael Vines
a02910be32
Remove pubkey from getBalance response
2018-08-20 15:02:48 -07:00
Pankaj Garg
b9ec97a30b
Add counter for bank transaction errors ( #1015 )
2018-08-20 14:56:01 -07:00
Anatoly Yakovenko
2e89999d88
# This is a combination of 4 commits.
...
# This is the 1st commit message:
Fix tesetment readme
# This is the commit message #2 :
updte
# This is the commit message #3 :
typo
# This is the commit message #4 :
cleanup
2018-08-20 13:49:56 -07:00
Pankaj Garg
24b0031925
Reduce number of nodes in multinode test ( #1003 )
2018-08-20 13:40:42 -07:00
Michael Vines
9eeaf2d502
Bind RPC port on all interfaces
2018-08-20 12:45:50 -07:00
Michael Vines
c9e6fb36c3
Avoid unncessary cargo rebuilds in non-perf configuration
2018-08-20 12:03:44 -07:00
Michael Vines
8de317113c
clippy: remove identity conversion
2018-08-20 10:55:55 -07:00
Michael Vines
a1ec549630
Pin nightly rust for more controlled updating
2018-08-20 10:55:55 -07:00
Michael Vines
ecddff98f5
Add --nopull argument
2018-08-20 10:55:55 -07:00
Michael Vines
10066d67bf
Add llvm deb repository
2018-08-19 09:01:36 -07:00
Michael Vines
a07f7435c6
\
2018-08-19 08:49:29 -07:00
Michael Vines
d3523ebbe5
Nightly image now derives from stable image
2018-08-19 08:47:59 -07:00
Nikhil Saraf
133ddb11ff
typo in README
2018-08-18 18:24:42 -07:00
Tyera Eulberg
1bf15ae907
Temporarily disable cargo audit CI failure
2018-08-18 12:29:49 -06:00
Tyera Eulberg
f73f3941cd
Revert ill-advised jsonrpc marker, and handle jsonrpc server close
2018-08-18 12:29:49 -06:00
Tyera Eulberg
d69d79612b
Simplify Rpc request processing
2018-08-18 12:29:49 -06:00
Tyera Eulberg
64ea5126e0
Fix early return for invalid parameter
2018-08-18 12:29:49 -06:00
Tyera Eulberg
9df3aa50d5
Remove unnecessary solana_ prefixes
2018-08-18 12:29:49 -06:00
Tyera Eulberg
cab75b7829
Handle potential panics
2018-08-18 12:29:49 -06:00
Tyera Eulberg
d9fac86015
Use jsonrpc git repo, allowing removal of Default bound for Metadata
2018-08-18 12:29:49 -06:00
Tyera Eulberg
1eb8724a89
Disable Rpc module for other tests to prevent port conflicts
2018-08-18 12:29:49 -06:00
Tyera Eulberg
c6662a4512
Implement Rpc in Fullnode
2018-08-18 12:29:49 -06:00
Tyera Eulberg
d3c09b4e96
Update jsonrpc dependency syntax
2018-08-18 12:29:49 -06:00
Tyera Eulberg
124f6e83d2
Rpc get last id endpoint
2018-08-18 12:29:49 -06:00
Tyera Eulberg
569ff73b39
Rpc tests
2018-08-18 12:29:49 -06:00
Tyera Eulberg
fc1dbddd93
Implement json-rpc functionality
2018-08-18 12:29:49 -06: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
Michael Vines
877920e61b
Compute snap channel using ci/channel-info.sh
2018-08-17 23:15:48 -07:00
Michael Vines
3d1e908dad
Add script to fetch latest channel info
2018-08-17 23:15:48 -07:00
Michael Vines
6880c2bef0
Exclude ci/semver_bash/; don't want to diverge from upstream
2018-08-17 23:15:48 -07:00
Michael Vines
78872ffb4b
Vendor https://github.com/cloudflare/semver_bash/tree/c1133faf0e
2018-08-17 23:15:48 -07:00
Michael Vines
229d825fe0
Fix master-perf basename
2018-08-17 21:59:36 -07:00
Michael Vines
edc5fc098e
Make SNAP_CHANNEL more visible in build log
2018-08-17 21:39:54 -07:00
Anatoly Yakovenko
bbe815468d
Add instructions on how to run the demo against testnet.solana.com and watch it on the dashboard
2018-08-17 21:26:06 -07:00
Michael Vines
82e7725a42
Invert logic
2018-08-17 21:16:35 -07:00
Michael Vines
dc61cf1c8d
Keep v0.7 snap off the edge channel
2018-08-17 21:12:10 -07:00
Michael Vines
aba63e2c6c
Log expansion directive must be on its own line
2018-08-17 20:58:14 -07:00
Michael Vines
c2ddd056e2
Add option to skip ledger verification
2018-08-17 20:41:30 -07:00
Michael Vines
c9508e84f2
0.8.0
2018-08-17 17:56:35 -07:00
Pankaj Garg
f6f0900506
Large network test to not poll validator for sigs ( #998 )
...
- The finality is already reached. The test will check the signature
in validators once, instead of polling. This will help speed up the test.
2018-08-17 14:38:19 -07:00
Rob Walker
7aeef27b99
not quite banishing build.rs, but better
2018-08-16 22:33:31 -07:00
Michael Vines
98d0ef6df5
Add some wget retries
2018-08-16 20:22:49 -07:00
Tyera Eulberg
208a7f16cb
Fix bench-tps nokey error
2018-08-16 19:38:26 -06:00
Rob Walker
16cf31c3a3
fix #990
2018-08-16 15:52:30 -07:00
Rob Walker
2b48daaeba
accept multiple expected outputs
2018-08-16 14:44:51 -07:00
Anatoly Yakovenko
79d24ee227
fixed test according to @rob-solana
2018-08-16 14:44:51 -07:00
Anatoly Yakovenko
a284030ecc
Account type with state
...
comments
fixups!
fixups!
fixups for a real Result<> from get_balance()
on 2nd thought, be more rigorous
Merge branch 'rob-solana-accounts_with_state' into accounts_with_state
update
review comments
comments
get rid of option
2018-08-16 14:44:51 -07:00
Rob Walker
fc0d7f5982
updated nightly versions
2018-08-16 13:17:29 -07:00
Rob Walker
f697632edb
update clippy install instructions, from here:
...
https://github.com/rust-lang-nursery/rust-clippy
fixes #947 ?
2018-08-16 13:17:29 -07:00
Rob Walker
73797c789b
back to 4 TX threads
2018-08-16 12:02:11 -07:00
Rob Walker
036fcced31
test -t nproc
2018-08-16 12:02:11 -07:00
Rob Walker
1d3157fb80
fixups
2018-08-16 12:02:11 -07:00
Rob Walker
0b11c2e119
restart testnet clients in case airdrop fails
2018-08-16 12:02:11 -07:00
Stephen Akridge
96af892d95
Add docs about the testnet
2018-08-16 07:39:17 -07:00
Pankaj Garg
c2983f824e
Refactored large network test to use finality to assert success ( #978 )
2018-08-15 20:05:43 -07:00
anatoly yakovenko
88d6fea999
Revert "Accounts with state ( #954 )"
...
This reverts commit c23fa289c3
.
2018-08-15 19:44:39 -07:00
anatoly yakovenko
c23fa289c3
Accounts with state ( #954 )
...
* Account type with state
* fixed test according to @rob-solana
2018-08-15 14:32:11 -07:00
Pankaj Garg
db35f220f7
Run multinode test for enough iterations for a small node count test ( #971 )
2018-08-15 10:44:14 -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
Michael Vines
757dfd36a3
Report errors better in build log
2018-08-14 11:44:26 -07:00
Rob Walker
708add0e64
fixups
2018-08-14 10:16:34 -07:00
Rob Walker
d8991ae2ca
fix UPnP backout, fixes #969
2018-08-14 10:16:34 -07:00
Rob Walker
5f6cbe0cf8
fixups
2018-08-13 21:07:26 -07:00
Rob Walker
f167b0c2c5
fixups
2018-08-13 21:07:26 -07:00
Rob Walker
f784500fbb
fixups
...
fixes #907
2018-08-13 21:07:26 -07:00
Rob Walker
83df47323a
initialize recycled data
2018-08-13 21:07:26 -07:00
Greg Fitzgerald
c75d4abb0b
Tuck away PoH duration
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
5216a723b1
Pacify clippy
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
b801ca477d
Declare fullnode a word
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
c830c604f4
Make BroadcastStage an actual stage
...
TODO: Why isn't BroadcastStage/RetransmitStage managed by the NCP?
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
0e66606c7f
Rename broadcaster to broadcast_stage
...
And move retransmitter code into retransmit_stage.
TODO: Add a BroadcastStage service
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
8707abe091
Fix erasure build
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
dc2a840985
Move FullNode::new_window into window module
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
2727067b94
Move winow into its own module
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
6a8a494f5d
Rename WindowStage to RetransmitStage
...
The window is used for both broadcasting from leader to validator
and retransmitting between validators.
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
a09d2e252a
Move window dependencies out of streamer
...
No tests!?
2018-08-13 20:17:16 -06:00
Greg Fitzgerald
3e9c463ff1
Offer only 1 way to create a fullnode with an empty window
2018-08-13 20:17:16 -06:00
Tyera Eulberg
46d50f5bde
Remove p2p crate (and uPnP support)
2018-08-13 18:22:58 -07:00
Rob Walker
e8da903c6c
move tmp_ledger back to target dir
2018-08-13 16:52:53 -07:00
Rob Walker
ab10b7676a
use stable cache
2018-08-13 16:23:30 -07:00
Rob Walker
fa44a71d3e
move bench to a seprate, parallel step
2018-08-13 16:23:30 -07:00
Rob Walker
c86e9e8568
pad max_data_size to jerasure's alignment requirements
2018-08-13 16:10:51 -07:00
Rob Walker
9e22e23ce6
increase stable timeout until tomorrow
2018-08-13 15:45:50 -07:00
Rob Walker
835f29a178
off by 2
2018-08-13 15:12:12 -07:00
Michael Vines
9688f8fb64
Update IP address
2018-08-13 12:32:09 -07:00
Michael Vines
df5cde74b0
Back out pre-0.7.1 workaround
2018-08-13 12:13:00 -07:00
Michael Vines
231d5e5968
0.7.1
2018-08-13 12:12:27 -07:00
Michael Vines
c2ba72fe1f
Fix up validator sanity
2018-08-13 10:23:35 -07:00
Michael Vines
d93786c86a
Revert "turn off validator sanity while I work on it"
...
This reverts commit d4304eea28
.
2018-08-13 10:23:35 -07:00
Pankaj Garg
bf15cad36b
Add get_finality request and use it from multinode test ( #941 )
2018-08-13 08:55:13 -07:00
anatoly yakovenko
288ed7a8ea
Vote should be valid ( #945 )
...
* test that fails
* fix for test
* rename
2018-08-12 18:19:54 -07:00
anatoly yakovenko
f07c038266
Fix bank coalescing ( #949 )
...
* fix bank coalescing
* comments
* fix bench
* fix bench
* backout banking stage coalescing
* 120 nodes
* 100
2018-08-12 10:04:21 -07:00
Rob Walker
8eed120c38
add missing backslash
2018-08-10 23:45:08 -07:00
Rob Walker
5dbcb43abd
more enhancements
2018-08-10 19:53:58 -07:00
Rob Walker
dd1eefaf62
change verify-internal to precheck
...
update to new ledger API
2018-08-10 19:53:58 -07:00
Rob Walker
35de159d00
better error messages
2018-08-10 19:53:58 -07:00
Rob Walker
546a1e90d5
clippy fixups
2018-08-10 19:53:58 -07:00
Rob Walker
b033e1d904
enhance ledger-tool
...
* add json, which does the thing with json, move print to Rust's {:?}
* add --head NUM, to limit how much work gets done for print, json, verify
* add verify-internal, which very carefully checks ledger format without
trying first to "recover" it
* exit with errors on mis-usage
2018-08-10 19:53:58 -07:00
Rob Walker
96d6985895
rework read_ledger, LedgerWriter, and LedgerWindow for recover()
...
fixes #910
2018-08-10 18:07:23 -07:00
Michael Vines
58f220a3b7
Add tic-tac-toe program flow concept
2018-08-10 17:39:54 -07:00
Stephen Akridge
a206f2570d
Add hostname to metrics on panic
2018-08-10 17:08:40 -07:00
anatoly yakovenko
2318ffc704
Use a different counter for validator account not found errors. ( #931 )
...
* Use a different counter for validator account not found errors. This is a usefull signal of something going wrong with the ledger
2018-08-10 15:18:44 -07:00
Rob Walker
d4304eea28
turn off validator sanity while I work on it
2018-08-10 14:56:46 -07:00
Rob Walker
06af9de753
fixups
2018-08-10 11:41:31 -07:00
Rob Walker
7f71e1e09f
fixups
2018-08-10 11:41:31 -07:00
Rob Walker
bb7eccd542
check validator startup in testnet-sanity.sh
2018-08-10 11:41:31 -07:00
Rob Walker
b04c71acd9
check issue 910 in testnet-sanity
2018-08-10 11:41:31 -07:00
Rob Walker
bbf9ea89c5
add some flushing to ledger
2018-08-10 11:41:31 -07:00
Rob Walker
846ad61941
use ~/.solana instead of PWD to keep cargo happy, don't rsync --append
2018-08-10 11:41:31 -07:00
Rob Walker
8b41c415b7
add equal sign
2018-08-10 08:05:48 -07:00
Elisa Rossi
197ba8b395
Fixed punctuation
2018-08-09 16:39:04 -07:00
Tyera Eulberg
8d2a61a0c9
Alphabetize bins
2018-08-09 16:23:05 -06:00
Tyera Eulberg
7512317243
Alphabetize dependencies
2018-08-09 16:23:05 -06:00
Greg Fitzgerald
bca2294655
cargo fmt
2018-08-09 13:41:37 -06:00
Greg Fitzgerald
abd55e4159
Add coding guidelines document
2018-08-09 13:41:37 -06:00
Greg Fitzgerald
4a980568ac
Rename sig variables to signature
...
We'll avoid introducing three-letter terms to free up the namespace
for three-letter acronyms.
But recognize the term "sigverify", a verb, to verify a digital
signature.
2018-08-09 13:41:37 -06:00
Greg Fitzgerald
9d436fc5f8
Rename pk variables to pubkey
2018-08-09 13:41:37 -06:00
Greg Fitzgerald
ad331e6d56
Rename PublicKey type to Pubkey
...
Recognize pubkey as a noun meaning the public key of a keypair.
2018-08-09 13:41:37 -06:00
Greg Fitzgerald
d7e4e57548
Rename public_key variables to pubkey
2018-08-09 13:41:37 -06:00
Greg Fitzgerald
b2067d2721
Rename kp variables to keypair
2018-08-09 13:41:37 -06:00
Greg Fitzgerald
c2bbe4344e
Rename KeyPair to Keypair
2018-08-09 13:41:37 -06:00
Greg Fitzgerald
8567253833
Ignore flaky test
2018-08-09 10:15:10 -06:00
Greg Fitzgerald
ca7d4c42dd
Rename cur_hashes to num_hashes
2018-08-09 10:15:10 -06:00
Michael Vines
8ca514a5ca
Remove unnecessary :
2018-08-08 22:45:39 -07:00
Michael Vines
b605552079
Record network version in testnet-deploy start datapoint
2018-08-08 22:41:02 -07:00
Michael Vines
74f5538bd3
Verify the ledger as a part of sanity
2018-08-08 16:10:54 -07:00
Michael Vines
ff57c7b7df
Include ledger tool
2018-08-08 15:12:40 -07:00
Rob Walker
ce8a4fa831
allow received to outpace window, we're already constraining repair
...
correctly identify sender in ledger_window repair responses, enabling re-transmission
2018-08-08 15:10:44 -07:00
Stephen Akridge
8331aab26a
Enable Crdt debug messages to debug validators
2018-08-08 14:22:20 -07:00
Pankaj Garg
a6857dbaaa
Updated node count to 230. Increased wmem on CI large
2018-08-08 13:13:18 -07:00
Michael Vines
054298d957
Retry snap install 3 times, sometimes the snap server 503s
2018-08-08 08:56:05 -07:00
Michael Vines
cca240c279
Add SOLANA_NET_NAME, rename SOLANA_NET_URL to SOLANA_NET_ENTRYPOINT
2018-08-08 08:49:30 -07:00
Michael Vines
89f17ceecf
Route setup-args
2018-08-08 08:32:23 -07:00
Michael Vines
fe97857c62
Add 'setup-args' snap configuration parameter, to override -p
2018-08-08 08:10:56 -07:00
pgarg66
75854cc234
Update dynamic network test with more nodes ( #904 )
...
- Check for correct OS params in test-large-network.sh
2018-08-08 06:52:57 -07:00
Rob Walker
9783d47fd1
write a "unit" test for WindowLedger (it was working ;)
...
clear flags on fresh blobs, lest they sometimes impersonate coding blobs...
fix bug: advance *received whether the blob_index is in the window or not,
failure to do so results in a stalled repair request pipeline
2018-08-08 04:28:09 -07:00
Stephen Akridge
38be61bd22
Check for log level before doing perf counter work
...
Perf counters, especially when running the dynamic test can cause
functions like crdt::apply_updates to be really slow (>500ms).
2018-08-08 00:16:53 -07:00
Rob Walker
c64e2acf8b
set destination address when for ledger window repair responses
2018-08-07 23:31:01 -07:00
Stephen Akridge
a200cedb4b
Lower UDP data size to 64k - 128 bytes
...
rust API gives errors for packets larger than ~65500 and
wikipedia says 65507 is the max size, lowering this avoids the errors.
2018-08-07 18:39:36 -07:00
Michael Vines
5fec0ac82f
Validators now rsync the ledger smarter
...
- Don't re-rsync parts of the ledger that are already present
- Disable compression
2018-08-07 17:38:26 -07:00
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
Michael Vines
ecea41a0ab
Install EarlyOOM on testnet nodes
2018-08-07 16:58:46 -07:00
pgarg66
1b6d472cb2
Fixed counters for coalescing and broadcast index ( #900 )
2018-08-07 16:46:48 -07:00
Michael Vines
f0446c7e88
Package curl in Snap for metrics_write_datapoint.sh
2018-08-07 22:41:26 +00:00
Rob Walker
2a0025bb57
get buffered IO back for ledger
2018-08-07 15:34:15 -07:00
pgarg66
64d6d3015a
Counters for broadcasted blob idx and coalesced packets ( #897 )
2018-08-07 14:54:26 -07:00
Stephen Akridge
90550c5b58
Switch to slice arguments and remove clippy exceptions
2018-08-07 14:43:44 -07:00
Michael Vines
53cd2cdd9f
Only monitor for OOM kills when a leader, validator or drone is enabled
2018-08-07 14:20:52 -07:00
Stephen Akridge
1ac5d300a4
Rearrange start hash for process_ledger and add a unit test
2018-08-07 14:10:36 -07:00
Michael Vines
642c25bd3b
Update path
2018-08-07 13:40:49 -07:00
Michael Vines
df808dedd1
Add simple OOM Killer monitor
2018-08-07 13:35:01 -07:00
Michael Vines
02f9cb415b
Ignore failure to write oom_score_adj
2018-08-07 13:35:01 -07:00
Michael Vines
e3cf1e6598
Bundle metrics_write_datapoint.sh in Snap
2018-08-07 13:35:01 -07:00
Michael Vines
7681211c02
Pacify shellcheck
2018-08-07 13:35:01 -07:00
Michael Vines
0ee935dd72
Adjust fullnode/drone oom_score_adj to goad the kernel into killing it first
2018-08-07 10:42:53 -07:00
pgarg66
16772d3d51
Coalesce multiple blobs if received close together ( #869 )
...
- This helps reduce unnecessary growth of window if small blobs
are received in small space of time
2018-08-07 10:29:57 -07:00
Michael Vines
1c38e40dee
Validate ledger once all the tests complete
2018-08-07 10:00:52 -07:00
Pankaj Garg
ceb5a76609
Refactor validator windowing
...
- a unit test for windowing functions
- issue #857
2018-08-07 08:17:32 -07:00
Stephen Akridge
db2392a691
Use last_id from the entries stream instead of last_id from bank
...
bank will only register ids when has_more is not set because those are
the only ids it has advertised, so it will not register all ids,
however the entry stream will contain unbroken last_id chain, so we
need to track that to get the correct start hash.
2018-08-07 08:14:06 -07:00
Kazuyoshi Kato
9c1b6288a4
Use ? instead of unwrap()
...
This change addresses #833 , while there are still some unwrap() though.
2018-08-07 08:10:22 -07:00
Michael Vines
575179be8e
y
2018-08-06 23:55:00 -07:00
Michael Vines
5b6ffaecc0
s/r$/f/
2018-08-06 23:36:09 -07:00
Kazuyoshi Kato
efc72b9572
Support -V/--version on all CLI apps
...
All CLI apps that use clap (in other words, except for bench-streamer)
can use crate_version! to take the version from Cargo.toml.
This change addresses #700 .
2018-08-06 22:03:58 -07:00
Michael Vines
5dc7177540
Remove manually created help text, use clap's text instead.
2018-08-06 19:15:52 -07:00
Michael Vines
78a4b1287d
Initialize logger
2018-08-06 19:04:04 -07:00
Michael Vines
c5001869f1
Add verify subcommand
2018-08-06 19:04:04 -07:00
Stephen Akridge
7c31f217d5
Add voting metric even when there are not enough validators
2018-08-06 15:58:10 -07:00
Rob Walker
1152457691
avoid normal validator port a little better for sanity
2018-08-06 15:06:16 -07:00
Rob Walker
3beb38ac8a
/tmp/farf no good on multi-user machine
2018-08-06 14:53:40 -07:00
Michael Vines
8cbaa19d2e
Report the address that failed to bind
2018-08-06 11:21:25 -07:00
Rob Walker
63d2b2eb42
adjust bank notion of entry_count to aid debugging
2018-08-06 11:20:52 -07:00
Michael Vines
e02da9a15a
Clean up tx_count usage
2018-08-06 11:00:25 -07:00
Michael Vines
ae111a131c
Condense stdout
2018-08-06 11:00:25 -07:00
Michael Vines
4402e1128f
Cleanup
2018-08-06 11:00:25 -07:00
Michael Vines
f55bb6d95c
Send/confirm a loopback payment after each batch of transactions
2018-08-06 11:00:25 -07:00
Michael Vines
91741e20fa
Add rustc/cargo version check
2018-08-06 09:32:08 -07:00
Rob Walker
0514f5e573
sync() apparently imposes a serious performance penalty
2018-08-06 08:51:41 -07:00
Rob Walker
637d403415
move bank.process_entries() to firsties
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
715a3d50fe
Revert "Revert "clippy fixup""
...
This reverts commit d173e6ef87
.
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
Stephen Akridge
210b9d346f
Add voting metrics and -h/--help to get usage for client.sh script
2018-08-05 14:21:49 -07:00
Rob Walker
4c4b0f551e
clippy fixups
2018-08-05 13:30:45 -07:00
Rob Walker
6800ff1882
solana-ledger-tool initial commit
...
does nothing but convert from random-access ledger to json
2018-08-05 13:30:45 -07:00
Michael Vines
399a3852b1
Add sigverify_stage-total_verify_time datapoint
2018-08-04 21:45:58 -07:00
Michael Vines
e7d3069f58
macOS: Adjust maxdgram to allow for large UDP packets
2018-08-04 21:42:59 -07:00
Rob Walker
40ea3e3e61
tweak multinode-demo to work better in snap, validator-x be more stand-alone
2018-08-04 01:04:06 -07:00
Rob Walker
dc9a11bae0
remove rsync size limit for validator's ledger
2018-08-03 23:31:25 -07:00
Rob Walker
906d18a709
move VOTE to trace, info too verbose
2018-08-03 23:04:54 -07:00
Michael Vines
a13058b6c4
Look for 3 nodes (1 leader, 2 validators)
2018-08-03 20:30:29 -07:00
Rob Walker
98ee4b4672
fix up some nits in multinode-demo
2018-08-03 20:19:41 -07:00
pgarg66
7fd7310b96
Prevent a node from overrunning it's receive window ( #846 )
...
- The node drops blobs that will cause it to overrun window
- The node does not ask to repair a blob that overruns the window
2018-08-03 20:15:14 -07:00
Michael Vines
28fa43d2a9
Use env_logger@0.5.12
2018-08-03 20:08:30 -07:00
Michael Vines
1a9e6ffdd7
Try multiple times to confirm a non-zero balance
2018-08-03 19:57:38 -07:00
Rob Walker
c998199954
fixups, add validator-x to sanity
2018-08-03 15:34:11 -07:00
Rob Walker
19792192a7
support any number of self-setup validators on a single host
2018-08-03 15:34:11 -07:00
Rob Walker
4aab413154
recycle the skipped, outside-window blob, fixes #843
2018-08-03 15:02:55 -07:00
Michael Vines
15a6179b97
Stop installing rustfmt-preview, it's already present
2018-08-03 14:27:11 -07:00
Michael Vines
83b308983f
Include rustfmt-preview
2018-08-03 14:11:42 -07:00
Rob Walker
f2b1a04bca
cargo fmt fixups
2018-08-03 11:59:25 -07:00
Michael Vines
3e36e6dcf8
Upgrade to rust 1.28
2018-08-03 11:30:40 -07:00
Michael Vines
6feb6a27be
Run localnet-sanity in test-stable-perf
2018-08-03 10:46:48 -07:00
Michael Vines
c5ceb15e02
Skip network tuning on CI machines
2018-08-03 10:46:48 -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
d173e6ef87
Revert "clippy fixup"
...
This reverts commit 384b486b29
.
2018-08-03 10:24:51 -07:00
Michael Vines
c230360f4c
Wait until recycled machines are reachable before provisioning them
2018-08-02 22:13:17 -07:00
Rob Walker
384b486b29
clippy fixup
2018-08-02 21:50:47 -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
Michael Vines
a9240a42bf
Delete unreachable validators to cause a fresh one to be spawned
2018-08-02 20:45:29 -07:00
Michael Vines
a7204d5353
Use a local user to avoid GCP login quota limits
2018-08-02 19:43:35 -07:00
pgarg66
f570ef1c66
Defer repair request for blobs that may still be in avalanche transit ( #814 )
2018-08-02 19:12:57 -07:00
Stephen Akridge
ee0195d588
Try to measure finality from time seen to when 2/3 of validator..
...
..set has voted. Add a timestamp to last_ids and use that to
see how long from when 2/3s validator set has voted on them.
2018-08-02 13:21:29 -07:00
Tyera Eulberg
448b8b1c17
Add Hash wrapper and supporting traits
2018-08-01 17:00:51 -07:00
Tyera Eulberg
4d77fa900b
Add Signature wrapper and supporting traits
2018-08-01 17:00:51 -07:00
Stephen Akridge
7ccd771ccc
Only send sigverify to GPU if batch size is >64
...
Seems to be a decent crossover point for Xeon E5-2620 v4 8c,16t vs. nvidia 1080ti
2018-08-01 16:38:15 -07:00
Greg Fitzgerald
e9f8b5b9db
Fix bench
2018-08-01 16:24:47 -07:00
Greg Fitzgerald
2366c1ebaf
Enable cargo audit in CI
...
Fixes #772
2018-08-01 16:24:47 -07:00
Greg Fitzgerald
c5de237276
Upgrade ring and untrusted
2018-08-01 16:24:47 -07:00
Greg Fitzgerald
aa9bc57b4d
Implement GenKeys without SecureRandom
2018-08-01 16:24:47 -07:00
Greg Fitzgerald
11df477b20
Make GenKey functions mut
...
We hide the mutability to implement SecureRandom, but that's going
away.
2018-08-01 16:24:47 -07:00
Greg Fitzgerald
7141750668
new_key -> gen_keypair
2018-08-01 16:24:47 -07:00
Greg Fitzgerald
68675bd1ab
Less pub
2018-08-01 16:24:47 -07:00
Greg Fitzgerald
19b3cacd60
Generate a fixed-size array instead of a vector
2018-08-01 16:24:47 -07:00
Tyera Eulberg
bcfaf5d994
Rebase ledger change
2018-08-01 16:15:14 -07:00
Tyera Eulberg
e9499ac5b8
Update PublicKey AsRef to slice
2018-08-01 16:15:14 -07:00
Tyera Eulberg
7ff721e563
Replace pub field with AsRef impl
2018-08-01 16:15:14 -07:00
Tyera Eulberg
fda3b9bbd4
Use new PublicKey format instead of hex
2018-08-01 16:15:14 -07:00
Tyera Eulberg
cf70e5ff2f
Handle wrapped PublicKey struct
2018-08-01 16:15:14 -07:00
Tyera Eulberg
a86618faf3
Add PublicKey wrapper
...
Add custom formatting for PublicKey display and debug
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
Michael Vines
4a8a0d03a3
Correct localhost address
2018-08-01 15:49:48 -07:00
Michael Vines
2c9d288ca9
Add a CI metric data point upload timeout to prevent CI build stalls
...
5 seconds is somewhat arbitrary, seems like enough
2018-08-01 15:49:48 -07:00
Greg Fitzgerald
bb0aabae75
Add cmake, which is needed to build cargo-audit
2018-08-01 16:43:49 -06:00
Michael Vines
5cda0ed964
Airdrop from the leader
2018-08-01 15:21:20 -07: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
Michael Vines
2b259aeb41
testnet now deploys successfully on days of the month < 10
2018-08-01 14:10:52 -07:00
Michael Vines
de7e9b4b4c
Remove retry
...
This was introduced to mask the occasional failure of racy tests. But this is misguided as it helps hid the true problem, the racy test, and it causes tries builds that fail deterministically to retry only to fail once again.
2018-08-01 12:02:39 -07:00
Michael Vines
0f95031b99
CI builds no longer turn red if a metrics write fails
2018-08-01 11:35:19 -07:00
Pankaj Garg
d622742b84
Mark test-multinode-basic as ignore
2018-08-01 10:13:05 -06:00
Rob Walker
ff254fbe5f
re-instate traces
2018-08-01 09:08:38 -07:00
Rob Walker
05153e4884
de-trace this function, new blob is not a dup
2018-08-01 09:08:38 -07:00
Rob Walker
2ece27ee3a
fix leak
2018-08-01 09:08:38 -07:00
Greg Fitzgerald
a58df52205
Fix build
...
Last two PRs crossed in flight. A keypair is now required for all
types of FullNode, not just validators.
2018-08-01 08:53:21 -07:00
sakridge
2ea6f86199
Submit leader's vote after observing 2/3 validator votes ( #780 )
...
* fixup!
* fixups!
* send the vote and count it
* actually vote
* test
* Spelling fixes
* Process the voting transaction in the leader's bank
* Send tokens to the leader
* Give leader tokens in more cases
* Test for write_stage::leader_vote
* Request airdrop inside fullnode and not the script
* Change readme to indicate that drone should be up before leader
And start drone before leader in snap scripts
* Rename _kp => _keypair for keypairs and other review fixups
* Remove empty else
* tweak test_leader_vote numbers to be closer to testing 2/3 boundary
* combine creating blob and transaction for leader/validator
2018-07-31 22:07:53 -07:00
pgarg66
7c5172a65e
Converted sigverify disable flag to runtime check instead of "cfg" ( #799 )
2018-07-31 16:54:24 -07:00
Michael Vines
821e3bc3ca
Avoid race between test_lograte and test_lograte_env
2018-07-31 16:08:01 -07:00
Rob Walker
5dd2f737a3
clear out old blobs in find_next_missing
2018-07-31 15:54:32 -07:00
Michael Vines
c9bb5c1f5b
Update snap log file documentation
2018-07-31 13:13:27 -07:00
Michael Vines
5d936e5c8a
Trap SIGINT for clean ^C shutdown
2018-07-30 17:15:50 -07:00
Michael Vines
e985c2e7d5
.gitignore more generated files
2018-07-30 17:15:50 -07:00
anatoly yakovenko
308b6c3371
Follow Shared prefix convention for Window alias ( #798 )
...
Follow Shared prefix convention for Window alias.
2018-07-30 16:56:01 -07:00
Rob Walker
ea7fa11b3e
use size_of() instead of serialized_size() and magic number 8
2018-07-30 16:48:58 -07:00
Michael Vines
5a40ea3fd7
Only map HOME when in CI
2018-07-30 16:36:26 -07:00
Michael Vines
102510ac0e
Clear apt cache to reduce image size
2018-07-30 16:36:26 -07:00
Michael Vines
2158329058
Switch to docker-rust image
2018-07-30 16:36:26 -07:00
Michael Vines
bc484ffe5f
Add docker-rust image
2018-07-30 16:36:26 -07:00
Michael Vines
6fcf4584d5
Propagate more BUILDKITE environment variables into containers
2018-07-30 16:36:26 -07:00
Michael Vines
1adc83d148
Add localnet-sanity.sh
2018-07-30 16:36:26 -07:00
Michael Vines
647053e973
Terminate child process when main script is interrupted
2018-07-30 16:36:26 -07:00
Michael Vines
95b98b3845
Fix --addr option
2018-07-30 16:36:26 -07:00
Michael Vines
f27613754a
Report number of nodes found on failure too
2018-07-30 16:36:26 -07:00
Michael Vines
3e351b0b13
Drop -t
2018-07-30 16:13:51 -07:00
Michael Vines
79ece53e3c
Don't panic the tokio worker thread when deserialize() fails
2018-07-30 14:56:53 -07:00
Rob Walker
f341b2ec10
fixups
2018-07-30 14:26:44 -07:00
Rob Walker
167b079e29
fixups
2018-07-30 14:26:44 -07:00
Rob Walker
7ded5a70be
fixups
2018-07-30 14:26:44 -07:00
Rob Walker
fc476ff979
implement iterator for parsing length + data ledger
2018-07-30 14:26:44 -07:00
Rob Walker
c3279c8a00
chugga
2018-07-30 14:26:44 -07:00
Rob Walker
e471ea41da
fixups
2018-07-30 14:26:44 -07:00
Rob Walker
552d4adff5
use a binary ledger: newline-separated, newline-escaped entries instead of json
2018-07-30 14:26:44 -07:00
pgarg66
0c33c9e0d7
Dynamic network test changes ( #795 )
...
- No sigverify if feature sigverify_cpu_disable is used
- Purge validators in the test if lag count increases beyond
SOLANA_DYNAMIC_NODES_PURGE_LAG environment variable
- Other useful log messages in the test
2018-07-30 13:57:10 -07:00
Michael Vines
fae9fff24c
Unify logging initialization
2018-07-29 19:08:27 -07:00
Michael Vines
79924e407c
Include nanoseconds in log timestamp
2018-07-29 19:08:27 -07:00
Michael Vines
18d4da0076
Fetch env_logger from github until 0.5.12 is available
2018-07-29 19:08:27 -07:00
Michael Vines
416c141775
export SKIP_INSTALL=1
to reset the network without reinstalling the snap
2018-07-28 18:04:13 -07:00
Michael Vines
af1a2e83bc
Don't panic again when waiting for a panicked validator thread
2018-07-28 16:35:35 -07:00
Michael Vines
4cdb9a73f8
Skip testnet-sanity on manual deploy
2018-07-28 12:37:29 -07:00
Michael Vines
4433730610
Add support for deploying a locally built snap
2018-07-28 12:37:29 -07:00
Michael Vines
71eb5bdecc
Factor out vm_foreach
2018-07-28 12:37:29 -07:00
Michael Vines
029e2db2cf
Improve assert message
2018-07-28 10:40:50 -07:00
Michael Vines
81db333490
Guard against rsyncing TBs of ledger
2018-07-27 23:53:20 -07:00
Michael Vines
c68ee0040d
No need to support migrating from the old ledger format anymore
2018-07-27 23:53:20 -07:00
Michael Vines
d96e267624
Keep around 3GB of logs, 160MB is just not enough
2018-07-27 22:40:21 -07:00
sakridge
0b47404ba6
Check for default leader and use cmp::max for a bit nicer code ( #779 )
2018-07-27 15:53:31 -07:00
Stephen Akridge
7f4844f426
More stats in dynamic multinode test
2018-07-27 11:55:09 -07:00
Rob Walker
50e1e0ae47
use rust's rotate (in place, yay!)
2018-07-27 11:44:02 -07:00
Michael Vines
538c3b63e1
Log the last_id being voted on
2018-07-27 11:27:51 -07:00
Michael Vines
678b2870ff
i
2018-07-27 11:11:37 -07:00
Michael Vines
308d8c254d
poll_get_balance no longer fails intermittently for zero balance accounts
...
While polling for a non-zero balance, it's not uncommon for one of the
get_balance requests to fail with EWOULDBLOCK. Previously when a get_balance
request failure occurred on the last iteration of the polling loop,
poll_get_balance returned an error even though the N-1 iterations may have
successfully retrieved a balance of 0.
2018-07-26 21:41:07 -07:00
Michael Vines
f11aa4a57b
Ensure non-zero exit code if 'balance' command fails
2018-07-26 21:41:07 -07:00
Michael Vines
c52d4eca0b
Stop validator first to stop voting before the leader stops
2018-07-26 17:29:32 -07:00
Michael Vines
7672506b45
Validators now vote once a second regardless
2018-07-26 17:07:42 -07:00
Michael Vines
80a02359f7
Add script to audit for security vulnerabilities
2018-07-26 13:42:12 -07:00
Michael Vines
ab3968e3bf
Dedup
2018-07-26 11:45:58 -07:00
Michael Vines
42ebf9502a
Agent cleaning is now performed in a separate pipeline
2018-07-26 11:37:36 -07:00
Michael Vines
bd4fcf4ac6
Clean out stale buildkite agent build directories
2018-07-26 11:37:36 -07:00
Michael Vines
4dceb73909
Reinstall client nodes in the background to speed up deploys
2018-07-26 09:49:00 -07:00
Rob Walker
dd819cec3d
fix off by one in packet.rs
2018-07-26 09:24:44 -07:00
Rob Walker
5115cd7798
large network back to erasure
2018-07-25 20:45:16 -07: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
e0cdcb0973
employ the simple choice for broadcast table of coding blobs: round-robin
2018-07-25 20:45:16 -07:00
Rob Walker
a6a2a745ae
fix broadcast of erasure coding blobs
...
erasure coding blobs were being counted as window slots, skewing transmit_index
erasure coding blobs were being skipped over for broadcast, because they're
only generated when the last data blob in an erasure block is added to the
window.... rewind the index to pick up and broadcast those coding blobs
2018-07-25 20:45:16 -07:00
Rob Walker
297896bc49
honor environment variable SOLANA_DYNAMIC_NODES, obviating need to edit+compile for re-test
2018-07-25 20:45:16 -07:00
Michael Vines
f372840354
Collect some datapoints while bench-tps is running
2018-07-25 20:15:43 -07:00
Michael Vines
4c4659be13
Add more stdout
2018-07-25 16:38:21 -07:00
Michael Vines
1b79fe73a1
Emit a metrics datapoint if bench-tps terminates
2018-07-25 15:55:02 -07:00
Michael Vines
5fa072cf16
Avoid quotes around net name
2018-07-25 15:55:02 -07:00
Stephen Akridge
212874e155
Use BlobError for get_size return
2018-07-25 15:54:04 -07:00
Rob Walker
75212f40e7
fix off by one for send_to() of blob
2018-07-25 15:16:56 -07:00
Rob Walker
6fde65577e
fixes #756
2018-07-25 11:07:03 -07:00
Stephen Akridge
80ecef2832
Add --sustained to ci testnet deploy script
2018-07-25 10:16:46 -07:00
Stephen Akridge
edf2ffaf4e
Reduce complexity of main for clippy
...
...and readability
2018-07-25 10:16:46 -07:00
Stephen Akridge
6c275ea5ef
More knobs. Arg for tx count per batch and also sustained mode
...
sustained mode overlaps tx generation with transfer. This mode seems
to have lower peak performance but higher average performance
2018-07-25 10:16:46 -07:00
Stephen Akridge
23ed65b339
Transfer and sign at the same time in bench-tps
2018-07-25 10:16:46 -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
Michael Vines
f0725b4900
Avoid panicking if poll_get_balance() fails while in the transaction loop
2018-07-24 23:31:28 -07:00
Michael Vines
327ba5301d
Log token balance throughout the transfer loop
2018-07-24 22:40:12 -07:00
Michael Vines
dcce475f0b
Progagate logging configuration to client nodes
2018-07-24 21:40:02 -07:00
Michael Vines
aa2104a21b
Reclaim tokens before exiting to avoid leaking tokens
2018-07-24 21:40:02 -07:00
Michael Vines
0206020104
Make airdrops more robust
2018-07-24 21:40:02 -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
pgarg66
9daa7bdbe2
Replace rayon with threads for dynamic network test ( #745 )
2018-07-24 17:54:29 -07:00
Stephen Akridge
6bd18e18ea
Add error messages to ledger verify
2018-07-24 17:35:41 -07:00
Rob Walker
8f046cb1f8
disable erasure for large network testing
2018-07-24 16:54:52 -07:00
Michael Vines
735a0ee16d
Switch back to running bench-tps in 10 minute iterations
2018-07-24 15:43:25 -07:00
Michael Vines
537be6a29d
export SOLANA_DEFAULT_METRICS_RATE
2018-07-24 15:43:25 -07:00
Rob Walker
2b528e2225
fixups
2018-07-24 13:04:34 -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
940caf7876
test large network with erasure
2018-07-24 13:04:34 -07:00
Rob Walker
fcdb0403ba
eliminate unused parameter received, this branch fixes #636
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
54f2146429
fixups
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
a58c83d999
prevent infinite loop on window wraparound
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
Rob Walker
dda563a169
document process_blob()
2018-07-24 13:04:34 -07:00
Michael Vines
782aa7b23b
Cap at 4 threads
2018-07-24 11:35:03 -07:00
Michael Vines
813e438d18
Improve panic message
2018-07-24 11:20:13 -07:00
Michael Vines
7a71adaa8c
Adjust threads by the number of cpus
2018-07-23 21:17:36 -07:00
Michael Vines
ce8796bc2e
Correctly calculate the expected number of full nodes
2018-07-23 19:55:09 -07:00
Michael Vines
c7e1409f7b
Not so much |set -x|
2018-07-23 19:55:09 -07:00
Michael Vines
9de9379925
Add support more more than 1 client node
2018-07-23 19:34:34 -07:00
Michael Vines
7d68b6edc8
Fixup arg processing
2018-07-23 16:51:39 -07:00
Michael Vines
48b5344586
Check for 0 TPS explicitly
2018-07-23 16:51:39 -07:00
Michael Vines
686b7d3737
Report panics if metrics are setup
2018-07-23 16:51:39 -07:00
Michael Vines
7c65e2fbfc
Rename variable to improve readability
2018-07-23 16:51:39 -07:00
Michael Vines
96a6e09050
Enable metrics in the TPS client
2018-07-23 16:51:39 -07:00
Stephen Akridge
b3f823d544
Alternate between token reclaim and distribution
2018-07-23 13:17:52 -07:00
Stephen Akridge
ea21c7a43e
Limit bench-tps last_id poll to prevent infinite loop
2018-07-23 13:17:52 -07:00
Stephen Akridge
437fb1a8d7
Add -a argument to client in case you want to override the address
...
advertised by the client
2018-07-23 13:17:52 -07:00
pgarg66
166099b9d9
Start validators in parallel in multinode test ( #727 )
2018-07-23 09:27:06 -07:00
Michael Vines
c707b3d2e7
Display the total number of transactions for each node once complete
2018-07-22 23:19:33 -07:00
Michael Vines
f7d294de90
Don't rsync leader.json on every iteration
2018-07-22 17:25:00 -07:00
Michael Vines
4ecd0a0e45
Improve bench-tps logging
2018-07-22 16:26:49 -07:00
Michael Vines
7ebbaaeb2d
Use bench-tps default duration
2018-07-22 16:26:49 -07:00
Michael Vines
cdcf59ede0
Display a list of all discovered nodes
2018-07-22 11:32:44 -07:00
Michael Vines
5d065133ef
Add data point for testnet startup and shutdown
2018-07-21 23:27:24 -07:00
Michael Vines
d403808564
Restart solana.bench-tps
every 10 minutes to work around memory leak
...
cc: #728
2018-07-21 19:48:13 -07:00
Michael Vines
3ffdca193d
Rename client-demo to bench-tps catchup
2018-07-21 15:46:03 -07:00
Greg Fitzgerald
69688a18c7
Fix clippy warnings
...
Seems clippy is not linting any of the benches.
2018-07-21 11:36:20 -04:00
Greg Fitzgerald
7193bf28b6
Move streamer bench into standalone executable
...
It doesn't make use of criterion (or libtest)
2018-07-21 11:36:20 -04:00
Greg Fitzgerald
637f890b91
Rename client-demo to bench-tps
2018-07-21 11:36:20 -04:00
Michael Vines
009d5adcba
Tell the client to transact for 1 hour blocks
2018-07-20 17:52:19 -07:00
Michael Vines
52c55a0335
Log to /tmp/solana.log for easy runtime inspection of client activity
2018-07-20 17:45:13 -07:00
Greg Fitzgerald
23428b0381
Migrate drone to poll_for_signature
2018-07-20 20:33:55 -04:00
Greg Fitzgerald
0e305bd7dd
Add poll_for_signature
2018-07-20 20:33:55 -04:00
Greg Fitzgerald
c068ca4cb7
Return Signature from transfer_signed and send_airdrop
2018-07-20 20:33:55 -04:00
Greg Fitzgerald
6a8379109d
Sleep between retries
...
Don't congest a congested network.
2018-07-20 20:33:55 -04:00
Michael Vines
120add0e82
Add support for a client node running continuous transactions on the net
2018-07-20 17:07:36 -07:00
Michael Vines
b92ee51c2d
Add --loop flag to easily send transactions continuously
2018-07-20 17:07:36 -07:00
Stephen Akridge
cba3b35ac9
Change not_enough_peers to the default log rate
2018-07-20 11:37:12 -07:00
Stephen Akridge
313fed375c
Add counter for tx count and limit error messages
2018-07-20 11:37:12 -07:00
Greg Fitzgerald
1e63702c36
cargo fmt
2018-07-20 13:09:01 -04:00
Martius Lim
478ee9a1c4
move tests for 'is_valid_address()' into its own test
2018-07-20 13:09:01 -04:00
Martius Lim
eb1e5dcce4
add test for 'is_valid_address()'
2018-07-20 13:09:01 -04:00
Martius Lim
84225beeef
replace 'daddr' checks with 'is_valid_address()'
2018-07-20 13:09:01 -04:00
Michael Vines
9cf0bd9b88
Adjust variable name
2018-07-20 09:50:24 -07:00
Michael Vines
9d25d7611a
Protect against unsupported configurations to prevent non-obvious errors later
2018-07-20 09:47:01 -07:00
Michael Vines
1abefb2c7a
Pass expected node count to testnet-sanity
2018-07-20 09:47:01 -07:00
Greg Fitzgerald
bcc247f25f
Clarify code comment
2018-07-20 12:31:23 -04:00
Michael Vines
68ca9b2cb8
Generalize testnet deployment scripts
2018-07-20 09:10:28 -07:00
pgarg66
686e61d50c
Display max TPS from all nodes at end of client demo ( #716 )
...
- Also lists node with 0 TPS and overall average TPS
2018-07-19 20:09:57 -07:00
Michael Vines
17d927ac74
Count testnet nodes as a part of sanity
2018-07-19 12:05:21 -07:00
Michael Vines
966c55f58e
Trim CUDA runtime
2018-07-19 11:47:31 -07:00
Michael Vines
d76d3162e5
Slow down deployment more
2018-07-19 10:11:04 -07:00
Michael Vines
d0a2d46923
Don't shellcheck in target/
2018-07-19 09:41:09 -07:00
Michael Vines
a67f58e9a5
Add -c option to easily interrogate the number of nodes
2018-07-19 09:41:09 -07:00
anatoly yakovenko
fece91c4d1
Test multi node dynamic network ci ( #696 )
...
Buildkite automation for multinode test. This test is ignored by default because it requires a large cpu machine to run.
2018-07-19 07:50:44 -07:00
Greg Fitzgerald
9d2d9a0189
Update Cargo.toml
2018-07-19 09:02:54 -04:00
Greg Fitzgerald
6d3afc774a
Version bump
...
And authors update
2018-07-19 09:01:06 -04:00
Greg Fitzgerald
88646bf27d
Version bump
2018-07-19 08:41:18 -04:00
Rob Walker
0696f9f497
flush writer, makes partial deserialization a bit less likely
2018-07-18 22:53:33 -07:00
Michael Vines
b2ea2455e2
Disable rolling updates
2018-07-18 21:16:03 -07:00
Michael Vines
3f659a69fd
Prevent nodes from gossiping with themselves with different ids
2018-07-18 19:38:38 -07:00
anatoly yakovenko
2c62be951f
boot invalid height ( #688 )
2018-07-18 18:10:53 -07:00
Stephen Akridge
2348733d6c
remove drone port magic number
2018-07-19 02:01:23 +02:00
pgarg66
cc229b535d
Remote multinode script cleanup ( #683 )
...
- Create a known_hosts file if it doesn't exist
Otherwise ssh-keygen exits
- Move some common rsync code to common_start_setup
- Build the project before deploying it
2018-07-18 16:02:05 -07:00
anatoly yakovenko
7f810a29ff
Purge leader ( #687 )
...
* purge leader
* fixup!
* fixup!
2018-07-18 14:39:43 -07:00
Michael Vines
fc1dfd86d2
Disable coverage again :-/
2018-07-18 12:54:50 -07:00
Michael Vines
5deb34e5bd
Little more trace! logging
2018-07-18 12:54:50 -07:00
Michael Vines
39df087902
Permit more than the requested amount of nodes
2018-07-18 12:07:50 -07:00
Greg Fitzgerald
6ff46540b6
Install llvm-cov on nightly to revive coverage
...
Towards #433
2018-07-18 12:52:13 -04:00
Michael Vines
dbab8792e4
Use real default value
2018-07-18 08:23:59 -07:00
Michael Vines
4eb676afaa
Tunnel SOLANA_DEFAULT_METRICS_RATE into Snap nodes
2018-07-18 08:23:59 -07:00
Greg Fitzgerald
a6cb2f1bcf
Version bump
2018-07-18 09:07:25 -04:00
Greg Fitzgerald
28af9a39b4
Don't clone before borrowing
...
Clippy told us to change function parameters to references, but
wasn't able to then tell us that the clone() before borrowing
was superfluous. This patch removes those by hand.
No expectation of a performance improvement here, since we were
just cloning reference counts. Just removes a bunch of noise.
2018-07-18 08:04:31 -04:00
anatoly yakovenko
8cf5620b87
crdt_insert_new_entry_counter ( #680 )
2018-07-17 22:55:53 -07:00
Michael Vines
85d6627ee6
Deploy in one ssh login in a further attempt to avoid hitting GCP login quota
2018-07-17 20:45:52 -07:00
Michael Vines
611a005ec9
Avoid |wait| as it masks failures
2018-07-17 19:52:39 -07:00
Michael Vines
90b3b90391
-p
2018-07-17 19:42:00 -07:00
Michael Vines
fd4f294fd3
Rotate logs at 16MB
2018-07-17 19:42:00 -07:00
Michael Vines
145274c001
Ensure log directories are go+r
2018-07-17 18:16:40 -07:00
Michael Vines
df5d6693f6
Don't cache leader.json to make it easier to switch between nets
2018-07-17 18:16:40 -07:00
Anatoly Yakovenko
05c5603879
error counter
2018-07-17 17:28:23 -07:00
Anatoly Yakovenko
c2c48a5c3c
write stage broadcast counters
2018-07-17 17:28:23 -07:00
pgarg66
4af556f70e
Added tests for bad gossip address ( #672 )
2018-07-17 16:27:46 -07:00
anatoly yakovenko
8bad411962
env variable for default metrics rate that gets set for counters ( #670 )
...
* env variable for default metrics rate that gets set for counters
* ignore if env rate is set to 0
* use a slow rate by default
* fixed test
2018-07-17 15:26:10 -07:00
Michael Vines
5b0418793e
Keep Snap fullnode/drone logs out of syslog, we're too spammy
2018-07-17 15:08:35 -07:00
pgarg66
4423ee6902
Renamed start_nodes.sh to remote_nodes.sh ( #669 )
2018-07-17 15:01:53 -07:00
pgarg66
f0c39cc84d
Remote multinode scripts cleanup ( #666 )
...
- Also added support for stop nodes
2018-07-17 13:48:25 -07:00
Anatoly Yakovenko
3d45b04da8
review comments
2018-07-17 15:51:32 -04:00
Anatoly Yakovenko
9e2f26a5d2
review comments
2018-07-17 15:51:32 -04:00
Anatoly Yakovenko
a016f6e82e
bulds
2018-07-17 15:51:32 -04:00
Anatoly Yakovenko
eb3e5fd204
server too
2018-07-17 15:51:32 -04:00
Anatoly Yakovenko
72282dc493
fast exit dynamic test
2018-07-17 15:51:32 -04:00
Michael Vines
47a22c66b4
Include program name in panic metric
2018-07-17 12:13:22 -07:00
Michael Vines
fb11d8a909
Install panic hook
2018-07-17 12:13:22 -07:00
Michael Vines
7d872f52f4
Add set_panic_hook
2018-07-17 12:13:22 -07:00
Michael Vines
d882bfe65c
Ignore/log RequestWindowIndex from self
2018-07-17 12:12:54 -07:00
pgarg66
103584ef27
Use public IP for client gossip, if UPnP fails ( #665 )
2018-07-17 11:23:32 -07:00
anatoly yakovenko
1fb537deb9
Do not generate gossip requests to unspecified addresses ( #657 )
...
* Do not generate gossip requests to unspecified addresses
* review comments
2018-07-17 09:44:48 -07:00
Michael Vines
2bd48b4207
Display better deploy logs
2018-07-17 09:10:55 -07:00
Michael Vines
f5a6db3dc0
Add daemon plugs
2018-07-17 08:24:37 -07:00
anatoly yakovenko
dd0c1ac5b2
Error counters for streamer ( #658 )
...
* error counters for streamer
* more counters
2018-07-17 08:20:35 -07:00
anatoly yakovenko
d8c9655128
Dynamic test assert ( #643 )
...
* log responder error to warn
* log responder error to warn
* fixup!
* fixed assert
* fixed bad ports issue
* comments
* test for dummy address in Crdt::new instaad of NodeInfo::new
* return error if ContactInfo supplied to Crdt::new cannot be used to connect to network
* comments
2018-07-16 19:31:52 -07:00
anatoly yakovenko
09f2d273c5
less intrusive counters ( #655 )
...
* less intrusive counters
* fixed arg
* tests
* comments
2018-07-16 18:33:50 -07:00
Michael Vines
f6eb85e7a3
Permit Snap RUST_LOG to be overridden
2018-07-16 17:44:54 -07:00
pgarg66
0d85b43901
Fix input parameter processing for client num nodes ( #653 )
2018-07-16 17:23:35 -07:00
Michael Vines
fdf94a77b4
CUDA is now configurable
2018-07-16 16:23:45 -07:00
pgarg66
af40ab0c04
Split start_nodes script ssh commands to individual scripts ( #642 )
2018-07-16 16:21:32 -07:00
anatoly yakovenko
015b7a1ddb
dash for namespaces ( #649 )
2018-07-16 15:55:54 -07:00
Anatoly Yakovenko
ab3e460e64
insert votes as they are observed
2018-07-16 13:39:20 -07:00
Michael Vines
194a84c8dd
Add testnet-sanity.sh
2018-07-16 12:17:39 -07:00
Michael Vines
51d932dad1
Connect validators to the right leader
2018-07-16 11:05:01 -07:00
Michael Vines
561d31cc13
Add support for master.testnet.s.c
2018-07-16 10:08:58 -07:00
Michael Vines
d6a8e437bb
Temporarily disable erasure
2018-07-16 08:15:47 -07:00
Anatoly Yakovenko
4631af5011
counters for vote not found
2018-07-15 20:31:23 -06:00
Michael Vines
5d28729b2a
Use ed25519_init() for faster failures
2018-07-15 20:30:32 -06:00
Pankaj Garg
8c08e614b7
Start validator nodes in parallel
...
- This speeds up overall network startup time
2018-07-15 19:11:52 -06:00
Michael Vines
e76bf1438b
A validator and leader running from the same workspace no longer share an identity
2018-07-15 13:34:48 -07:00
Michael Vines
4e177877c9
Add more error checking, better logging, avoid hitting GCP login quota
2018-07-15 09:27:25 -07:00
Michael Vines
60848b9d95
Testnet sanity test failures will now turn the build red
2018-07-14 21:27:27 -07:00
Michael Vines
79b3564a26
Log metrics params to stderr
...
Keep stdout clean for the actual program. This is a specific concern for the
wallet command, where there exists tests that capture stdout from the wallet to
confirm transactions.
2018-07-14 21:24:22 -07:00
Michael Vines
1e8c36c555
Be less noisy
2018-07-14 20:42:00 -07:00
Michael Vines
94d015b089
Demote log level
2018-07-14 20:42:00 -07:00
Michael Vines
cfb3736372
Update buildkite-snap.yml
2018-07-14 17:55:03 -07:00
Michael Vines
2b77f62233
Poll longer while waiting for an airdrop
2018-07-14 17:10:44 -07:00
Michael Vines
e8d23c17ca
timeout++
2018-07-14 15:51:32 -07:00
Michael Vines
a7ed2a304a
Add CUDA libraries
2018-07-14 15:27:24 -07:00
Michael Vines
0025b42c26
Locate perf libs
2018-07-14 10:24:20 -07:00
Michael Vines
3f7f492cc0
Fix snap client-demo fixes
2018-07-14 00:18:54 -07:00
Michael Vines
490d7875dd
Snap client-demo fixes
2018-07-13 23:51:33 -07:00
Michael Vines
4240edf710
solana.client-demo now runs client.sh for the bash extras
2018-07-13 22:57:38 -07:00
Michael Vines
30e50d0f70
Log airdrop amount and client public key
2018-07-13 22:41:52 -07:00
Michael Vines
751c1eba32
Run wallet-sanity against the new testnet
2018-07-13 22:21:41 -07:00
Michael Vines
d349d6aa98
USE_SNAP=1 is now supported
2018-07-13 22:21:41 -07:00
Michael Vines
1f9152dc72
Detect and report airdrop failures
2018-07-13 18:08:28 -07:00
Michael Vines
1b9d50172b
Correct log message
2018-07-13 18:08:28 -07:00
Michael Vines
084dbd7f58
Fail gracefully when leader.json is missing
2018-07-13 17:24:25 -07:00
Rob Walker
58c0508f94
add drone information to multinode demo instructions
2018-07-13 17:16:55 -07:00
Michael Vines
dcf82c024f
Surface hidden call to solana-keygen
2018-07-13 16:16:46 -07:00
Greg Fitzgerald
b253ed0c46
Version bump
2018-07-13 15:10:45 -06:00
Greg Fitzgerald
61db53fc19
Version bump
2018-07-13 15:04:10 -06:00
Michael Vines
b0ead086a1
Fix bad copy'n'paste
2018-07-13 13:04:38 -07:00
Greg Fitzgerald
a3b22d0d33
Faster benchmarking for CI
...
Increase that sample size manually when you're doing performance
work.
2018-07-13 14:03:50 -06:00
Michael Vines
28d24497a3
Wait for the leader to initialize before starting the validators
2018-07-13 12:32:24 -07:00
Michael Vines
05cea4c1da
dedup
2018-07-13 11:48:17 -07:00
Michael Vines
260f5edfd6
Use correct leader.json
2018-07-13 11:48:17 -07:00
Michael Vines
7105136595
Enable CUDA for the leader node
2018-07-13 11:36:12 -07:00
Michael Vines
54db379bf2
Refresh in parallel
2018-07-13 11:19:31 -07:00
Michael Vines
effbf0b978
Add script to refresh testnet nodes
2018-07-13 11:19:31 -07:00
Michael Vines
8e7a2a9587
Validators now request an airdrop of 1 token before starting up
2018-07-13 10:02:19 -07:00
Michael Vines
18e6ff4167
Fail gracefully when keypair file is unreadable
2018-07-13 10:00:55 -07:00
Michael Vines
fa1cdaa91a
Add home plugs to enable Snap access to ~/.config/solana/id.json
2018-07-13 09:32:37 -07:00
Michael Vines
b538b67524
Bump timeout for stable build
...
When the CI build machine caches are empty stable occasionally needs more than 20m
2018-07-13 09:17:45 -07:00
Michael Vines
2b0f6355af
Tagged snap builds now correctly publish to the beta channel
2018-07-12 23:43:59 -07:00
Rob Walker
11b9a0323d
fixups
2018-07-12 22:51:55 -07:00
Rob Walker
710fa822a0
fixups
2018-07-12 22:51:55 -07:00
Rob Walker
aaf6ce5aea
fixups
2018-07-12 22:51:55 -07:00
Rob Walker
34ea483736
step two: supply a ledger file argument to fullnode in the demo
...
(also whack unused "myip.sh", even though it was pretty)
2018-07-12 22:51:55 -07:00
Rob Walker
a3ff40476e
Banish stdin/stdout for ledger
...
step one: accept a "ledger file" argument instead of "outfile"
2018-07-12 22:51:55 -07:00
Greg Fitzgerald
4cca3ff454
Fix keypair option in scripts
...
Thanks @CriesofCarrots!
2018-07-12 21:50:28 -06:00
Greg Fitzgerald
3d9acdd970
Fix nightly
2018-07-12 21:50:28 -06:00
Greg Fitzgerald
428f220b88
Battle shellcheck
2018-07-12 21:50:28 -06:00
Greg Fitzgerald
10add6a8ac
Cleanup setup.sh
2018-07-12 21:50:28 -06:00
Greg Fitzgerald
f06a8dceda
Fix keygen docs
...
Thanks @rob-solana
2018-07-12 21:50:28 -06:00
Greg Fitzgerald
545f4f1c87
Pass the owner's keypair to fullnode-config
2018-07-12 21:50:28 -06:00
Greg Fitzgerald
77543d83ff
Fix default keypair paths
2018-07-12 21:50:28 -06:00
Greg Fitzgerald
eb6a30cb7c
In Wallet, make --tokens required and --to optional
2018-07-12 21:50:28 -06:00
Greg Fitzgerald
97372b8e63
Add --outfile option to solana-keygen
2018-07-12 21:50:28 -06:00
Greg Fitzgerald
cea29ed772
More keygen
2018-07-12 21:50:28 -06:00
Greg Fitzgerald
b5006b8f2b
Migrate to solana-keygen
...
Most of #593
2018-07-12 21:50:28 -06:00
Greg Fitzgerald
81c44c605b
Add solana-keygen
...
Same as solana-mint, but without a tokens field.
2018-07-12 14:06:43 -06:00
Greg Fitzgerald
0b66a6626a
Use docker image's clippy
2018-07-12 09:40:40 -06:00
Greg Fitzgerald
e8be4d7eae
Add clippy to CI
2018-07-12 09:40:40 -06:00
Greg Fitzgerald
30f0c25b65
Fix all remaining clippy warnings
...
Fixes #586
2018-07-12 09:40:40 -06:00
Greg Fitzgerald
73ae3c3301
Apply most of clippy's feedback
2018-07-12 09:40:40 -06:00
Greg Fitzgerald
f98e9aba48
Apply clippy feedback to CLI apps
2018-07-12 09:40:40 -06:00
Michael Vines
84c28a077a
Use custom rust nightly image with cargo-cov and clippy pre-installed
2018-07-12 07:25:56 -06:00
Tyera Eulberg
350cf62b90
Sequence client outgoing and incoming txs
2018-07-12 07:24:15 -06:00
Tyera Eulberg
aa4f30c491
Repay transactions from test accounts to client
2018-07-12 07:24:15 -06:00
Tyera Eulberg
3de979aa7c
Check client balance and only airdrop if less than TPS quota
2018-07-12 07:24:15 -06:00
Pankaj Garg
5bc133985b
Start drone on remote leader node
...
- Also, enables CUDA for leader node
2018-07-11 20:08:18 -06:00
Greg Fitzgerald
87156e1364
Fix flaky test
...
The test would fail any time the original value was coincidently
the same as the new bogus value.
2018-07-11 14:16:21 -07:00
Pankaj Garg
45ff142871
Optimized start_nodes script to speed up GCE nodes start time
...
- Reduced dependency on local network
- Validators get binaries (solana bins and scripts) from leader node
2018-07-11 11:42:25 -06:00
Greg Fitzgerald
2710ff271e
cargo fmt
2018-07-11 11:38:41 -06: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
Rob Walker
705720f086
fixups
2018-07-11 10:37:47 -07:00
Rob Walker
a219e78f00
fixups
2018-07-11 10:37:47 -07:00
Rob Walker
7a41868173
fixups
2018-07-11 10:37:47 -07:00
Rob Walker
e16acec901
fixups
2018-07-11 10:37:47 -07:00
Rob Walker
de44d7475e
fixups
2018-07-11 10:37:47 -07:00
Rob Walker
c2dd009e0b
fixups
2018-07-11 10:37:47 -07:00
Rob Walker
5a8da75d06
optimize process_ledger()
2018-07-11 10:37:47 -07:00
Greg Fitzgerald
848c6e2371
Reduce sample size to restore number of transactions
2018-07-11 11:18:18 -06:00
Greg Fitzgerald
e3882950cf
Run benchmarks from Rust stable CI
2018-07-11 11:18:18 -06:00
Greg Fitzgerald
28f6fbee23
Port all benchmarks to Criterion
2018-07-11 11:18:18 -06:00
Greg Fitzgerald
3144a70b18
Move all benchmarks to benches/
2018-07-11 11:18:18 -06:00
Stephen Akridge
bed5438831
Improved streamer debug messages
...
distinguish between threads
2018-07-11 18:26:16 +02:00
Anatoly Yakovenko
6f991b3c11
Send keypair args for validators instead of leaders
2018-07-11 07:54:38 -06:00
Anatoly Yakovenko
03a8a5ed55
only submit to influx when we log
...
test accumilated value logging
lots of counters
higher influx rate
fix counter name
replicate-transactions
2018-07-11 07:53:39 -06:00
Greg Fitzgerald
0c6d2ef1f4
Fix typo
2018-07-10 19:38:29 -06:00
Greg Fitzgerald
d2be79f38c
Use iter_with_setup() to improve precision
2018-07-10 19:38:29 -06:00
Greg Fitzgerald
cc89801b12
Port bank benchmark to Criterion
2018-07-10 19:38:29 -06:00
Greg Fitzgerald
dfa05a8742
Move bank benchmark outside src
...
This will make it available to third party benchmarking tools.
2018-07-10 19:38:29 -06:00
Pankaj Garg
d7d985365b
Add script to create/delete multiple GCE instances
...
- This script outputs the IP address array that can be used
with start_nodes script to launch multinode demo
- Changes to start_nodes to compress files for rsync
2018-07-10 18:16:05 -06:00
anatoly yakovenko
0d4e4b18c2
Quiet counter ( #574 )
...
* only submit to influx when we log
* test accumulated value logging
2018-07-10 15:14:59 -07:00
Anatoly Yakovenko
7687436bef
some cleanup on messages
2018-07-10 13:32:31 -06:00
Anatoly Yakovenko
d531b9645d
review comments
2018-07-10 13:32:31 -06:00
Anatoly Yakovenko
6a1b5a222a
rebase builds
2018-07-10 13:32:31 -06:00
Anatoly Yakovenko
be2bf69c93
initial vote stage
...
wip
voting
wip
move voting into the replicate stage
update
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
fixup!
update
fixup!
fixup!
fixup!
tpu processing votes in entries before write stage
fixup!
fixup!
txs
make sure validators have an account
fixup!
fixup!
fixup!
exit fullnode correctly
exit on exit not err
try 50
add delay for voting
300
300
startup logs
par start
100
no rayon
retry longer
log leader drop
fix distance
50 nodes
100
handle deserialize error
update
fix broadcast
new table every time
tweaks
table
update
try shuffle table
skip kill
skip add
purge test
fixed tests
rebase 2
fixed tests
fixed rebase
cleanup
ok for blobs to be longer then window
fix init window
60 nodes
2018-07-10 13:32:31 -06:00
Greg Fitzgerald
0672794692
Cleanup leader restarts
...
Try to avoid adding a runtime codepath when all paths are
statically known.
2018-07-10 11:11:36 -06:00
Greg Fitzgerald
c65c0d9b23
Expose fewer exit variables
2018-07-10 11:11:36 -06:00
Michael Vines
0ee86ff313
Map counters to metrics
2018-07-10 11:11:21 -06:00
Pankaj Garg
3b1aa846b5
Fixed issues with configuring new GCE instances
...
- New nodes cloned from a working node can be used with the script
- Script takes care of installing SSH keys, and package dependencies correctly
2018-07-10 10:31:03 -06:00
Michael Vines
0a34cb8023
Include hh:mm in image name
2018-07-09 23:07:07 -06:00
Michael Vines
227aa38c8a
Add image --family arg
2018-07-09 23:02:46 -06:00
Rob Walker
1dd467ed7d
fix issue #568
2018-07-09 22:27:11 -06:00
Anatoly Yakovenko
922dffb122
fix erasure
2018-07-09 20:40:14 -06:00
Anatoly Yakovenko
63985d4595
renamed to contact_info
2018-07-09 20:40:14 -06:00
Anatoly Yakovenko
97dd1834d7
fix tests, more logs
2018-07-09 20:40:14 -06:00
Anatoly Yakovenko
2ea030be48
stick all the addrs into one struct
2018-07-09 20:40:14 -06:00
Tyera Eulberg
606cfbfe1e
Migrate fullnode and fullnode-config to clap for CLI arguments
2018-07-09 20:38:32 -06:00
Rob Walker
90a4ab7e57
fixes issue #299
2018-07-09 14:50:14 -07:00
Rob Walker
412e15fbdc
add test for populated window
2018-07-09 14:50:14 -07:00
Rob Walker
ed0a590549
support an initial window filled with last up-to-WINDOW_SIZE blobs
2018-07-09 14:50:14 -07:00
Greg Fitzgerald
71f05cb23e
Vet timestamp source from contract, not leader
...
Per @aeyakovenko, contracts shouldn't trust the network for
timestamps. Instead, pass the verified public key to the
contract and let it decide if that's a public key it wants
to trust the timestamp from.
Fixes #405
2018-07-09 08:40:07 -06:00
Greg Fitzgerald
5f99657523
Remove last_time from bank
...
We had a test for this, but without `Bank::time_sources` (removed in the last
commit), there's no last_time that can be trusted.
2018-07-09 08:40:07 -06:00
Greg Fitzgerald
587ae1bf3c
Remove time_sources from bank
...
I wrote this, but per
https://github.com/solana-labs/solana#code-coverage , if it doesn't
break a test, it's fair game to delete.
2018-07-09 08:40:07 -06:00
Michael Vines
461dea69d9
Add SOLANA_METRICS_CONFIG environment variable
2018-07-07 19:40:09 -07:00
Michael Vines
22c0e3cd54
Metrics v0.1
2018-07-07 19:40:09 -07:00
Greg Fitzgerald
3ed9567f96
Remove exit variable from RequestStage
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
c4fa841aa9
Remove exit variable from respond [stage]
...
And drop the sender that feeds input to the responder.
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
f284af1c3d
Remove exit variable from WindowStage and retransmit [stage]
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
46602ba9c3
Remove exit variable from ReplicateStage
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
81477246be
Remove exit variable from VerifyStage
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
9bd63867aa
No longer need to ignore downstream send errors
...
By removing the exit variables, the downstream stages wait for
upstream stages to drop their senders before exiting.
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
d1c317fd5f
Remove exit variable from broadcast [stage]
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
cbd664ba4b
Remove exit variable from BankingStage
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
4bb7cefa15
Remove exit variable from WriteStage
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
82c86daa78
Exit write_stage on channel errors
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
b95db62be3
Handle errors consistently
...
Error handling is still clumsy. We should switch to something like
`error-chain` or `Result<T, Box<Error>>`, but until then, we can
at least be consistent across modules.
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
0f7fdd71cc
Remove executable bit from nat.rs
2018-07-05 17:32:41 -06:00
Greg Fitzgerald
af1a7da0d5
Fix code comments
2018-07-05 17:32:41 -06:00
Tyera Eulberg
d698b3da3a
Revert tps_demo marker
2018-07-05 15:15:23 -06:00
Tyera Eulberg
6d275d571c
Clean up commented code
2018-07-05 15:15:23 -06:00
Tyera Eulberg
63acb82c87
Update drone airdrop test for tps_demo functionality
2018-07-05 15:15:23 -06:00
Tyera Eulberg
4d05b74314
Port solana-client-demo to clap crate for CLI arguments
2018-07-05 15:15:23 -06:00
Tyera Eulberg
37dd511356
Pass client.json location as argument
2018-07-05 15:15:23 -06:00
Tyera Eulberg
96c321da76
Update drone to allow TPS-sized airdrops
2018-07-05 15:15:23 -06:00
Tyera Eulberg
4701540cc9
Migrate solana-client-demo to use drone
2018-07-05 15:15:23 -06:00
Pankaj Garg
f54615b4e3
UDP port for client demo in range
...
* This change will allow clients to run behind a firewall
with only certain port range opened for access
2018-07-05 10:17:35 -06:00
Greg Fitzgerald
9c456b2fb0
Fixup the integration tests
2018-07-04 16:40:34 -06:00
Greg Fitzgerald
77bf17064a
Add Service trait
...
Added a consistent interface to all the microservices.
2018-07-04 16:40:34 -06:00
Tyera Eulberg
44150b2e85
Remove unused crate from wallet CLI
2018-07-04 16:39:26 -06:00
Tyera Eulberg
8ec2fe15f3
Port solana-drone to clap crate for CLI arguments
2018-07-04 16:39:26 -06:00
Michael Vines
687af3e3a4
Document source of magic net.core.rmem_max value
2018-07-04 14:24:01 -07:00
Michael Vines
72ab83cd45
Collect timing metrics for CI jobs
2018-07-04 11:00:56 -07:00
Greg Fitzgerald
4b07772e22
Add helper functions for reading entries
...
```rust
let entries = entry_writer::read_entries_from_str(entries_str).unwrap();
let entries_len = entries.len();
assert_eq!(entries_len, 7);
let bank = Bank::default();
bank.process_ledger(entries).unwrap();
assert_eq!(bank.transaction_count(), entries_len - 2);
```
2018-07-03 19:32:01 -06:00
Anatoly Yakovenko
22d2c962b2
ignore
2018-07-03 18:10:16 -06:00
Anatoly Yakovenko
e771d36278
Better logs
2018-07-03 18:10:16 -06:00
Rob Walker
800c2dd370
make the leader append to the ledger file
2018-07-03 17:17:52 -06:00
Greg Fitzgerald
f38842822f
Cleanup code duplication
2018-07-03 16:33:36 -06:00
Greg Fitzgerald
88a6fb86bf
Clean up read_entries() and its usage
2018-07-03 16:33:36 -06:00
Greg Fitzgerald
f6fe998ed4
Revert 1dd8c5ed36
...
Per @sakridge, this might cause a performance degradation. Need
to benchmark it.
2018-07-03 14:00:53 -06:00
Anatoly Yakovenko
16337d7c1e
unstable test
2018-07-03 14:00:39 -06:00
Anatoly Yakovenko
ae309f80f7
boot from file test
2018-07-03 14:00:39 -06:00
Anatoly Yakovenko
fa70b3bf70
split out files, fixed a bug @garious!
2018-07-03 14:00:39 -06:00
Anatoly Yakovenko
3a90f138b2
dynamit network test
...
* cleaned up fullnode api
* added debug_id to ReplicatedData and crdt for debugging
2018-07-03 14:00:39 -06:00
Michael Vines
033f6dcbcb
Demote 'sorted leader' log
2018-07-03 08:24:28 -07:00
Greg Fitzgerald
5d8b2f899a
Fix wallet doc
2018-07-02 19:21:03 -07:00
Greg Fitzgerald
490205ab84
Fix sanity check
...
...that my last PR broke
2018-07-02 19:21:03 -07:00
Michael Vines
2c0e704c82
Confirm the payment
2018-07-02 17:59:50 -07:00
Michael Vines
253048f72d
Only tune networking for leader/validator
2018-07-02 17:59:50 -07:00
Michael Vines
e09b8430ce
Add |wallet reset| command
2018-07-02 17:59:50 -07:00
Michael Vines
9ae283dc3a
Expose wallet.sh as a Snap program temporarily
2018-07-02 17:59:50 -07:00
Michael Vines
f95a79d145
Default to using testnet.s.c when running as a Snap
2018-07-02 17:59:50 -07:00
Greg Fitzgerald
0dabdfd48e
Use zero to represent a nonexistent account
...
This also fixes a bug in the thin client where a nonexistent account
would have triggered a panic because we were using `balances[k]` instead
of `balances.get(key)`.
Fixes #534
2018-07-02 18:48:40 -06:00
Greg Fitzgerald
d2bb4dc14a
Purge empty accounts
2018-07-02 18:48:40 -06:00
Michael Vines
b4dc180592
More quotes to pacify shellcheck
2018-07-02 16:41:22 -07:00
Michael Vines
263577773f
Set client config directory correctly in a Snap
2018-07-02 16:41:22 -07:00
Michael Vines
7d708be121
Drone now grabs mint.json locally
2018-07-02 16:41:22 -07:00
Michael Vines
feb1669d39
Correct locate rsync when running as a Snap
2018-07-02 15:57:30 -07:00
Michael Vines
2cbfe41422
Abort nicer on drone connection failure
2018-07-02 15:57:30 -07:00
Michael Vines
b7653865b1
Support testnet.solana.com as first argument
2018-07-02 15:57:30 -07:00
Michael Vines
c72dced8fa
Report error when an invalid confirmation signature or public key is provided
2018-07-02 15:57:30 -07:00
Anatoly Yakovenko
6feed5fd56
rebased
2018-07-02 16:34:49 -06:00
Anatoly Yakovenko
b8fe5ae076
rename server to fullnode
2018-07-02 16:34:49 -06:00
Anatoly Yakovenko
7e657d65f3
merged f2ab08c65e
2018-07-02 16:34:49 -06:00
Anatoly Yakovenko
a166bb816e
wtfr
2018-07-02 16:34:49 -06:00
Anatoly Yakovenko
2952027d04
wtfr
2018-07-02 16:34:49 -06:00
Anatoly Yakovenko
430d9d9314
fixup!
2018-07-02 16:34:49 -06:00
Anatoly Yakovenko
fa247196c0
fullnode lib
2018-07-02 16:34:49 -06:00
Greg Fitzgerald
5d17c2b58f
Return output receivers from each stage
...
Reaching into the stages' structs for their receivers is, in hindsight,
more awkward than returning multiple values from constructors. By
returning the receiver, the caller can name the receiver whatever it
wants (as you would with any return value), and doesn't need to
reach into the struct for the field (which is super awkward in
combination with move semantics).
2018-07-02 16:18:32 -06:00
Rob Walker
6ee45d282e
some auto-detect of wallet commands
2018-07-02 15:51:12 -06:00
Michael Vines
cfc3bd0696
Add manual wallet sanity test
2018-07-02 14:38:01 -07:00
Michael Vines
3e0e09555a
Undo UPnP UDP port binding
2018-07-02 14:38:01 -07:00
Michael Vines
1d8bb5144e
Drop -demo suffix
2018-07-02 14:38:01 -07:00
Michael Vines
67e0100866
Bind to 0.0.0.0
2018-07-02 14:38:01 -07:00
Michael Vines
f2ab08c65e
Reuse request UDP port for responses
2018-07-02 14:38:01 -07:00
Greg Fitzgerald
04a93050e7
No need to share a write lock across single-threaded methods
2018-07-02 15:25:16 -06:00
Michael Vines
03401041db
Correct signature argument name
2018-07-02 11:24:13 -07:00
Michael Vines
6eac744a05
Only rsync leader.json once
2018-07-02 10:59:09 -07:00
Michael Vines
ae29e2085f
Init env_logger
2018-07-02 10:59:09 -07:00
Michael Vines
7ce0b58af8
Document pkg-config dependency
2018-07-02 10:42:56 -07:00
Michael Vines
ea5663c0da
Demote log
2018-07-02 10:28:43 -07:00
Michael Vines
a61bfae8a4
Document libssl-dev dependency
2018-07-02 10:28:43 -07:00
Michael Vines
5716898216
setup.sh can now be more picky about the kind of config it creates
2018-07-02 09:22:26 -07:00
Michael Vines
c0f9e452f2
mint.json is now private
2018-07-02 09:22:26 -07:00
Greg Fitzgerald
4e3526394e
Use IntoInterator to simplify write_entries() usage
2018-07-02 09:51:39 -06:00
Greg Fitzgerald
6806a14a3f
Use Cursor instead of tempfile.
...
Faster and one less dependency.
2018-07-02 09:51:39 -06:00
Greg Fitzgerald
ec7e50b37d
Consolidate ledger serialization code
...
The new read_entries() works, but is overly-contrained. Not
using that function yet, but adding it here in the hopes some
Rust guru will tell us how to get that lifetime constraint out
of there.
Fixes #517
2018-07-02 09:51:39 -06:00
Greg Fitzgerald
e7b7dfebf5
Add tests for process_ledger()
2018-07-02 09:51:39 -06:00
Michael Vines
a9e0b27772
Speed up snap build
...
1. Use pre-installed host rust toolchain
2. Build reference/performance fullnode in same part to avoid rebuilding libraries
3. Merge scripts into same part
2018-07-01 17:47:51 -07:00
Greg Fitzgerald
669164bada
Boot EntryWriter's Mutex
...
Finally!
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
4f3a291391
Move the writer into EntryWriter
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
56e37ad2f4
Limit sticky mutex to WriteStage
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
17de79a83a
Remove dead code
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
09e9139855
Move channel code to write stage
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
76fc5822c9
Send Vec<Entry> between stages instead of Entry
...
Might see a performance boost here.
2018-07-01 17:29:24 -06:00
Greg Fitzgerald
c767a854ed
Remove useless Arc
2018-07-01 11:35:32 -07:00
Greg Fitzgerald
b60802ddff
Refactor such that genesis can use entry_writer
2018-07-01 11:35:32 -07:00
Greg Fitzgerald
1c35d59f26
Receive entries first, then write
2018-07-01 11:35:32 -07:00
Greg Fitzgerald
adcaf715c6
Cleanup write_entries
2018-07-01 11:35:32 -07:00
Greg Fitzgerald
1f9494221b
Make space for a write_entry() that only writes entries
2018-07-01 11:35:32 -07:00
Greg Fitzgerald
466d6f76b9
Don't hide error in write_entry()
2018-07-01 11:35:32 -07:00
Greg Fitzgerald
b05e6ce3db
Cleanup solana-genesis
2018-07-01 11:35:32 -07:00
Michael Vines
1d812e78d5
Use hard linking to speed up target cache save/restore
2018-07-01 08:59:42 -07:00
Michael Vines
fba494343f
Save/restore target/ directory between builds
2018-06-30 22:30:57 -07:00
Michael Vines
0b878eccf8
Map HOME to grant docker containers access to the ~/.cargo registry cache
2018-06-30 21:50:15 -07:00
Michael Vines
98772b16d6
Generalize solana-snap build trigger
2018-06-30 21:50:15 -07:00
Michael Vines
bb82ff0c80
Don't wanna wait
2018-06-30 20:05:27 -07:00
Michael Vines
71af03dc98
Skip snap build for PRs if nothing under snap/ is modified
...
Additionally relegate push snap build to a secondary CI pipeline
2018-06-30 20:05:27 -07:00
Michael Vines
5671da4a0a
Generate a client-specific mint.json
2018-06-30 15:28:17 -07:00
Michael Vines
d63493a852
Grant the snap build more time
2018-06-30 12:20:22 -07:00
Greg Fitzgerald
c06582ba40
Wallet no longer uses global mint.json
2018-06-29 22:26:42 -07:00
Michael Vines
450f271cf7
Move public IP address detection out of bash
2018-06-29 21:12:05 -07:00
Greg Fitzgerald
a31889f129
Readme version bump
2018-06-29 21:39:41 -06:00
Tyera Eulberg
ba6a6f5227
Use clap crate for wallet CLI subcommands and arguments
2018-06-29 21:30:20 -06:00
Greg Fitzgerald
9a38d61048
Version bump
2018-06-29 21:23:50 -06:00
Michael Vines
903ec27754
Add BROKEN_NAT env variable to select Udp sender port workaround
2018-06-29 20:02:28 -07:00
Michael Vines
0b56d603c2
Client NAT traversal 0.1
...
UPnP is now used to request a port on the NAT be forwarded to the local machine.
This obviously only works for NATs that support UPnP, and thus is not a panacea
for all NAT-related connectivity issues.
Notable hacks in this patch include a transmit/receive UDP socket pair to work
around current protocol limitations whereby the full node assumes its peer can
receive on the same UDP port it transmitted from.
2018-06-29 17:36:26 -07:00
Michael Vines
4ffb5d157a
Disable coverage until issue #433 is resolved
2018-06-29 17:36:26 -07:00
Greg Fitzgerald
816246ebee
Add doc
2018-06-29 17:28:12 -06:00
Greg Fitzgerald
a9881aee05
Add base58-encoded addresses
2018-06-29 17:28:12 -06:00
Greg Fitzgerald
7b5b989cfe
Print usage is a command is not provided
2018-06-29 17:28:12 -06:00
Greg Fitzgerald
c4b62e19f2
Do Proof of History verification before appending entries to the bank
...
Note: replicate_stage is still using `process_entries()` because
changing it to `process_blocks()` causes the `test_replicate` test to
fail.
2018-06-29 15:35:39 -06:00
Pankaj Garg
79a97ada04
Fix more shellchecks
...
Also, stops current nodes before pushing updates
2018-06-29 15:19:28 -06:00
Pankaj Garg
da215d1a21
Fix failed shellchecks
2018-06-29 15:19:28 -06:00
Pankaj Garg
9ffc50bead
Address review comments
2018-06-29 15:19:28 -06:00
Pankaj Garg
f8352bac2f
Address review comments
...
* Only public IP address in the list
* formatting and other comments
2018-06-29 15:19:28 -06:00
Pankaj Garg
27c1410fdc
Script to deploy multiple nodes (one as leader, others as validators)
...
* The built code is loaded to the nodes
* ssh_keys can be copied to the nodes for internode comm
* The nodes are started with their respective roles
* The client demo is started on the last node
2018-06-29 15:19:28 -06:00
Greg Fitzgerald
9a4733bde7
Remove interactive behavior from wallet
2018-06-29 13:22:20 -06:00
Stephen Akridge
f3df5df52c
add validator catchup to multi-node test
2018-06-29 10:39:41 -07:00
Greg Fitzgerald
517d08c637
Cleanup
2018-06-29 09:51:13 -07:00
Greg Fitzgerald
90dd794ae5
cargo fmt
...
rustfmt 0.6.1-stable (49279d71 2018-05-08)
2018-06-29 09:51:13 -07:00
Tyera Eulberg
e0dbbba8a3
fmt
2018-06-29 09:51:13 -07:00
Tyera Eulberg
705df55a7f
Fix program name
2018-06-29 09:51:13 -07:00
Tyera Eulberg
d354e85a9a
Return bool on signature check
2018-06-29 09:51:13 -07:00
Tyera Eulberg
e4e1f8ec1e
Missing -m parameter handling
2018-06-29 09:51:13 -07:00
Tyera Eulberg
0112a24179
Add confirm command to wallet, and update RPU to check bank for a signature
2018-06-29 09:51:13 -07:00
Tyera Eulberg
d680f6b3a5
Fix bash scripts:
...
* Use wallet name everywhere
* Update drone to use mint.json
2018-06-29 09:51:13 -07:00
Anatoly Yakovenko
47e732717f
more notes
2018-06-29 10:18:36 -06:00
Michael Vines
ec56abfccb
Correct setup.sh args
2018-06-29 07:59:16 -07:00
Anatoly Yakovenko
e7cdb402fb
highlight
2018-06-29 07:16:03 -06:00
Anatoly Yakovenko
a3fe1965fb
spelling
2018-06-29 07:16:03 -06:00
Anatoly Yakovenko
5256e6833e
update
2018-06-29 07:16:03 -06:00
Anatoly Yakovenko
051cd2e1ff
more examples
2018-06-29 07:16:03 -06:00
Anatoly Yakovenko
51929e7df8
rfcs
2018-06-29 07:16:03 -06:00
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
Greg Fitzgerald
7b4a378c92
Add public-ip option to snap validator with cuda
2018-06-28 21:14:29 -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
a4c49af859
Add public-ip argument to setup.sh
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
Michael Vines
ee200d8fa0
Add DEBUG= flag to select debug binaries
2018-06-27 15:34:31 -07: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
6dac87f2a7
Add entry to snapscraft yaml; cleanup bash header
2018-06-27 13:01:29 -06: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
124e1fa350
Bash scripts to go with simple-client-demo
2018-06-27 13:01:29 -06:00
Tyera Eulberg
ac40434cdf
Initial simple client demo commit
2018-06-27 13:01:29 -06:00
Rob Walker
39354c06f8
take multiple log files, allow restart of leader, validator
2018-06-27 11:41:25 -07:00
Michael Vines
faedb88de0
s/local/declare/g
2018-06-26 19:11:31 -07:00
Michael Vines
5cd1fb486f
Automatically add rsync:// prefix to URLs that need it
2018-06-26 17:45:53 -07:00
Rob Walker
5b5df49e6c
make client.sh behave like the others, i.e. no tee to a log
2018-06-26 17:02:24 -07:00
Michael Vines
86f9277e2d
Add USE_SNAP flag
2018-06-26 16:32:55 -07: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
Rob Walker
a5ce578c72
...
2018-06-26 16:23:41 -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
Michael Vines
b7ddefdbf9
Empty plug array is not accepted by the snap store
2018-06-26 12:49:40 -07:00
Michael Vines
ce361c2cdc
Add Snap fullnode daemon
2018-06-26 12:32:33 -07:00
Michael Vines
ed6ba55261
Add snap/ README
2018-06-26 12:32:33 -07:00
Michael Vines
ec333d2bd6
Revert "-v was renamed to -t"
...
This reverts commit 8f4ce1e8d0
.
2018-06-26 12:32:33 -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
Michael Vines
8f4ce1e8d0
-v was renamed to -t
2018-06-25 20:48:26 -07: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
Rob Walker
3966eb5374
support MacOS bash and ifconfig properly
2018-06-25 13:14:36 -06: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
Michael Vines
be5f2ef9b9
Consolidate CI jobs
2018-06-24 22:28:24 -07:00
Greg Fitzgerald
adfcb79387
Force install cargo-cov
2018-06-24 15:34:30 -06:00
Greg Fitzgerald
73c4c0ac5f
Revert "cargo-cov installed by default in nightly?"
...
This reverts commit 6fc601f696
.
2018-06-24 15:34:30 -06:00
Greg Fitzgerald
6fc601f696
cargo-cov installed by default in nightly?
2018-06-24 12:17:42 -06:00
Greg Fitzgerald
07111fb7bb
Use llvm-cov instead of gcov
...
@marco-c called this a hack, but since grcov isn't working
out-of-the-box (panics on call to gcov), we'll take a stab at using
llvm-cov.
2018-06-24 12:17:42 -06:00
Greg Fitzgerald
a06d2170b0
No need for rustfmt on nightly
2018-06-24 12:17:42 -06:00
Greg Fitzgerald
7f53ea3bf3
Generate coverage with Rust nightly
...
Fixes #177
Thanks @marco-c!
2018-06-24 12:17:42 -06:00
Michael Vines
b2accd1c2a
Run snap build sooner to better mask the delay
2018-06-24 10:24:32 -07: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
Tyera Eulberg
45b2549fa9
Reset bad TestNode edit
2018-06-24 10:44:17 -06:00
Greg Fitzgerald
c7ce454188
Use pnet_datalink instead of all of pnet
...
pnet_transport takes a long time to build. It's been especially
painful from within a docker container for reasons I don't care
to understand. pnet_datalink is the only part of pnet we're using
so booting the rest.
2018-06-24 10:39:59 -06:00
Anatoly Yakovenko
7059ea42d6
comments
2018-06-24 09:19:05 -06:00
Anatoly Yakovenko
8ea1c29c9b
more notes
2018-06-24 09:19:05 -06:00
Michael Vines
33bbfdbc9b
Retry flaky coverage/cuda builds on initial failure
2018-06-23 16:17:25 -07:00
Michael Vines
5de54f8853
Make cuda/erasure build logs public
2018-06-23 16:17:25 -07:00
Michael Vines
a1ac41218a
Document CUDA version
2018-06-23 16:17:25 -07:00
Rob Walker
55fc647568
fix more shellcheck
2018-06-23 16:00:17 -07:00
Rob Walker
e83e898eed
fix shellcheck's concerns
2018-06-23 16:00:17 -07:00
Rob Walker
eb07e4588b
remove IPADDR, which was making Rob feel ill
...
IPADDR is simple, but not exactly what we need for testnet, where NAT'd
folks need to join in, need to advertize themselves as on the interweb.
myip() helps, but there's some TODOs: fullnode-config probably needs to
be told where it lives in the real world (machine interfaces tell us dick),
or incorporate something like the "ifconfig.co" code in myip.sh
2018-06-23 16:00:17 -07:00
Michael Vines
563f834c96
Document how to update the snap
2018-06-23 15:29:22 -07:00
Michael Vines
183178681d
Simply fetching perf libs
2018-06-23 12:54:38 -07:00
anatoly yakovenko
8dba53e494
debit undo ( #423 )
2018-06-23 06:14:52 -07:00
Michael Vines
e4782b19a3
Document GCP setup
2018-06-23 02:12:20 -07:00
Michael Vines
ec86b1dffa
Adapt to GCP-based CI
2018-06-23 02:12:20 -07:00
anatoly yakovenko
6cb8266c7b
cleanup ( #419 )
2018-06-22 23:26:42 -07:00
Greg Fitzgerald
9c50302a39
Update rfc-001-smart-contracts-engine.md
2018-06-22 22:45:22 -07:00
Anatoly Yakovenko
3313c69898
remove ccal
2018-06-22 22:43:54 -07:00
Anatoly Yakovenko
530c6ca7ec
a bunch of updates
2018-06-22 22:43:54 -07:00
Anatoly Yakovenko
07ed2fb523
cleanup
2018-06-22 22:43:54 -07:00
Anatoly Yakovenko
d9ec380a15
cleanup
2018-06-22 22:43:54 -07:00
Anatoly Yakovenko
b60eb3a899
edits
2018-06-22 22:43:54 -07:00
Anatoly Yakovenko
b4df69791b
cleanup
2018-06-22 22:43:54 -07:00
Anatoly Yakovenko
c21b8a22b9
update
2018-06-22 22:43:54 -07:00
Anatoly Yakovenko
475a76e656
wip
2018-06-22 22:43:54 -07:00
Anatoly Yakovenko
7ba5d5ef86
first!
2018-06-22 22:43:54 -07:00
Greg Fitzgerald
737dc1ddde
Per rustc 1.27.0, we can ensure nested results are used
2018-06-22 22:42:47 -07:00
Greg Fitzgerald
164bf19b36
Update LICENSE
2018-06-22 22:41:04 -07:00
Greg Fitzgerald
25976771d9
Version bump
2018-06-22 22:38:18 -07:00
Greg Fitzgerald
f2198c2e9a
cargo fmt
...
rustc 1.27.0
```
$ cargo fmt --version
rustfmt 0.6.1-stable (49279d71 2018-05-08)
```
2018-06-22 22:23:55 -07:00
Rob Walker
eec19c6d2c
move genesis to new Entry generation
2018-06-22 17:46:45 -07:00
Michael Vines
30e03feb5f
Add initial CI subsystem documentation
2018-06-22 15:30:29 -07:00
Michael Vines
58cd3bde9f
Add drone to snap package
2018-06-22 15:27:25 -07:00
Tyera Eulberg
662bfb7b88
fmt
2018-06-22 14:52:36 -07:00
Tyera Eulberg
5f3e3a17d3
Fix test_send_airdrop cap; add helpful panic msgs
2018-06-22 14:52:36 -07:00
Tyera Eulberg
feba2d9975
Set request cap to a reasonable number, based on 30min reset noted in issue #341
2018-06-22 14:52:36 -07:00
Tyera Eulberg
e3e3a1c457
Better drone request cap handling
2018-06-22 14:52:36 -07:00
Tyera Eulberg
90628f3c8d
Edit TestNode port logic to be consistent with new_leader (fixes hanging test_send_airdrop)
2018-06-22 14:52:36 -07:00
Tyera Eulberg
f6bcadb79d
Make airdrop amount variable
2018-06-22 14:52:36 -07:00
Tyera Eulberg
d4ac16773c
fmt
2018-06-22 14:52:36 -07:00
Tyera Eulberg
96f044d2bf
Clean up; add new_from_server_addr routine
2018-06-22 14:52:36 -07:00
Tyera Eulberg
f31868b913
Rename drone bin; fix usage statement
2018-06-22 14:52:36 -07:00
Tyera Eulberg
73b0ff5b55
Add request-count check and tests; fmt
2018-06-22 14:52:36 -07:00
Tyera Eulberg
64cf69045a
Add request-count check; Clean up solana-drone and fmt
2018-06-22 14:52:36 -07:00
Tyera Eulberg
e57dae0f31
Update config and dependencies for solana-drone
2018-06-22 14:52:36 -07:00
Tyera Eulberg
6386e7d5cf
Leave some tokens in the mint for solana-drone
2018-06-22 14:52:36 -07:00
Tyera Eulberg
4bad103da9
Add solana-drone CLI
2018-06-22 14:52:36 -07:00
Tyera Eulberg
30a26adb7c
Add solana-drone module to library
2018-06-22 14:52:36 -07:00
Stephen Akridge
8be4adfc0a
Rename tr => tx and add back comments
2018-06-22 14:34:46 -07:00
Stephen Akridge
fed4cc3965
Remove commented code/imports
2018-06-22 14:34:46 -07:00
Stephen Akridge
7d1e074683
bump last_ids
2018-06-22 14:34:46 -07:00
Stephen Akridge
00516e50a1
last_ids opt
2018-06-22 14:34:46 -07:00
Stephen Akridge
e83d76fbd9
Remove mutexes
2018-06-22 14:34:46 -07:00
Stephen Akridge
304f152315
rwlock balances table
2018-06-22 14:34:46 -07:00
Stephen Akridge
3a82ebf7fd
Add multiple source accounts for benchmark
2018-06-22 14:34:46 -07:00
Pankaj Garg
0253d34467
Address review comments
2018-06-22 14:18:45 -07:00
Pankaj Garg
9209f9acde
Run multiple instances from same workspace
...
* Support running leader and validators from multiple machines
using the same NFS mounted workspace.
* Changes to setup, leader and validator scripts
2018-06-22 14:18:45 -07:00
Rob Walker
3dbbb398df
use next_entries() in recorder, recycle blobs in reconstruct_from_blobs
2018-06-22 14:17:36 -07:00
Michael Vines
17e8ad110f
Temporarily disable failing CI to get back to green
2018-06-22 11:29:31 -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
fe9a1c8580
Fix comment
2018-06-21 21:24:32 -07:00
Greg Fitzgerald
cd6d7d5198
Remove redundant clones
2018-06-21 21:24:32 -07:00
Michael Vines
771478bc68
Add simple CUDA version check, warn on mismatch
2018-06-21 13:42:06 -07:00
Michael Vines
c4a59896f8
Run test-erasure in a container
2018-06-21 13:00:40 -07:00
Michael Vines
3eb1608403
Skip --user if SOLANA_DOCKER_RUN_NOSETUID is set
2018-06-21 12:24:52 -07:00
Michael Vines
8fde70d4dc
Erasure tests do not require a CUDA agent
2018-06-21 11:42:37 -07:00
Michael Vines
5a047833ed
Run snap publishing directly on CUDA agent
...
This is necessary until we build a docker image that also contains a CUDA
installation
2018-06-21 11:42:37 -07:00
Michael Vines
f6c28e6be1
Update snapcraft docker image contain snapcraft 2.42.1
2018-06-21 11:42:37 -07:00
Michael Vines
0ebf10d19d
Snap cuda fullnode
2018-06-21 11:42:37 -07:00
Pankaj Garg
d3005d3ef3
Updated setup and leader scripts
...
* Setup will us -b to set validator ports
* Leader script fixed to append .log to the log file
* Updated readme file
2018-06-20 19:05:38 -07:00
Anatoly Yakovenko
effcef2184
fixed sleep bug
2018-06-20 16:58:10 -07:00
Michael Vines
89fc0ad7a9
Add convenience script to download performance libraries
2018-06-20 16:48:32 -07:00
Greg Fitzgerald
410272ee1d
Update generic_array
...
Warning: this may have performance implications.
2018-06-20 11:41:54 -07:00
Greg Fitzgerald
1c97bf50b6
Fix nightly
...
No longer ignore failures in the nightly build.
2018-06-19 17:38:04 -07:00
Rob Walker
4ecd2c9d0b
update demo scripts
...
* add setup to combine init steps, configurable initial mint
* bash -e -> bash and be explicit about errors with || exit $?
* feed transaction logs to validator, too
2018-06-19 17:04:44 -07:00
Michael Vines
e592243a09
De-double quote
2018-06-19 13:20:47 -07:00
Greg Fitzgerald
2f4a92e352
Cleanup test
2018-06-19 12:36:02 -07:00
OEM Configuration (temporary user)
ceafc29040
fix linting errors, add retransmission fix to repair requests
2018-06-19 12:36:02 -07:00
OEM Configuration (temporary user)
b20efabfd2
added retransmission of repair messages
2018-06-19 12:36:02 -07:00
Michael Vines
85b6e7293c
Add cleanup script to manage build agent disk space
2018-06-19 12:22:45 -07:00
Rob Walker
6aced927ad
improve ledger initialization for fullnode
...
* use a line iterator on stdin instead of a line iterator on a buffer
* move some unwrap() to expect(), documenting failures
* bind entry type earlier (for kicks)
2018-06-19 09:28:35 -07:00
Michael Vines
75997e6c08
Allow BUILDKITE_BRANCH in containers
2018-06-18 22:51:30 -07:00
Michael Vines
9040d00110
Package solana as a snap
2018-06-18 17:36:03 -07:00
Michael Vines
8ebc5c6b07
Suggest different validator port by default to coexist with leader port on the same machine
2018-06-18 17:36:03 -07:00
Michael Vines
d4807790ff
Add snapcraft login credentials
...
This file was created as follows:
$ snapcraft export-login --snaps solana --channels beta,edge snapcraft.credentials
$ openssl aes-256-cbc -e -in snapcraft.credentials -out snapcraft.credentials.enc
2018-06-18 17:36:03 -07:00
Rob Walker
0de5e7a285
attempt to understand entry
2018-06-18 16:48:59 -07:00
Greg Fitzgerald
c40000aeda
Fix compiler warning
2018-06-18 15:49:41 -07:00
Stephen Akridge
31198bc105
Fix cargo bench nightly
2018-06-18 13:20:39 -07:00
Michael Vines
92599acfca
Abort when -l is not present or unreadable
2018-06-16 09:55:03 -07:00
Greg Fitzgerald
f6e70779fe
Don't panic if sent a bad packet
2018-06-16 09:51:45 -06:00
Greg Fitzgerald
3017bde686
Update README.md
2018-06-16 09:43:23 -06:00
Greg Fitzgerald
9d84ec4bb3
Delete TODO
...
That comment predates the separation of RPU and TPU.
2018-06-16 08:59:30 -06:00
Anatoly Yakovenko
586141adb2
Cleanup TVU docs
2018-06-15 22:45:35 -06:00
Michael Vines
3f763f99e2
Fail fast in CI when |cargo fmt| says no
2018-06-15 17:10:00 -07:00
Michael Vines
15c7f36ea3
Improve error reporting
2018-06-15 17:10:00 -07:00
Michael Vines
04d1a083fa
Skip |sudo sysctl ...| on macOS
2018-06-15 17:10:00 -07:00
Greg Fitzgerald
327ee1dae8
Apply feedback from @aeyakovenko
2018-06-15 17:01:38 -06:00
Greg Fitzgerald
22885c3e64
Add TVU ASCII art
2018-06-15 17:01:38 -06:00
Stephen Akridge
94ededb54c
Add comments and limit digits for tps prints
2018-06-15 11:54:01 -06:00
Stephen Akridge
af6a07697a
Change client-demo to run continuosly for some amount of time
...
Also retry for get_last_id/transaction_count if dropped.
2018-06-15 11:54:01 -06:00
Stephen Akridge
5f1d8c95eb
Fix blob data size
2018-06-15 11:54:01 -06:00
Anatoly Yakovenko
7d9e032407
make sure we test large tables
2018-06-15 06:56:35 -06:00
Anatoly Yakovenko
bc918a5ad5
purger
2018-06-15 06:56:35 -06:00
Anatoly Yakovenko
ee54ce4727
min table size before purge
2018-06-15 06:56:35 -06:00
Anatoly Yakovenko
e85bf2f2d5
tests pass
2018-06-15 06:56:35 -06:00
Anatoly Yakovenko
a7460ffbd1
purge validators we havent seen for a long time
2018-06-15 06:56:35 -06:00
Rob Walker
7fe1fd2f95
clean up fullnode cmdline
...
* fix documentation, other opt parameters
* add support for a named output file, remove hardcoded "leader.log"
* resurrect stdout as the default output
2018-06-15 00:41:07 -07:00
Rob Walker
d30670e92e
clean up demo bash scripts
...
* allow other level of RUST logging
* avoid "echo" in favor of printf (builtin)
* single quotes for literals, double quotes for variables
2018-06-14 23:12:11 -06:00
Greg Fitzgerald
9b202c6e1e
No longer flood log with emtpy entries
2018-06-14 18:04:36 -06:00
Stephen Akridge
87946eafd5
Lower processing transaction message to debug by default
2018-06-14 17:08:11 -06:00
Greg Fitzgerald
7575d3c726
Add timestamp to log messages
...
Upgraded env_logger and now we have timestamps and colorful messages.
Fixes #318
2018-06-14 17:07:58 -06:00
Stephen Akridge
8b9713a934
Skip link_local v4 addresses and v6 address when v6 is not enabled
2018-06-14 16:10:31 -06:00
Stephen Akridge
ec713c18c4
Revert client.sh script to use cargo
2018-06-14 11:56:36 -06:00
anatoly yakovenko
c24b0a1a3f
TVU rework ( #352 )
...
Refactored TVU, into stages
* blob fetch stage for blobs
* window stage for maintaining the blob window
* pulled out NCP out of the TVU so they can be separate units
TVU is now just the fetch -> window -> request and bank processing
2018-06-13 21:52:23 -07:00
Robert Kelly
34e0cb0092
cargo fmt
2018-06-13 19:17:21 -07:00
Robert Kelly
7b7c7cba21
changed atty library
2018-06-13 19:17:21 -07:00
Anatoly Yakovenko
c45343dd30
comments
2018-06-13 16:11:44 -06:00
Anatoly Yakovenko
b7f6603c1f
fix coverage build
2018-06-13 16:11:44 -06:00
anatoly yakovenko
2d3b052dea
allow for insertion of dummy entry points into the local table ( #346 )
...
* Needed for #341 . Create a dummy entry with public key 0..., but with a valid gossip address that we can ask for updates. This will allow validators to discover the full network by just knowing a single node's gossip address without knowing anything else about their identity.
* once we start removing dead validators this entry should get purged since we will never see a message from public key 0, #344
2018-06-13 11:42:30 -07:00
Tyera Eulberg
dcb6234771
Fix relative link to client demo
2018-06-12 23:29:04 -06:00
Greg Fitzgerald
e44d423e83
Make version syntax consistent
...
Using no symbol implies its a symver caret requirement.
https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html
2018-06-11 15:51:25 -06:00
Greg Fitzgerald
5435bb734c
Upgrade rand
2018-06-11 15:51:25 -06:00
Michael Vines
13f59adf61
Update build status badge link to publicly available build log
2018-06-10 22:12:09 -07:00
Stephen Akridge
0fce3368d3
Fix json perf counter print and add script to generate a chart
2018-06-09 10:55:22 -07:00
Stephen Akridge
1ee5c81267
Fix benchmarking banking_stage
2018-06-08 15:50:36 -07:00
Stephen Akridge
3bb9d5eb50
Use timing::timestamp for counters
2018-06-08 15:50:36 -07:00
Grimes
efb23f7cf9
Ensure stuck builds eventually timeout
2018-06-07 19:08:03 -07:00
Grimes
013f4674de
Target cuda agents
2018-06-07 19:08:03 -07:00
Greg Fitzgerald
6966b25d9c
Don't mark a build as failed if line coverage drops
...
It's not always a problem if line coverage drops. For example,
coverage will drop if you make well-tested code more succinct.
It just means the uncovered code is just a larger percentage of
the codebase.
2018-06-07 19:09:25 -06:00
Greg Fitzgerald
d513f56c8c
Readme version bump
2018-06-07 17:32:07 -06:00
Greg Fitzgerald
7aa05618a3
data_replicator -> ncp
...
Fixes #327
2018-06-07 17:11:17 -06:00
Greg Fitzgerald
cdfbbe5e60
Fix diagram typos
2018-06-07 17:11:17 -06:00
Greg Fitzgerald
fe7d1cb81c
Race -> Or
...
Thanks for the suggestion @FishmanL!
2018-06-07 17:11:03 -06:00
Anatoly Yakovenko
c2a9395a4b
perf counters
2018-06-07 14:59:21 -07:00
Greg Fitzgerald
586279bcfc
Add server diagrams
2018-06-07 15:24:44 -06:00
Greg Fitzgerald
8bd10e7c4c
Cleanup top-level lib doc
2018-06-07 15:24:44 -06:00
Greg Fitzgerald
928e6165bc
Add TPU & RPU diagrams
2018-06-07 15:24:44 -06:00
anatoly yakovenko
77c9e801aa
fixed client demo ( #325 )
...
* fixed client demo
2018-06-07 13:51:15 -07:00
Anatoly Yakovenko
c78132417f
fix deadlock
2018-06-07 13:52:33 -06:00
Anatoly Yakovenko
849928887e
undo
2018-06-07 13:52:33 -06:00
Anatoly Yakovenko
ba1163d49f
fix logs
2018-06-07 13:52:33 -06:00
Anatoly Yakovenko
6f9c89af39
fix deadlock
2018-06-07 13:52:33 -06:00
Greg Fitzgerald
246b8b1242
No longer cat scripts
...
Because we keep changing those scripts and not updating the readme.
Also, this removes the "-b 9000" starting validators. Is that right?
Or should we be passing that to the validator config?
2018-06-07 12:17:43 -06:00
Stephen Akridge
f0db68cb75
Add note about validator.json and -d flag to config generating scripts
2018-06-07 11:15:41 -06:00
Greg Fitzgerald
f0d1fdfb46
Add missing module descriptions
2018-06-07 09:25:36 -06:00
Greg Fitzgerald
3b8b2e030a
Better docs for transaction
2018-06-07 09:25:36 -06:00
Greg Fitzgerald
b4fee677a5
Better docs for payment_plan
2018-06-07 09:25:36 -06:00
Greg Fitzgerald
fe706583f9
Better docs for sigverify_stage
2018-06-07 09:25:36 -06:00
Greg Fitzgerald
d0e0c17ece
Better docs for rpu
2018-06-07 09:25:36 -06:00
Greg Fitzgerald
5aaa38bcaf
Better docs for write_stage
2018-06-07 09:25:36 -06:00
Greg Fitzgerald
6ff9b27f8e
Better docs for entry
2018-06-07 09:25:36 -06:00
Greg Fitzgerald
3f4e035506
Better docs for budget
2018-06-07 09:25:36 -06:00
Greg Fitzgerald
57d9fbb927
Better docs for banking_stage
2018-06-07 09:25:36 -06:00
Greg Fitzgerald
ee44e51b30
Better docs for the bank
2018-06-07 09:25:36 -06:00
Greg Fitzgerald
5011f24123
Move more interesting content into first header
...
The first header and its content is the only text displayed on
GitHub's mobile page. Reorder so that the disclaimer is the only
information people see.
Disclaimer: IANAL and assume reordering these doesn't matter. :)
2018-06-07 09:25:36 -06:00
Anatoly Yakovenko
d1eda334f3
gdb
2018-06-07 09:25:08 -06:00
Hleb Albau
2ae5ce9f2c
Do not use cuda for multinode-demo validator component
2018-06-07 07:04:33 -06:00
Greg Fitzgerald
4f5ac78b7e
Add readme to crates.io
2018-06-06 15:00:25 -06:00
Stephen Akridge
074c9af020
Shellcheck again
2018-06-05 15:32:25 -06:00
Stephen Akridge
2da2d4e365
More shellcheck
2018-06-05 15:32:25 -06:00
Stephen Akridge
8eb76ab2a5
Fix shellcheck
2018-06-05 15:32:25 -06:00
Stephen Akridge
a710d95243
Fix non-erasure blob nulling
2018-06-05 15:32:25 -06:00
Stephen Akridge
a06535d7ed
cargo fmt
2018-06-05 15:32:25 -06:00
Stephen Akridge
f511ac9be7
Fixes for receiving old blobs and nulling the window with coding
2018-06-05 15:32:25 -06:00
Stephen Akridge
e28ad2177e
Receive fixes
2018-06-05 15:32:25 -06:00
Stephen Akridge
cb16fe84cd
Rework to fix coding blob insertion
2018-06-05 15:32:25 -06:00
Stephen Akridge
ec3569aa39
Move receive_index to correct place
2018-06-05 15:32:25 -06:00
Stephen Akridge
246edecf53
Add receive_index for broadcast blobs and fix blobs_len position
2018-06-05 15:32:25 -06:00
Stephen Akridge
34834c5af9
Store another size in the data block so it is coded as well
2018-06-05 15:32:25 -06:00
Stephen Akridge
b845245614
Restore more of the blob window and add is_coding helper
2018-06-05 15:32:25 -06:00
Stephen Akridge
5711fb9969
Generate coding for the current blob set not just the first coding set
2018-06-05 15:32:25 -06:00
Stephen Akridge
d1eaecde9a
Fix deadlock and only push to contq if it's not a coding blob
2018-06-05 15:32:25 -06:00
Stephen Akridge
00c8505d1e
Handle set_flags error
2018-06-05 15:32:25 -06:00
Stephen Akridge
33f01efe69
Fixes for erasure coding
2018-06-05 15:32:25 -06:00
Stephen Akridge
377d312c81
Revert log levels
2018-06-05 15:32:25 -06:00
Stephen Akridge
badf5d5412
Add window recovery
2018-06-05 15:32:25 -06:00
Stephen Akridge
0339f90b40
Fix gf-complete url and symlinks
2018-06-05 15:32:25 -06:00
Stephen Akridge
5455e8e6a9
Review comments
2018-06-05 15:32:25 -06:00
Stephen Akridge
6843b71a0d
Debug erasure ci script
2018-06-05 15:32:25 -06:00
Stephen Akridge
634408b5e8
Add erasure build to ci
2018-06-05 15:32:25 -06:00
Stephen Akridge
d053f78b74
Erasure refinements, fix generating orders table
2018-06-05 15:32:25 -06:00
Stephen Akridge
93b6fceb2f
generate coding after indexing
2018-06-05 15:32:25 -06:00
Stephen Akridge
ac7860c35d
indexing blobs then coding
2018-06-05 15:32:25 -06:00
Stephen Akridge
b0eab8729f
Add erasure ci script
2018-06-05 15:32:25 -06:00
Stephen Akridge
cb81f80b31
Enable logging for client demo
2018-06-05 15:32:25 -06:00
Stephen Akridge
ea97529185
Fix erasure compilation
2018-06-05 15:32:25 -06:00
Greg Fitzgerald
f1075191fe
Clean up comments: Event -> Transaction
2018-06-04 21:43:46 -06:00
Greg Fitzgerald
74c479fbc9
Delete bitrotted docs
2018-06-04 21:43:46 -06:00
Greg Fitzgerald
7e788d3a17
No longer need explicit refs in rustc 1.26
2018-06-04 21:43:46 -06:00
anatoly yakovenko
69b3c75f0d
Power of two chance ( #314 )
...
* fix validator script
* 1/2^30 that we fail due to random returning the same value
2018-06-04 13:32:34 -07:00
Anatoly Yakovenko
b2c2fa40a2
comments
2018-06-03 22:08:25 -06:00
Anatoly Yakovenko
50458d9524
more tests
2018-06-03 22:08:25 -06:00
Anatoly Yakovenko
9679e3e356
more tests
2018-06-03 22:08:25 -06:00
Anatoly Yakovenko
6db9f92b8a
crdt gossip tests
2018-06-03 22:08:25 -06:00
Stephen Akridge
4a44498d45
Fix args in validator script, readme version, client-demo perf print
2018-06-02 21:55:27 -06:00
anatoly yakovenko
216510c573
repair socket and receiver thread ( #303 )
...
repair socket and receiver thread
2018-06-02 08:32:51 -07:00
Stephen Akridge
fd338c3097
Run release binary for leader node
2018-06-01 17:10:48 -06:00
Greg Fitzgerald
b66ebf5dec
Version bump
2018-06-01 17:10:37 -06:00
Greg Fitzgerald
5da99de579
Review feedback
2018-06-01 13:43:38 -06:00
Greg Fitzgerald
3aa2907bd6
Restore shellcheck
2018-06-01 13:43:38 -06:00
Greg Fitzgerald
05d1618659
Add more detail to testnet setup
2018-06-01 13:43:38 -06:00
Greg Fitzgerald
86113811f2
Readme/demo cleanup
2018-06-01 13:43:38 -06:00