Commit Graph

919 Commits

Author SHA1 Message Date
GroovieGermanikus 95523ae735
Revert "log socket count"
This reverts commit 129a3304d8.
2024-12-13 12:59:39 +01:00
GroovieGermanikus 129a3304d8
log socket count 2024-12-13 12:51:57 +01:00
GroovieGermanikus fd012df89d
log node sockets 2024-12-13 12:13:58 +01:00
mergify[bot] 1b5c6140e2
v2.0: remove disable_block_production_forwarding cli flag (backport of #2687) (#2909)
remove disable_block_production_forwarding cli flag (#2687)

(cherry picked from commit df892c4241)

Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
2024-09-12 12:33:40 -05:00
mergify[bot] c01560e136
v2.0: scheduler opt-in forwarding (backport of #1801) (#2285)
* scheduler opt-in forwarding (#1801)

(cherry picked from commit 61d8be0d6f)

* Scheduler: buffer packets for forwarding if forwarding is enabled (#2305)

---------

Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
2024-09-12 10:43:21 -05:00
mergify[bot] 11b87c1ba3
v2.0: patches bug causing false duplicate nodes error (backport of #2666) (#2681)
* customizes override logic for gossip ContactInfo (#2579)

If there are two running instances of the same node, we want the
ContactInfo with more recent start time to be propagated through
gossip regardless of wallclocks.

The commit adds custom override logic for ContactInfo to first compare
by outset timestamp.

* updates ContactInfo.outset when hot-swapping identity (#2613)

When hot-swapping identity, ContactInfo.outset should be updated so that
the new ContactInfo overrides older node with the same pubkey.

* patches bug causing false duplicate nodes error (#2666)

The bootstrap code during the validator start pushes a contact-info with
more recent timestamp to gossip. If the node is staked the contact-info
lingers in gossip causing false duplicate node instances when the fully
initialized node joins gossip later on.

The commit refreshes the timestamp on contact-info so that it overrides
the one pushed by bootstrap and avoid false duplicates error.

---------

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2024-08-23 20:18:47 +00:00
mergify[bot] f3b569bf2e
v2.0: Bound default value for thread pool args (backport of #2599) (#2662)
Bound default value for thread pool args (#2599)

The thread pool argument trait declares min/max/default functions. These
functions are then called to provide a default as well as validation
that any user set value on the CLI is within [min(), max()].

Some of the default values are fixed numbers. On a machine with few
enough cores, the default could exceed the max. This would raise an
error when the argument is parsed. This can be worked around by the user
specifying a lower value; however, these flags are still very much
experimental and intentionally hidden.

So, make the default value that is passed to CLAP the min of default()
and max(). This will adjust the default on low core count machines while
leaving settings on sufficient machines untouched.

(cherry picked from commit 094a63476c)

Co-authored-by: steviez <steven@anza.xyz>
2024-08-21 11:59:27 -05:00
mergify[bot] bc6041d496
v2.0: validator: unify and colorize help (backport of #2323) (#2337)
validator: unify and colorize help (#2323)

(cherry picked from commit e05dbe7264)

Co-authored-by: Brooks <brooks@anza.xyz>
2024-07-30 13:12:05 -04:00
mergify[bot] bd5ee02f70
v2.0: validator cli: Clarifies snapshot intervals (backport of #2128) (#2152)
validator cli: Clarifies snapshot intervals (#2128)

(cherry picked from commit 4c7996c530)

Co-authored-by: Brooks <brooks@anza.xyz>
2024-07-19 15:31:12 -04:00
mergify[bot] 749c1e8147
v2.0: Removes deprecated --halt-on-known-validators-accounts-hash-mismatch cli arg (backport of #2154) (#2157)
Removes deprecated --halt-on-known-validators-accounts-hash-mismatch cli arg (#2154)

(cherry picked from commit 4f228f4c3c)

Co-authored-by: Brooks <brooks@anza.xyz>
2024-07-19 15:01:54 -04:00
mergify[bot] 1291c15762
v2.0: Removes deprecated --incremental-snapshots cli arg (backport of #2132) (#2148)
Removes deprecated --incremental-snapshots cli arg (#2132)

(cherry picked from commit 92a9a0e90f)

Co-authored-by: Brooks <brooks@anza.xyz>
2024-07-17 18:56:41 -04:00
mergify[bot] 287bb22f45
v2.0: Removes unused deprecated cli args (backport of #2058) (#2063)
Removes unused deprecated cli args (#2058)

(cherry picked from commit 05134bed3b)

Co-authored-by: Brooks <brooks@anza.xyz>
2024-07-09 16:31:36 -04:00
mergify[bot] 54d4f7d13f
v2.0: Deprecate --rocksdb-shred-compaction fifo (backport of #1882) (#1907)
Deprecate --rocksdb-shred-compaction fifo (#1882)

The fifo compaction option was originally added to mitigate write
stalls that were occurring with level compaction. Since fifo was
introduced, the level compaction implementation has been optimized
to reduce I/O amplification. With these improvements, level and fifo
are comparable and sticking with level only simplifies things.

For now, only a deprecation warning will be printed. In the next
release branch (2.1.0), specifying fifo will be an error

(cherry picked from commit e15e235ec4)

Co-authored-by: steviez <steven@anza.xyz>
2024-06-28 14:44:44 -05:00
mergify[bot] 4d1256af3b
v2.0: Remove support for deprecated rpc endpoints (backport of #1809) (#1886)
* Remove support for deprecated rpc endpoints (#1809)

* Remove rpc_obsolete_v1_7

* Remove rpc_deprecated_v1_7

* Remove rpc_deprecated_v1_9

* Add CHANGELOG entry

* Add another CHANGELOG entry

(cherry picked from commit 83527d9577)

# Conflicts:
#	CHANGELOG.md

* Fix conflict

---------

Co-authored-by: Tyera <tyera@anza.xyz>
2024-06-27 13:51:48 -06:00
mergify[bot] b463b9255c
v2.0: Make unified scheduler opt-in for block verification (backport of #1668) (#1874)
Make unified scheduler opt-in for block verification (#1668)

* Enable unified scheduler for block verification

* Revert making unified scheduler enabled by default

(cherry picked from commit 40508cd03f)

Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2024-06-27 16:59:05 +09:00
mergify[bot] d40aa491a5
v2.0: Use num_partitions to find specific stake rewards in partitions (backport of #1677) (#1881)
Use num_partitions to find specific stake rewards in partitions (#1677)

* Add helper to find and filter rewards from a slot

* Check feature enabled for desired epoch

* Refactor existing rewards code to support vote-rewards after activation

* Append stake rewards from partitions

* Remove feature deactivation from TestValidator

* Improve comments

* Add comment about retaining feature activation slot logic

* Add custom error and use in getInflationReward

* Review nit

(cherry picked from commit 0496b06f89)

Co-authored-by: Tyera <tyera@anza.xyz>
2024-06-26 19:54:52 -06:00
Jeff Washington (jwash) 1bd9bd1a10
file based append vecs (#1394)
* file based storages

* pr feedback

* add comments

* add tests for buffered reader and file reader

* fix windows clippy

* pr: update tests for jeff comments

* pr feedback

* fix a bug - read at least default min bytes

* Revert "fix a bug - read at least default min bytes"

This reverts commit 52ccd8e022dd8a047596b95b4ab2abc91c7c983c.

* add test coverages flush, reset, reopen functions for append_vec.rs

* one more dead code

* renames

* renames

* renames

* wee wah wee wah grammar police

* rename

* add debug assert

* use const

* const

* reorder

* reorders and renames

---------

Co-authored-by: HaoranYi <haoran.yi@solana.com>
2024-06-12 15:26:47 -05:00
Brooks d092ad862e
cli: Fixes snapshot paths (#1631) 2024-06-10 08:28:40 -04:00
Brooks 83be26ac8e
Adds CLI arg for accounts db storage access method (#1299) 2024-05-17 15:08:22 -04:00
fsgegs 57f4c85189
Fix typos (#1377)
Co-authored-by: fsgegs <169638890+fsgegs@users.noreply.github.com>
2024-05-15 21:46:23 -06:00
Lijun Wang f54c120450
Connection rate limiting (#948)
* use rate limit on connectings

use rate limit on connectings; missing file

* Change connection rate limit to 8/min instead of 4/s

* Addressed some feedback from Trent

* removed some comments

* fix test failures which are opening connections more frequently

* moved the flag up

* turn off rate limiting to debug CI

* Fix CI test failures

* differentiate of the two throttling cases in stats: across connections or per ip addr

* fmt issues

* Addressed some feedback from Trent

* Added unit tests

Cleanup connection cache rate limiter if exceeding certain threshold

missing files

CONNECITON_RATE_LIMITER_CLEANUP_THRESHOLD to 100_000

clippy issue

clippy issue

sort crates

* revert Cargo.lock changes

* Addressed some feedback from Pankaj
2024-05-14 17:33:43 -07:00
steviez dead9a38e8
Move deprecated pubsub arguments to deprecated list (#1324)
By moving the args to the deprecated list, a warning will now be
emitted if any of the args are passed. Additionally, moving them
reduces clutter a bit.
2024-05-14 10:47:00 -05:00
tom f868aa3809
fix typos (#1302) 2024-05-11 13:43:21 -06:00
Brooks 9cdc2f3930
Adds CLI arg for accounts db squash storages method (#1289) 2024-05-10 12:47:07 -04:00
Yihau Chen f4f4be261a
clippy: suspicious_open_options (#1240)
* clippy: suspicious_open_options

* accounts-db/src/append_vec.rs create_new

* install/src/command.rs create_new

* bucket_storage truncate true

* bucket_map restart create_new

* accounts-db/src/cache_hash_data create_new
2024-05-10 01:36:32 +08:00
Brooks 9cefe0c65d
Adds CLI arg for setting accounts read cache size limits (#1218) 2024-05-07 12:54:38 -04:00
cosming b35e17cb0c
Add --enable-bigtable-ledger-upload Support to solana-test-validator (#1048)
* solana-test-validator : add support for enable-bigtable-ledger-upload

* solana-test-validator : added 'hidden unless forced' to enable-bigtable-ledger-upload parameter
2024-04-27 16:50:56 +00:00
behzad nouri 443bb6c1dc
migrates to the new contact-info (#823)
The commit replaces (most) uses of LegacyContactInfo with the new ContactInfo.
2024-04-24 18:47:04 +00:00
Justin Starry 1c1b4c3e28
Use poh grace ticks when new reset bank is pending (#794)
* Use poh grace ticks when new reset bank is pending

* feedback

* make it hidden
2024-04-18 17:32:29 +00:00
steviez 7138ea7517
Plumb CLI arg to control number of TVU receive threads/sockets (#550)
The parameter directly controls the number of sockets that are created;
the sockets later have one thread created per socket to listen.
2024-04-15 16:56:10 +02:00
Joe C 03ef611f0c
program-runtime: hoist `RuntimeConfig` up to SVM (#630)
program-runtime: hoist `RuntimeConfig` out into SVM
2024-04-07 10:45:57 -05:00
steviez 64765bf817
Introduce NodeConfig for parameters to Node type (#533)
The parameter list is already kind of long, so squash the parameters
into a config struct
2024-04-02 11:59:03 -05:00
steviez 79e316eb56
Reduce the default number of IP echo server threads (#354)
The IP echo server currently spins up a worker thread for every thread
on the machine. Observing some data for nodes,
- MNB validators and RPC nodes look to get several hundred of these
  requests per day
- MNB entrypoint nodes look to get 2-3 requests per second on average

In both instances, the current threadpool is severely overprovisioned
which is a waste of resources. This PR plumnbs a flag to control the
number of worker threads for this pool as well as setting a default of
two threads for this server. Two threads allow for one thread to always
listen on the TCP port while the other thread processes requests
2024-04-01 10:24:59 -05:00
sakridge e0e659680a
Remove duplicated token ids and use a shared inline-spl crate (#456) 2024-04-01 14:31:04 +02:00
Brooks 5cacca99b4
Fixes help text formatting (#385) 2024-03-22 12:56:54 -04:00
blake 0906b8996c
Health check slot distance (#335)
Changed validator health check slot distance to 128 to be consistent
2024-03-22 00:11:36 -05:00
steviez 4a67cd495b
Allow configuration of replay thread pools from CLI (#236)
Bubble up the constants to the CLI that control the sizes of the
following two thread pools:
- The thread pool used to replay multiple forks in parallel
- The thread pool used to execute transactions in parallel
2024-03-20 15:07:04 -05:00
Trent Nelson f41fb84e15
rpc-sts: add config options for stake-weighted qos (#197)
* rpc-sts: plumb options for swqos config

* rpc-sts: send to specific tpu peers when configured
2024-03-20 11:13:50 -06:00
Yihau Chen 2537e3e4ad
[anza migration] fix: use the correct log filter for non-unix (#245)
fix: use the correct log filter for non-unix
2024-03-15 11:27:16 +08:00
Yihau Chen 51dc7e6fb7
[anza migration]: add 'agave=info' to default log level (#223) 2024-03-14 20:35:33 +08:00
steviez f8bb98b5f4
Move default value for --rpc-pubsub-notification-threads to CLI (#158)
The default value was previously being determined down where the thread
pool is being created. Providing a default value at the CLI level is
consistent with other args, and gives an operator better visibility into
what the default will actually be
2024-03-12 16:11:44 -05:00
steviez 2ddb50d2f3
Make --wait-for-supermajority require --expected-shred-version (#192)
In cluster restart scenarios, an important step is scanning the
Blockstore for blocks that occur after the chosen restart slot with an
incorrect shred version. This check ensures that any blocks that
occurred pre-cluster restart and after the chosen restart slot get
deleted. If a node skips this step, the node can encounter problems when
that block is created again, after the cluster has restarted.

This check only occurs if --wait-for-supermajority AND
--expected-shred-version are set; however, --expected-... is currently
optional when using --wait-...

Our restart instructions typically mention that one should specify
--expected-... as well, but we should just enforce it at the CLI level
to prevent mistakes / wasted time debuggging.
2024-03-12 01:27:31 -05:00
steviez 8fa0e5c603
Move AccountsDb replication arguments to deprecated list (#157)
These arguments are not read by anything, and they appear to correspond
to a proposed feature that is no longer in the codebase.
2024-03-11 13:11:43 -05:00
Dmitri Makarov ba43f74dcf
[SVM] Move RuntimeConfig to program-runtime (#96)
RuntimeConfig doesn't use anything SVM specific and logically belongs
in program runtime rather than SVM.  This change moves the definition
of RuntimeConfig struct from the SVM crate to program-runtime and
adjusts `use` statements accordingly.
2024-03-07 10:16:16 -08:00
steviez 8887cd19a1
Name previously unnamed thread pool threads (#104)
Several rayon and tokio threadpools did not have names; give them names
to make tracking them in debug tools easier
2024-03-06 17:03:02 -06:00
steviez b38ea4145e
Use tokio directly instead of jsonrpc_server_utils's re-export (#116) 2024-03-06 14:49:32 -06:00
Yihau Chen 3f9a7a52ea [anza migration] rename crates (#10)
* rename geyser-plugin-interface

* rename cargo registry

* rename watchtower

* rename ledger tool

* rename validator

* rename install

* rename geyser plugin interface when patch
2024-03-03 12:31:24 +08:00
Ryo Onodera 024d6ecc4f
Add --unified-scheduler-handler-threads (#35195)
* Add --unified-scheduler-handler-threads

* Adjust value name

* Warn if the flag was ignored

* Tweak message a bit
2024-02-22 09:05:17 +09:00
steviez 537c3d8e2c
Format the string literals in /validator directory (#35261)
There are lots of string literals in the /validator directory,
including many for CLI help and error messages. Any string literals
that exceed 100 characters prevent rustfmt from running properly.

This change temporarily set format_string = true in rustfmt.toml, and
then ran the linter on the validator directory. This was followed up
by manually tweaking several strings that were already well crafted
for readability (and within the 100 character limit)
2024-02-21 16:12:23 -06:00
steviez a1c39a3c22
List the default value for `--accounts` in CLI help (#35254) 2024-02-20 13:12:41 -06:00