Commit Graph

23883 Commits

Author SHA1 Message Date
mergify[bot] fca44b78a6
v1.17: Allow Blockstore to open unknown columns (backport of #34174) (#34287)
* Allow Blockstore to open unknown columns (#34174)

As we develop new features or modifications, we occassionally need to
introduce new columns to the Blockstore. Adding a new column introduces
a compatibility break given that opening the database in Primary mode
(R/W access) requires opening all columns. Reverting to an old software
version that is unaware of the new column is obviously problematic.

In the past, we have addressed by backporting minimal "stub" PR's to
older versions. This is annoying, and only allow compatibility for the
single version or two that we backport to.

This PR adds a change to automatically detect all columns, and create
default column descriptors for columns we were unaware of. As a result,
older software versions can open a Blockstore that was modified by a
newer software version, even if that new version added columns that the
old version is unaware of.

(cherry picked from commit 71c1782c74)

# Conflicts:
#	ledger/src/blockstore_db.rs

* Merge conflicts

---------

Co-authored-by: steviez <steven@solana.com>
2023-11-30 17:30:12 -06:00
mergify[bot] 4abd18f6cd
v1.17: Skip shrink until startup verification is complete (backport of #34209) (#34227) 2023-11-30 17:58:40 -05:00
mergify[bot] ff1d9a6292
v1.17: Output BankHashDetails file when leader drops its' own block (backport of #34256) (#34275)
Output BankHashDetails file when leader drops its' own block (#34256)

Currently, the file is generated when a node drops a block that was
produced by another node. However, it would also be beneficial to see
the account state when a node drops its' own block.

Output the file in this additional failure codepath

(cherry picked from commit 935e06f8f1)

Co-authored-by: steviez <steven@solana.com>
2023-11-30 16:36:16 -06:00
mergify[bot] a55711d075
v1.17: Increase pull request clusterinfo probability (backport of #34231) (#34262)
Increase pull request clusterinfo probability (#34231)

* ensure new contactinfo propagated quicker when handling pull requests

* improve readability

(cherry picked from commit 0a2ff8525a)

Co-authored-by: Greg Cusack <greg.cusack@solana.com>
2023-11-29 10:45:05 -08:00
mergify[bot] d353453f03
v1.17: direct_mapping: disable stack frame gaps (backport of #34254) (#34260)
direct_mapping: disable stack frame gaps (#34254)

Gaps don't work with direct mapping which assumes a 1:1 mapping between virtual
and host addresses.

(cherry picked from commit a0df9def91)

Co-authored-by: Alessandro Decina <alessandro.d@gmail.com>
2023-11-29 19:50:17 +11:00
mergify[bot] 4d0ccab075
v1.17: cpi: direct_mapping: always zero spare capacity if account alloc changes (backport of #34141) (#34177)
cpi: direct_mapping: always zero spare capacity if account alloc changes (#34141)

If the vector holding an account is reallocated during execution of a callee,
we must zero the spare capacity regardless of whether the account size changed,
because the underlying vector might contain uninitialized memory in the spare
capacity.

Co-authored-by: Alessandro Decina <alessandro.d@gmail.com>
2023-11-29 10:31:49 +11:00
mergify[bot] 67bfb48472
v1.17: bigtable: fix AccessToken issues (backport of #34213) (#34238)
bigtable: fix AccessToken issues (#34213)

* bigtable: fix AccessToken issue

* remove inner

* less changes

* fmt + drop lock

(cherry picked from commit 873bef9fef)

Co-authored-by: Kirill Fomichev <fanatid@ya.ru>
2023-11-27 18:46:56 -07:00
mergify[bot] 4d79fd7c6f
v1.17: direct_mapping: fix iter_memory_pair_chunks in reverse mode (backport of #34204) (#34236)
direct_mapping: fix iter_memory_pair_chunks in reverse mode (#34204)

iter_memory_pair_chunks was iterating regions in reverse, but not memory
_within_ regions in reverse.

This commit fixes the issue and simplifies the implementation by removing
nested loops which made control flow hard to reason about.

(cherry picked from commit 09088822e7)

Co-authored-by: Alessandro Decina <alessandro.d@gmail.com>
2023-11-28 09:53:01 +11:00
mergify[bot] b12ee21d4d
v1.17: Uses Display for error in VerifyAccountsHashInBackground's panic message (backport of #34219) (#34224)
Uses Display for error in VerifyAccountsHashInBackground's panic message (#34219)

(cherry picked from commit deee5f833c)

Co-authored-by: Brooks <brooks@solana.com>
2023-11-27 12:06:36 -05:00
mergify[bot] 75b59c1c07
v1.17: check vote costs against block limits in would_fit (backport of #34207) (#34210)
Co-authored-by: Andrew Fitzgerald <apfitzge@gmail.com>
2023-11-23 08:50:13 -08:00
mergify[bot] 6bc02d5d0d
v1.17: [zk-token-sdk] Restrict range proof generator length and prevent 0-bit range proof (backport of #34166) (#34183)
* [zk-token-sdk] Restrict range proof generator length and prevent 0-bit range proof (#34166)

* limit range proof generator length

* forbid 0-bit range proof verification

(cherry picked from commit 0e6dd54f81)

# Conflicts:
#	zk-token-sdk/src/range_proof/errors.rs
#	zk-token-sdk/src/range_proof/generators.rs
#	zk-token-sdk/src/range_proof/mod.rs

* resolve conflict

---------

Co-authored-by: samkim-crypto <skim13@cs.stanford.edu>
2023-11-22 06:49:51 +09:00
mergify[bot] 7800f0ed8d
v1.17: [zk-token-sdk] Add a length check on range proof commitment length (backport of #34165) (#34182)
* [zk-token-sdk] Add a length check on range proof commitment length (#34165)

add a length check on range proof commitment length

(cherry picked from commit e251b8607c)

# Conflicts:
#	zk-token-sdk/src/errors.rs
#	zk-token-sdk/src/instruction/batched_range_proof/batched_range_proof_u128.rs
#	zk-token-sdk/src/instruction/batched_range_proof/batched_range_proof_u256.rs
#	zk-token-sdk/src/instruction/batched_range_proof/batched_range_proof_u64.rs

* resolve conflict

---------

Co-authored-by: samkim-crypto <skim13@cs.stanford.edu>
2023-11-22 06:49:26 +09:00
mergify[bot] 37767757dc
v1.17: Do not prune cache entry if the runtime environment is different (backport of #34100) (#34163)
Do not prune cache entry if the runtime environment is different (#34100)

(cherry picked from commit 3368579eff)

Co-authored-by: Pankaj Garg <pankaj@solana.com>
2023-11-20 11:28:20 -08:00
Will Hickey 89906d8d3b
Update version to v1.17.7 (#34157) 2023-11-20 10:43:19 +08:00
mergify[bot] 61caae6b2b
v1.17: ancient shrink on its own cadence (backport of #33712) (#34060)
ancient shrink on its own cadence (#33712)

(cherry picked from commit d948e5bf69)

Co-authored-by: Jeff Washington (jwash) <jeff.washington@solana.com>
2023-11-17 16:09:13 -06:00
mergify[bot] 0a195ad3d6
v1.17: [zk-token-proof] Feature gate transfer with fee related proofs (backport of #34103) (#34129)
* [zk-token-proof] Feature gate transfer with fee related proofs (#34103)

feature gate zk-token-proof transfer with fee

(cherry picked from commit a8863bd9fe)

# Conflicts:
#	sdk/src/feature_set.rs

* resolve conflict

---------

Co-authored-by: samkim-crypto <skim13@cs.stanford.edu>
2023-11-18 05:56:09 +09:00
mergify[bot] cf1d9d4c45
v1.17: Fix - `Bank::compute_active_feature_set()` and `Bank::apply_feature_activations()` (backport of #34124) (#34136)
Fix - `Bank::compute_active_feature_set()` and `Bank::apply_feature_activations()` (#34124)

* Moves modification of feature accounts from Bank::compute_active_feature_set() into Bank::apply_feature_activations().

* Renames allow_new_activations and newly_activated to include_pending and pending.

* Fix test_compute_active_feature_set.

(cherry picked from commit 6b8545061f)

Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net>
2023-11-17 15:59:55 +01:00
mergify[bot] a9d5a5ba03
v1.17: cli: Hides the filler accounts args (backport of #34113) (#34117)
cli: Hides the filler accounts args (#34113)

(cherry picked from commit b4c652ef6c)

Co-authored-by: Brooks <brooks@solana.com>
2023-11-16 13:55:41 -05:00
mergify[bot] d64ae17d98
v1.17: validator: deprecates `--disable-accounts-disk-index` (backport of #33850) (#34070)
validator: deprecates `--disable-accounts-disk-index` (#33850)

* validator: deprecates `--disable-accounts-disk-index`

* Fix checks failure

* Move disable_accounts_disk_index arg to alphabetical order

---------

Co-authored-by: Will Hickey <will.hickey@solana.com>
(cherry picked from commit c55a6e55a1)

Co-authored-by: Trent Nelson <trent@solana.com>
2023-11-15 16:29:53 -07:00
mergify[bot] 7a198e8f3b
v1.17: propagates the new contact-info through gossip (backport of #34092) (#34095)
propagates the new contact-info through gossip (#34092)

Working towards migrating from legacy contact-info to the new
contact-info:
https://github.com/solana-labs/solana/pull/29596

(cherry picked from commit ba0a49b436)

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2023-11-15 19:58:26 +00:00
mergify[bot] b76784774a
v1.17: cpi: fix capacity check in update_caller_account (backport of #34064) (#34081)
cpi: fix capacity check in update_caller_account (#34064)

reserve(additional) reserves additional bytes on top of the current _length_
not capacity. Before this fix we could potentially reserve less capacity than
required.

(cherry picked from commit d009d7304a)

Co-authored-by: Alessandro Decina <alessandro.d@gmail.com>
2023-11-16 06:29:46 +11:00
mergify[bot] 353aa6423f
v1.17: CLI remove unwrap_or_default() on rpc calls (backport of #33782) (#34051)
CLI remove unwrap_or_default() on rpc calls (#33782)

(cherry picked from commit e1a9f8ef17)

Co-authored-by: Pierre <Arrowana@users.noreply.github.com>
2023-11-14 09:46:09 -06:00
Yihau Chen 6418bf3097
Bump version to v1.17.6 (#34025) 2023-11-12 09:47:59 -06:00
mergify[bot] 99e83102d1
v1.17: ci: add the ability to use GCS backend for sccache (backport of #33967) (#33984)
ci: add the ability to use GCS backend for sccache (#33967)

(cherry picked from commit 5efba1fb3a)

Co-authored-by: Yihau Chen <a122092487@gmail.com>
2023-11-11 23:03:13 +08:00
mergify[bot] 7089f1ed47
v1.17: Add --release-with-debug option to cargo-install-all.sh (backport of #33383) (#33978)
Add --release-with-debug option to cargo-install-all.sh (#33383)

* Add --canary option to cargo-install-all for building with separate debug symbols

* lint

* Remove debug-assertions

* switch flag from --canary to --release-with-debug

(cherry picked from commit 87b4dc64e3)

Co-authored-by: Will Hickey <will.hickey@solana.com>
2023-11-10 13:34:35 -06:00
mergify[bot] 956eacb23e
v1.17: Feature - Epoch boundary recompilation phase (backport of #33477) (#34003)
Feature - Epoch boundary recompilation phase (#33477)

* Adds LoadedPrograms::upcoming_environments.

* Moves LoadedPrograms::prune_feature_set_transition() into LoadedPrograms::prune().

* Adds parameter recompile to Bank::load_program().

* Sets latest_root_slot/epoch and environments in Bank::finish_init().

* Removes FEATURES_AFFECTING_RBPF list.

* Adjusts test_feature_activation_loaded_programs_recompilation_phase().

(cherry picked from commit a9509f56b7)

Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net>
2023-11-09 18:37:05 +01:00
mergify[bot] 6209b3beea
v1.17: adds keep-alive-interval to repair QUIC transport config (backport of #33866) (#33992)
adds keep-alive-interval to repair QUIC transport config (#33866)

QUIC connections may timeout due to infrequent repair requests. The commit
configures keep_alive_interval and max_idle_timeout to avoid timeouts.

(cherry picked from commit 3ac2507d36)

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2023-11-09 03:08:55 +00:00
mergify[bot] 4f5340e2c0
v1.17: expands transport configs in turbine QUIC endpoint (backport of #33864) (#33993)
expands transport configs in turbine QUIC endpoint (#33864)

(cherry picked from commit 783f136214)

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2023-11-08 22:48:46 +00:00
mergify[bot] 97795881ce
v1.17: Burn fees collected into invalid accounts (backport of #33887) (#33951)
* Burn fees collected into invalid accounts (#33887)

* refactor: create bank::fee_distribution module

* feature: add checks to fee distribution

* refactor: move Bank::deposit fn into test_utils

* feedback

* feedback 2

* add datapoints

* change to datapoint_warn

* typo

(cherry picked from commit ebe8afb0c3)

# Conflicts:
#	runtime/src/bank.rs
#	runtime/src/bank/tests.rs

* resolve conflicts

---------

Co-authored-by: Justin Starry <justin.starry@icloud.com>
Co-authored-by: Justin Starry <justin@solana.com>
2023-11-07 00:49:34 +01:00
mergify[bot] 561c95c951
v1.17: Geyser: return real parent blockhash, or default (backport of #33873) (#33959)
Geyser: return real parent blockhash, or default (#33873)

Return real parent blockhash, or default

(cherry picked from commit d6ac9bea84)

Co-authored-by: Tyera <tyera@solana.com>
2023-11-06 19:15:21 +00:00
mergify[bot] e206ea95ca
v1.17: rekey stake redelegate feature (backport of #33957) (#33958)
rekey stake redelegate feature (#33957)

Co-authored-by: HaoranYi <haoran.yi@solana.com>
(cherry picked from commit 75e598ece3)

Co-authored-by: HaoranYi <haoran.yi@gmail.com>
2023-11-06 19:00:45 +00:00
Will Hickey 1d2609e9f0
Update version to v1.17.5 (#33931) 2023-10-31 14:13:22 -05:00
mergify[bot] 2e5a20f729
v1.17: Retry hash file allocation (backport of #33565) (#33918)
* Retry hash file allocation (#33565)

* retry hash file allocation

* add sleep

* submit a datapoint for retry

* typo

* more typos

* Update accounts-db/src/accounts_hash.rs

Co-authored-by: Brooks <brooks@prumo.org>

* fmt

---------

Co-authored-by: HaoranYi <haoran.yi@solana.com>
Co-authored-by: Brooks <brooks@prumo.org>
(cherry picked from commit 167dac204f)

# Conflicts:
#	accounts-db/src/accounts_hash.rs

* fix conflicts

---------

Co-authored-by: HaoranYi <haoran.yi@gmail.com>
Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-10-30 15:44:23 -05:00
mergify[bot] b948b2be51
v1.17: [zk-token-proof] Round compute units to nice numbers (backport of #33910) (#33915)
[zk-token-proof] Round compute units to nice numbers (#33910)

round zk-token-proof compute units to nice numbers

(cherry picked from commit b0bf24b6fc)

Co-authored-by: samkim-crypto <skim13@cs.stanford.edu>
2023-10-27 18:26:36 -07:00
mergify[bot] ae7d7427be
v1.17: revert programify feature gate (backport of #33897) (#33905)
revert programify feature gate (#33897)

(cherry picked from commit ecd674bd92)

Co-authored-by: Joe C <joe.caulfield@solana.com>
2023-10-28 00:24:31 +02:00
mergify[bot] ed4dcf9d1e
v1.17: ci: fixed sccache version for sccache-action (backport of #33904) (#33907)
ci: fixed sccache version for sccache-action (#33904)

(cherry picked from commit 1ce91a56a5)

Co-authored-by: Yihau Chen <a122092487@gmail.com>
2023-10-27 17:23:57 +00:00
mergify[bot] 42fcac81ae
v1.17: BigtableUploadService: increment start_slot to prevent rechecks (backport of #33870) (#33886)
BigtableUploadService: increment start_slot to prevent rechecks (#33870)

Increment start_slot

(cherry picked from commit 22503f0ae9)

Co-authored-by: Tyera <tyera@solana.com>
2023-10-26 16:16:53 -06:00
mergify[bot] 84d5fff048
v1.17: Update upload_confirmed_blocks() return value when no blocks to upload (backport of #33861) (#33882) 2023-10-26 20:11:29 +02:00
mergify[bot] 5fa23d9a56
v1.17: adds metrics to repair QUIC endpoint (backport of #33818) (#33868)
adds metrics to repair QUIC endpoint (#33818)

(cherry picked from commit e555a61c78)

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2023-10-25 22:15:45 +00:00
mergify[bot] bfab9bb3ae
v1.17: Use program cache fork graph in extract() (backport of #33806) (#33862)
Use program cache fork graph in extract() (#33806)

* Use program cache fork graph instead of WorkingSlot trait

* Fix deadlocked tests

* keep WorkingSlot trait for now

(cherry picked from commit 78c31aa6b8)

Co-authored-by: Pankaj Garg <pankaj@solana.com>
2023-10-25 16:03:39 +00:00
mergify[bot] 0559bc1cc7
v1.17: docs: outline requirement of stake in order to vote (backport of #33842) (#33854)
docs: outline requirement of stake in order to vote (#33842)

* docs: outline requirement of stake in order to vote

* pr feedback: move stake section up

(cherry picked from commit a3b0348649)

Co-authored-by: Ashwin Sekar <ashwin@solana.com>
2023-10-25 00:58:41 -04:00
mergify[bot] 5bd9969d82
v1.17: [zk-token-sdk] Check that discrete log compression batch size is greater than 0 (backport of #33699) (#33844)
[zk-token-sdk] Check that discrete log compression batch size is greater than 0 (#33699)

check that discrete log compression batch size is greater than 0

(cherry picked from commit 381d2254eb)

Co-authored-by: samkim-crypto <skim13@cs.stanford.edu>
2023-10-24 12:34:35 -07:00
mergify[bot] 0471732f1e
v1.17: adds metrics to turbine QUIC endpoint (backport of #33819) (#33838)
adds metrics to turbine QUIC endpoint (#33819)

(cherry picked from commit 6470544ea2)

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2023-10-24 16:07:15 +00:00
mergify[bot] 8512595d62
v1.17: Update Solang Solidity compiler to v0.3.3 (backport of #33830) (#33835)
Update Solang Solidity compiler to v0.3.3 (#33830)

Signed-off-by: Sean Young <sean@mess.org>
(cherry picked from commit 8e0acf481c)

Co-authored-by: Sean Young <sean@mess.org>
2023-10-24 15:13:50 +01:00
mergify[bot] 22f44d0518
v1.17: Initialize fork graph in program cache during bank_forks creation (backport of #33810) (#33817)
* Initialize fork graph in program cache during bank_forks creation (#33810)

* Initialize fork graph in program cache during bank_forks creation

* rename BankForks::new to BankForks::new_rw_arc

* fix compilation

* no need to set fork_graph on insert()

* fix partition tests

(cherry picked from commit 9d42cd7efe)

# Conflicts:
#	core/src/repair/repair_service.rs
#	core/tests/epoch_accounts_hash.rs
#	ledger/src/blockstore_processor.rs
#	rpc/src/rpc_service.rs
#	runtime/src/bank/tests.rs

* fix merge conflicts

---------

Co-authored-by: Pankaj Garg <pankaj@solana.com>
2023-10-23 18:28:40 +00:00
mergify[bot] a186c5c31d
v1.17: prunes turbine QUIC connections (backport of #33663) (#33800)
prunes turbine QUIC connections (#33663)

The commit implements lazy eviction for turbine QUIC connections.
The cache is allowed to grow to 2 x capacity at which point at least
half of the entries with lowest stake are evicted, resulting in an
amortized O(1) performance.

(cherry picked from commit e0b59a6f53)

Co-authored-by: behzad nouri <behzadnouri@gmail.com>
2023-10-23 15:39:32 +00:00
mergify[bot] cc4b71a8d7
v1.17: Set a global fork graph in program cache (backport of #33776) (#33809)
Set a global fork graph in program cache (#33776)

* Set a global fork graph in program cache

* fix deadlock

* review feedback

(cherry picked from commit 59cb3b57ee)

Co-authored-by: Pankaj Garg <pankaj@solana.com>
2023-10-21 13:21:57 -07:00
mergify[bot] 9021d224be
v1.17: Bump solana_rbpf to v0.8.0 (backport of #33679) (#33793)
* updated inner_call for hashing fn to follow generic approach (#33128)

* updated inner_call for hashing fn to follow generic approach

* different hash compute budget values for all digests

* fixed conflicts

* reverted changes to compute_budget.rs and added 3method to trait to get compute budget values

* updated type for result fn for HasherImpl

* using Hash directly in result fn, got rid of HASH_BYTES and removed comment form compute_budget

* updated import statement

* cargo fmt -all

* removed unused import and reference related warning

* oops forgot semicolon

* removed trailing white space

(cherry picked from commit a60d1857bf)

* Bump solana_rbpf to v0.8.0 (#33679)

* Bumps solana_rbpf to v0.8.0

* Adjustments:
Replaces declare_syscall!() with declare_builtin_function!().
Removes Config::encrypt_runtime_environment.
Simplifies error propagation.

(cherry picked from commit a5c7c999e2)

---------

Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net>
2023-10-21 14:14:23 +02:00
Will Hickey a5188a4966
Update version to v1.17.4 (#33799) 2023-10-20 22:43:34 +00:00
mergify[bot] c9e8f9c81a
v1.17: [zk-token-sdk] Limit max seed length for key derivations (backport of #33700) (#33795)
[zk-token-sdk] Limit max seed length for key derivations (#33700)

* limit max seed length for elgamal keypairs

* limit max seed length for authenticated encryption keys

* Apply suggestions from code review

Co-authored-by: Jon Cinque <me@jonc.dev>

* rename `SeedLengthTooLarge` to `SeedLengthTooLong`

---------

Co-authored-by: Jon Cinque <me@jonc.dev>
(cherry picked from commit dd2b1bb5a0)

Co-authored-by: samkim-crypto <skim13@cs.stanford.edu>
2023-10-20 14:20:24 -07:00