Commit Graph

18354 Commits

Author SHA1 Message Date
e7fcda1424 Quic client stats (#24195)
* Add metrics to connection-cache to measure cache hits and misses

* Add congestion stats

* Add more client stats

* Review comments

Co-authored-by: Ryan Leung <ryan.leung@solana.com>
2022-04-13 05:04:40 +02:00
d8c45a69c3 fix: don't override a transaction's recentBlockhash when calling simulate if it's already set (#24280)
* Update simulate to add blockhash if not exist

Simulate has been overriding the recentBlockhash of the passed
Transaction which can be considered destructive and with side effects.

Since the purpose of this function is to purely simulate, it should not
override recentBlockhash if it has already been set

Refs https://github.com/solana-labs/solana/issues/24279

* Apply prettier
2022-04-13 10:15:50 +08:00
a43ff3bbcb cleanup (#24299) 2022-04-12 17:52:47 -07:00
138f04a49f featurize bpf function hash collision fix (#24262) 2022-04-12 17:52:32 -07:00
929753a11f typo (#24291) 2022-04-12 16:46:59 -05:00
4ac730944e Use explicit configuration of RBPF (#24286) 2022-04-12 13:54:39 -07:00
7a4a6597c0 Don't enforce ulimit for validator test config (#24272) 2022-04-12 22:06:37 +02:00
6b611e1c52 Bump bpf-tools to v1.25
- Tweak linker script
  Ensure that all read only sections end up in one segment, and
  everything else in other segments. Discard .eh_frame, .hash and
  .gnu.hash since they are unused.
- Don't create invalid string slices in stdout/stderr on Solana
- Report exceeded stack size as a warning if dynamic frames are off
- Native support for signed division in SBF
  Adds BPF_SDIV, which is enabled only for the SBF subtarget.
- Introduce dynamic stack frames and the SBFv2 flag
  Dynamic stack frames  are currently opt-in and enabled setting
  cpu=sbfv2. When sbfv2 is used, ELF files are flagged with
  e_flags=EF_SBF_V2 so the runtime can detect it and react
  accordingly.
2022-04-12 10:51:15 -07:00
69e9ad5571 update comment (#24288) 2022-04-12 12:37:46 -05:00
b035991c35 migrate memberes from deprecated structs (#24263) 2022-04-12 09:49:42 -07:00
2d4d639635 add expected_rent_collection (#24028)
* add expected_rent_collection

* update some comments for clarity and resolve a todo

* add test for 'LeaveAloneNoRent'
2022-04-12 11:32:23 -05:00
8487030ea6 Add TpuClient support to bench-tps (#24227)
* Add fallible send methods, and rpc_client helper

* Add helper to return RpcClient url

* Implement BenchTpsClient for TpuClient

* Add cli rpc and identity handling

* Handle different kinds of clients in main, use TpuClient

* Add tpu_client integration test
2022-04-12 09:43:29 -06:00
bdbca3362e increase test timeout (#24277) 2022-04-12 09:54:57 -05:00
1bc49d219d IndexLimitMb option adds 'Unspecified' state (#24249) 2022-04-12 09:38:09 -05:00
605036c117 move test fn into its own mod (#24212)
* move test fn into its own mod

* pub
2022-04-12 09:36:05 -05:00
474080608a Async send for send transaction service (#24265)
* async send
2022-04-12 07:15:59 -07:00
f3aa80d3f8 typo (#24257) 2022-04-12 09:08:35 -05:00
9488a73f52 Don't request reviews from community-pr-subscribers if reviewer assigned (#24270) 2022-04-12 16:35:05 +08:00
b6903dab6e Explorer: Fix verified collection row rendering (#24269) 2022-04-12 08:22:42 +00:00
865a8307e2 Enable the explorer to render content from data URIs (#24235)
* Enable explorer to render images from data URIs

* Add regex to check for image mime type
2022-04-12 08:17:26 +00:00
077bc4f407 (LedgerStore) Change the default RocksDB perf sample rate to 1 / 1000. (#24234) 2022-04-12 04:12:47 +00:00
5a48ef72fd (LedgerStore) Skip sampling check when ROCKSDB_PERF_CONTEXT_SAMPLES_IN_1K_DEFAULT = 0 (#24221)
#### Problem
Currently, even if SOLANA_METRICS_ROCKSDB_PERF_SAMPLES_IN_1K == 0, we are still doing
the sampling check for every RocksDB read.

```
thread_rng().gen_range(0, METRIC_SAMPLES_1K) > *ROCKSDB_PERF_CONTEXT_SAMPLES_IN_1K
```

#### Summary of Changes
This PR skips the sampling check when SOLANA_METRICS_ROCKSDB_PERF_SAMPLES_IN_1K
is set to 0.
2022-04-11 20:39:46 -07:00
9b8850f99e test-validator: Add --max-compute-units flag (#24130)
* test-validator: Add `--max-compute-units` flag

* Add `RuntimeConfig` for tweaking runtime behavior

* Actually add the file

* Move RuntimeConfig to runtime
2022-04-12 02:28:10 +02:00
4fd184c131 Use Release/Acquire instead of SeqCst for is_bank_drop_callback_enabled (#24134) 2022-04-11 19:19:17 -05:00
6fbe2b936c fix comment (#24254) 2022-04-11 18:53:45 -05:00
77f9f7cd60 Update docs for measure!() (#24255) 2022-04-11 18:15:16 -05:00
8a754d45b3 Singlular syscall context (#24204) 2022-04-11 16:05:09 -07:00
c1687b0604 Switch to await-aware tokio::sync::Mutex 2022-04-11 18:15:03 -04:00
a2be810dbc Resolve new clippy complaints 2022-04-11 18:15:03 -04:00
552d684bdc Upgrade to Rust 1.60.0 2022-04-11 18:15:03 -04:00
8f9554b5b9 Build rust docker images for linux/amd64 2022-04-11 18:15:03 -04:00
a5e740431a Add resolver = 2 to fix Windows build error on Travis CI (#24196) 2022-04-11 16:39:14 -05:00
f7b00ada1b GetMinimumDelegation does not require a stake account (#24192) 2022-04-11 16:26:36 -05:00
b38833923d Use atomics instead of mutable statics in slot_hashes (#24091) 2022-04-11 15:12:50 -06:00
3871c85fd7 Add BenchTpsClient trait (#24208)
* Add BenchTpsClient

* Impl BenchTpsClient for used clients

* Use BenchTpsClient in do_bench

* Update integration test to use faucet via rpc

* Support keypairs from file that are not prefunded

* Remove old perf-utils
2022-04-11 13:45:40 -06:00
c0019edf00 document WaitableCondvar (#24252) 2022-04-11 14:45:23 -05:00
8a73badf3d Move helpers to solana-cli-config (#24246)
* Add solana-cli-utils crate

* Use cli-utils in cli

* Move println fn to cli-output

* Use cli-config instead
2022-04-11 12:56:51 -06:00
9ac2245970 remove clone (#24244) 2022-04-11 13:15:00 -05:00
60b2155bd3 Add accounts-filler-size command line option (#23896) 2022-04-11 13:10:09 -05:00
eb478d72d1 Add a measure! macro (#23084) (#24137)
Co-authored-by: Kwanwoo Sohn <kwan@Kwanwoos-MacBook-Air-2.local>
2022-04-11 12:50:52 -05:00
85e5b1e902 Bump solana-rbpf to v0.2.25 (#24213) 2022-04-11 10:38:47 -07:00
b22abbce7d Additional tests for proof verification when ElGamal pubkey is zeroed (#24243)
* zk-token-sdk: add edge case tests for withdraw withheld proof

* zk-token-sdk: add test cases for proof verification when pubkeys are invalid
2022-04-11 17:53:31 +01:00
e14933c54d move bank test fn to its test_utils mod (#24171) 2022-04-11 10:42:24 -05:00
f8628d39e0 Check tpu quic socket (#24122) 2022-04-11 16:48:36 +02:00
ecfa1964ff sdk: fix typo in lib.rs (#24240)
recieved -> received
2022-04-11 22:36:08 +08:00
8eef3d9713 Add tests to the blockhash queue (#24238) 2022-04-11 19:36:24 +08:00
91993d89b0 cli: sort option for validators by version 2022-04-11 00:47:47 -06:00
bf13fb4c4b Remove KeyedAccount in builtin program "stake" (#24210)
* Inline keyed_account_at_index() in all instructions of stake
which have more than one KeyedAccount parameter,
because these could cause a borrow collision.

* Uses transaction_context.get_key_of_account_at_index() in stake.

* Refactors stake::config::from to use BorrowedAccount instead of ReadableAccount.

* Replaces KeyedAccount by BorrowedAccount in stake.
2022-04-10 09:55:37 +02:00
1882434c69 test: add test for signature notifications 2022-04-09 19:43:15 -07:00
21a64db140 test: refactor notification tests on the basis of promises rather than polling 2022-04-09 19:43:15 -07:00