HaoranYi
c85eb73300
O(n) dedup ( #33297 )
...
O(N) dedup
Co-authored-by: jeff washington <jeff.washington@solana.com>
2023-09-18 17:55:28 -05:00
Tao Zhu
8b8a21a52f
cleanup feature: enable request heap frame instruction #30076 ( #33243 )
...
* cleanup feature: enable request heap frame instruction #30076
* update sbf tests
* removed out dated comments and test
2023-09-18 16:06:24 -05:00
Jeff Washington (jwash)
17c3930bc8
in gen index, stop using big hashmap ( #33252 )
...
* in gen index, stop using big hashmap
* update accounts_data_len
* remove approx_stored_count
2023-09-18 11:13:18 -07:00
Jeff Washington (jwash)
402981e3c1
cleanup test ( #33291 )
2023-09-18 10:59:42 -07:00
Jeff Washington (jwash)
27caf4d1d2
add test for duplicates in generate_index and fix approx stored count ( #33290 )
...
add test
2023-09-18 09:46:52 -07:00
steviez
9e11ae6275
Make program owners a const array instead of Vec<_> ( #33275 )
...
The program owners pubkeys are constant, no need to reconstruct the
Vec<Pubkey> and Vec<&Pubkey> each time this function runs (every time we
execute transactions).
2023-09-18 10:59:03 -05:00
Brooks
6283c1d568
Refactors out `unsafe` from cache_hash_data.rs ( #33271 )
2023-09-15 14:25:43 -04:00
Brooks
a47f65d882
Refactors `unsafe` out of CacheHashDataFile's header ( #33270 )
2023-09-15 16:49:35 +00:00
Brooks
f77b3d9389
Derives Pod for CalculateHashIntermediate ( #33267 )
2023-09-15 12:47:38 -04:00
Brooks
4c42413c1f
Refactors out `unsafe` from MmapAccountHashesFile::read() ( #33266 )
2023-09-15 15:09:01 +00:00
Jeff Washington (jwash)
3ad8394047
stop removing empty bins during index generation ( #33242 )
2023-09-14 07:53:33 -07:00
Jeff Washington (jwash)
886eabd74d
gen idx: refactor StorageSizeAndCount population ( #33244 )
2023-09-14 07:53:05 -07:00
Jeff Washington (jwash)
602f0f6ecb
generate index: fn arg: &Slot -> Slot ( #33229 )
...
fn arg: &Slot -> Slot
2023-09-13 14:14:30 -07:00
Jeff Washington (jwash)
c2bf2a969d
remove unused metrics ( #33241 )
2023-09-13 14:14:10 -07:00
Jeff Washington (jwash)
cb310a310a
set approx store count at generate index time ( #33240 )
2023-09-13 14:13:46 -07:00
Jeff Washington (jwash)
093ae61e85
single pass through each storage to populate info ( #33227 )
2023-09-13 12:37:01 -07:00
Jeff Washington (jwash)
3ffd78f2d7
add comments ( #33226 )
2023-09-12 13:51:27 -07:00
Brooks
21e7f98b3a
Uses hex for the hash in accounts hash cache file names ( #33196 )
2023-09-12 11:26:08 -04:00
Brooks
c61ee20b44
Transient accounts hash cache dir is unnecessary ( #33181 )
2023-09-12 11:23:07 -04:00
HaoranYi
3cd3994939
clean up pub crate ( #33214 )
...
Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-09-11 19:28:26 -05:00
Brooks
09936aac0e
Removes `new()` from POD CalculateHashIntermediate and CumulativeOffset ( #33211 )
2023-09-11 22:33:25 +00:00
HaoranYi
cf35799b2a
remove unused stats ( #33213 )
...
Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-09-11 21:03:37 +00:00
Brooks
659fc6837b
Removes `pub` from accounts_hash.rs items ( #33209 )
2023-09-11 20:49:51 +00:00
Jeff Washington (jwash)
d724af863c
add a few accounts hash dedup tests ( #33208 )
2023-09-11 13:20:28 -07:00
Brooks
6298c6c31e
Shares accounts hash cache data between full and incremental ( #33164 )
2023-09-11 15:55:48 -04:00
Alexander Meißner
bbb57be0a5
Refactor - Move interfaces of address-lookup-table into the program SDK ( #33165 )
...
* Adds a module `address_lookup_table` to the SDK.
* Adds a module `address_lookup_table::instruction` to the SDK.
* Adds a module `address_lookup_table::error` to the SDK.
* Adds a module `address_lookup_table::state` to the SDK.
* Moves AddressLookupTable into SDK as well.
* Moves AddressLookupTableAccount into address_lookup_table.
* Adds deprecation messages.
* Disentangles dependencies across cargo files.
2023-09-11 21:10:40 +02:00
Jeff Washington (jwash)
4dfe62a2f0
rework accounts hash calc dedup to avoid kernel file error ( #33195 )
...
* in hash calc, calculate max_inclusive_num_pubkeys
* in hash calc, dedup uses mmap files to avoid os panic
* as_mut_ptr
* remove unsafe code
* refactor count in hash files
---------
Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-09-11 10:57:21 -07:00
Jeff Washington (jwash)
a145ade564
stat for time spent copying generate index contents ( #33187 )
...
* stat for time spent copying generate index contents
* rework to move stat to generate_index
* fix fmt
2023-09-08 12:55:54 -07:00
Jeff Washington (jwash)
dc6b1eb653
in shrink, get stores prior to shrink starting ( #33194 )
2023-09-08 08:45:32 -07:00
Jeff Washington (jwash)
0083e426b2
ShrinkCandidates only holds slot ( #33173 )
2023-09-07 12:28:05 -07:00
Jeff Washington (jwash)
e331275178
remove coupling of ShrinkCandidates to HashMap ( #33176 )
2023-09-07 09:07:37 -07:00
Brooks
f4816dc0cf
Moves CacheHashData test-only methods into tests module ( #33170 )
2023-09-06 15:25:58 -04:00
Brooks
a3dc3eb37c
Takes inner HashSet when dropping CacheHashData ( #33169 )
2023-09-06 18:19:01 +00:00
behzad nouri
88ee8f5820
replaces once_cell::sync::OnceCell with std::sync::OnceLock ( #33140 )
...
std::sync::OnceLock has become stable since rust 1.70.0 and there is no
longer a need for an external crate dependency.
2023-09-06 16:46:51 +00:00
HaoranYi
a8bc6ebe38
Use `write_all` for binned account hash file writes ( #33095 )
...
write_all
Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-09-06 11:03:05 -05:00
Illia Bobyr
d077b13efa
accounts-db: test_hash_stored_account: Avoid UB. ( #33083 )
...
unsafe { transmute }` in the test is generating undefined behavior, as it
assigns a value into `bool` that is neither 0 nor 1.
We see discrepancy between release and debug builds due to this.
It is better to avoid `unsafe` blocks if there alternatives that let the
compiler check everything.
2023-09-05 20:30:17 -07:00
Jeff Washington (jwash)
fb1ba216f5
Revert "Add an RPC API that can query the list of Top N secondary index keys and their sizes ( #28887 )" ( #33121 )
...
* Revert "Add an RPC API that can query the list of Top N secondary index keys and their sizes (#28887 )"
This reverts commit 1e3d6349aa
.
* Revert "Add Admin RPC Front End for Top N Secondary Index Key Sizes Query. (#29352 )"
This reverts commit aa353e4b83
.
* fix test uses
* fmt
2023-09-01 14:36:06 -07:00
Brooks
d1b849972f
Support a custom path for the accounts hash cache ( #33115 )
2023-09-01 15:29:56 -04:00
Jeff Washington (jwash)
255029f61a
add rate info to generate index log ( #33108 )
2023-09-01 11:40:00 -07:00
Alessandro Decina
16ea141402
sdk: put AccountSharedData::set_data() behind feature="dev-context-only-utils" ( #33086 )
...
set_data() is deprecated in favor of set_data_from_slice().
2023-09-01 21:02:14 +07:00
Alexander Meißner
9e703f85de
Upgrades Rust to 1.72.0 & nightly-2023-08-25 ( #32961 )
...
* allow pedantic invalid cast lint
* allow lint with false-positive triggered by `test-case` crate
* nightly `fmt` correction
* adapt to rust layout changes
* remove dubious test
* Use transmute instead of pointer cast and de/ref when check_aligned is false.
* Renames clippy::integer_arithmetic to clippy::arithmetic_side_effects.
* bump rust nightly to 2023-08-25
* Upgrades Rust to 1.72.0
---------
Co-authored-by: Trent Nelson <trent@solana.com>
2023-09-01 07:26:13 +00:00
Ryo Onodera
4fe0812f3c
Make should_panic tests compatible with 1.73+ panic format ( #33099 )
...
* Adjust should_panic tests for 1.73+ panic format
* Update more panic format change affected tests...
2023-09-01 02:04:22 +00:00
HaoranYi
c87f9cdfc9
use shift for pubkey to bin calculation ( #33090 )
...
Co-authored-by: HaoranYi <haoran.yi@solana.com>
2023-08-31 15:04:25 -05:00
Jeff Washington (jwash)
9a7d503fe4
rework sorting during generate_index ( #33076 )
...
* drag data len around during generate_index
* fix tests
* update comments
2023-08-31 12:51:56 -07:00
Brooks
5e26b05597
Removes the "unpacked entries so far" log at startup ( #33093 )
2023-08-31 15:29:12 -04:00
Ryo Onodera
92a0b310c1
Add #[repr(C)] for more future-proof byte mangling ( #33085 )
...
* Add #[repr(C)] for more future-proof byte manglng
* Improve comments after code-review
2023-08-31 22:48:24 +09:00
Jeff Washington (jwash)
1b9c9a313c
reorder generate_index info ( #33077 )
...
reorder generateindex info
2023-08-30 16:16:40 -07:00
behzad nouri
4ec5ea6f7b
replaces assert!(matches!(...)) with assert_matches!(...) ( #33068 )
...
assert_matches!(...) provides more informative error message when it
fails and it is part of nightly rust:
https://doc.rust-lang.org/std/assert_matches/macro.assert_matches.html
2023-08-30 13:48:27 -04:00
Jeff Washington (jwash)
48f27d5e73
add stats for generate_index ( #33061 )
2023-08-30 06:43:27 -07:00
Trent Nelson
b8dc5daedb
preliminaries for bumping nightly to 2023-08-25 ( #33047 )
...
* remove unnecessary hashes around raw string literals
* remove unncessary literal `unwrap()`s
* remove panicking `unwrap()`
* remove unnecessary `unwrap()`
* use `[]` instead of `vec![]` where applicable
* remove (more) unnecessary explicit `into_iter()` calls
* remove redundant pattern matching
* don't cast to same type and constness
* do not `cfg(any(...` a single item
* remove needless pass by `&mut`
* prefer `or_default()` to `or_insert_with(T::default())`
* `filter_map()` better written as `filter()`
* incorrect `PartialOrd` impl on `Ord` type
* replace "slow zero-filled `Vec` initializations"
* remove redundant local bindings
* add required lifetime to associated constant
2023-08-29 23:05:35 +00:00