Skip to content

Commit

Permalink
naming(random): rename rng -> rand (#304)
Browse files Browse the repository at this point in the history
* refactor: rename rng -> rand

* remove confusing comments

* rename rng -> prng where needed & rand -> random

* fix conflicts with main

* fix random name shadowing

* remove unused import of BankHashInfo

* replace @bitcast(random.int(u64)) -> random.float(f64) & _random -> rand
  • Loading branch information
sonicfromnewyoke authored Oct 15, 2024
1 parent 4c01fb2 commit f505be2
Show file tree
Hide file tree
Showing 34 changed files with 718 additions and 745 deletions.
78 changes: 39 additions & 39 deletions src/accountsdb/db.zig
Original file line number Diff line number Diff line change
Expand Up @@ -1131,8 +1131,8 @@ pub const AccountsDB = struct {

// TODO: get rid of this once `generateFullSnapshot` can actually
// derive this data correctly by itself.
var rand = std.Random.DefaultPrng.init(1234);
var tmp_bank_fields = try BankFields.random(self.allocator, rand.random(), 128);
var prng = std.Random.DefaultPrng.init(1234);
var tmp_bank_fields = try BankFields.initRandom(self.allocator, prng.random(), 128);
defer tmp_bank_fields.deinit(self.allocator);

while (!exit.load(.acquire)) {
Expand Down Expand Up @@ -1208,7 +1208,7 @@ pub const AccountsDB = struct {
_ = try self.generateFullSnapshotWithCompressor(zstd_compressor, zstd_buffer, .{
.target_slot = largest_flushed_slot,
.bank_fields = &tmp_bank_fields,
.lamports_per_signature = rand.random().int(u64),
.lamports_per_signature = prng.random().int(u64),
.old_snapshot_action = .delete_old,
});
}
Expand Down Expand Up @@ -1236,7 +1236,7 @@ pub const AccountsDB = struct {
_ = try self.generateIncrementalSnapshotWithCompressor(zstd_compressor, zstd_buffer, .{
.target_slot = largest_flushed_slot,
.bank_fields = &tmp_bank_fields,
.lamports_per_signature = rand.random().int(u64),
.lamports_per_signature = prng.random().int(u64),
.old_snapshot_action = .delete_old,
});
}
Expand Down Expand Up @@ -3213,8 +3213,8 @@ test "write and read an account" {
snapshots.deinit(allocator);
}

var rng = std.rand.DefaultPrng.init(0);
const pubkey = Pubkey.random(rng.random());
var prng = std.rand.DefaultPrng.init(0);
const pubkey = Pubkey.initRandom(prng.random());
var data = [_]u8{ 1, 2, 3 };
const test_account = Account{
.data = &data,
Expand Down Expand Up @@ -3361,17 +3361,17 @@ test "flushing slots works" {
}, null);
defer accounts_db.deinit();

var random = std.rand.DefaultPrng.init(19);
const rng = random.random();
var prng = std.rand.DefaultPrng.init(19);
const random = prng.random();
const n_accounts = 3;

// we dont defer deinit to make sure that they are cleared on purge
var pubkeys: [n_accounts]Pubkey = undefined;
var accounts: [n_accounts]Account = undefined;
for (&pubkeys, &accounts, 0..) |*pubkey, *account, i| {
errdefer for (accounts[0..i]) |prev_account| prev_account.deinit(allocator);
pubkey.* = Pubkey.random(rng);
account.* = try Account.random(allocator, rng, i % 1_000);
pubkey.* = Pubkey.initRandom(random);
account.* = try Account.initRandom(allocator, random, i % 1_000);
}
defer for (accounts) |account| account.deinit(allocator);

Expand Down Expand Up @@ -3412,17 +3412,17 @@ test "purge accounts in cache works" {
}, null);
defer accounts_db.deinit();

var random = std.rand.DefaultPrng.init(19);
const rng = random.random();
var prng = std.rand.DefaultPrng.init(19);
const random = prng.random();
const n_accounts = 3;

var pubkeys: [n_accounts]Pubkey = undefined;
var accounts: [n_accounts]Account = undefined;

for (&pubkeys, &accounts, 0..) |*pubkey, *account, i| {
errdefer for (accounts[0..i]) |prev_account| prev_account.deinit(allocator);
pubkey.* = Pubkey.random(rng);
account.* = try Account.random(allocator, rng, i % 1_000);
pubkey.* = Pubkey.initRandom(random);
account.* = try Account.initRandom(allocator, random, i % 1_000);
}
defer for (accounts) |account| account.deinit(allocator);

Expand Down Expand Up @@ -3469,17 +3469,17 @@ test "clean to shrink account file works with zero-lamports" {
}, null);
defer accounts_db.deinit();

var random = std.rand.DefaultPrng.init(19);
const rng = random.random();
var prng = std.rand.DefaultPrng.init(19);
const random = prng.random();
const n_accounts = 10;

// generate the account file for slot 0
var pubkeys: [n_accounts]Pubkey = undefined;
var accounts: [n_accounts]Account = undefined;
for (&pubkeys, &accounts, 0..) |*pubkey, *account, i| {
errdefer for (accounts[0..i]) |prev_account| prev_account.deinit(allocator);
pubkey.* = Pubkey.random(rng);
account.* = try Account.random(allocator, rng, 100);
pubkey.* = Pubkey.initRandom(random);
account.* = try Account.initRandom(allocator, random, 100);
}
defer for (accounts) |account| account.deinit(allocator);

Expand All @@ -3496,7 +3496,7 @@ test "clean to shrink account file works with zero-lamports" {
@memcpy(&pubkeys2, pubkeys[0..new_len]);
for (&accounts2, 0..) |*account, i| {
errdefer for (accounts2[0..i]) |prev_account| prev_account.deinit(allocator);
account.* = try Account.random(allocator, rng, i % 1_000);
account.* = try Account.initRandom(allocator, random, i % 1_000);
account.lamports = 0; // !
}
defer for (accounts2) |account| account.deinit(allocator);
Expand Down Expand Up @@ -3545,17 +3545,17 @@ test "clean to shrink account file works" {
}, null);
defer accounts_db.deinit();

var random = std.rand.DefaultPrng.init(19);
const rng = random.random();
var prng = std.rand.DefaultPrng.init(19);
const random = prng.random();
const n_accounts = 10;

// generate the account file for slot 0
var pubkeys: [n_accounts]Pubkey = undefined;
var accounts: [n_accounts]Account = undefined;
for (&pubkeys, &accounts, 0..) |*pubkey, *account, i| {
errdefer for (accounts[0..i]) |prev_account| prev_account.deinit(allocator);
pubkey.* = Pubkey.random(rng);
account.* = try Account.random(allocator, rng, 100);
pubkey.* = Pubkey.initRandom(random);
account.* = try Account.initRandom(allocator, random, 100);
}
defer for (accounts) |account| account.deinit(allocator);

Expand All @@ -3569,7 +3569,7 @@ test "clean to shrink account file works" {
@memcpy(&pubkeys2, pubkeys[0..new_len]);
for (&accounts2, 0..) |*account, i| {
errdefer for (accounts2[0..i]) |prev_account| prev_account.deinit(allocator);
account.* = try Account.random(allocator, rng, i % 1_000);
account.* = try Account.initRandom(allocator, random, i % 1_000);
}
defer for (accounts2) |account| account.deinit(allocator);

Expand Down Expand Up @@ -3613,17 +3613,17 @@ test "full clean account file works" {
}, null);
defer accounts_db.deinit();

var random = std.rand.DefaultPrng.init(19);
const rng = random.random();
var prng = std.rand.DefaultPrng.init(19);
const random = prng.random();
const n_accounts = 3;

// generate the account file for slot 0
var pubkeys: [n_accounts]Pubkey = undefined;
var accounts: [n_accounts]Account = undefined;
for (&pubkeys, &accounts, 0..) |*pubkey, *account, i| {
errdefer for (accounts[0..i]) |prev_account| prev_account.deinit(allocator);
pubkey.* = Pubkey.random(rng);
account.* = try Account.random(allocator, rng, i % 1_000);
pubkey.* = Pubkey.initRandom(random);
account.* = try Account.initRandom(allocator, random, i % 1_000);
}
defer for (accounts) |account| account.deinit(allocator);

Expand All @@ -3636,7 +3636,7 @@ test "full clean account file works" {
@memcpy(&pubkeys2, &pubkeys);
for (&accounts2, 0..) |*account, i| {
errdefer for (accounts2[0..i]) |prev_account| prev_account.deinit(allocator);
account.* = try Account.random(allocator, rng, i % 1_000);
account.* = try Account.initRandom(allocator, random, i % 1_000);
}
defer for (&accounts2) |account| account.deinit(allocator);

Expand Down Expand Up @@ -3698,8 +3698,8 @@ test "shrink account file works" {
}, null);
defer accounts_db.deinit();

var random = std.rand.DefaultPrng.init(19);
const rng = random.random();
var prng = std.rand.DefaultPrng.init(19);
const random = prng.random();

const n_accounts = 10;

Expand All @@ -3709,8 +3709,8 @@ test "shrink account file works" {

for (&pubkeys, &accounts, 0..) |*pubkey, *account, i| {
errdefer for (accounts[0..i]) |prev_account| prev_account.deinit(allocator);
pubkey.* = Pubkey.random(rng);
account.* = try Account.random(allocator, rng, 100);
pubkey.* = Pubkey.initRandom(random);
account.* = try Account.initRandom(allocator, random, 100);
}
defer for (accounts) |account| account.deinit(allocator);

Expand All @@ -3726,7 +3726,7 @@ test "shrink account file works" {
var accounts2: [new_len]Account = undefined;
@memcpy(&pubkeys2, pubkeys[0..new_len]);
for (&accounts2, 0..new_len) |*account, i| {
account.* = try Account.random(allocator, rng, i % 1_000);
account.* = try Account.initRandom(allocator, random, i % 1_000);
}
defer for (accounts2) |account| account.deinit(allocator);

Expand Down Expand Up @@ -4090,13 +4090,13 @@ pub const BenchmarkAccountsDB = struct {
}, null);
defer accounts_db.deinit();

var random = std.Random.DefaultPrng.init(19);
const rng = random.random();
var prng = std.Random.DefaultPrng.init(19);
const random = prng.random();

var pubkeys = try allocator.alloc(Pubkey, n_accounts);
defer allocator.free(pubkeys);
for (0..n_accounts) |i| {
pubkeys[i] = Pubkey.random(rng);
pubkeys[i] = Pubkey.initRandom(random);
}

var all_filenames = try ArrayList([]const u8).initCapacity(allocator, slot_list_len + bench_args.n_accounts_multiple);
Expand All @@ -4113,7 +4113,7 @@ pub const BenchmarkAccountsDB = struct {
const n_accounts_init = bench_args.n_accounts_multiple * bench_args.n_accounts;
const accounts = try allocator.alloc(Account, (total_n_accounts + n_accounts_init));
for (0..(total_n_accounts + n_accounts_init)) |i| {
accounts[i] = try Account.random(allocator, rng, i % 1_000);
accounts[i] = try Account.initRandom(allocator, random, i % 1_000);
}

if (n_accounts_init > 0) {
Expand Down Expand Up @@ -4177,7 +4177,7 @@ pub const BenchmarkAccountsDB = struct {

var offset: usize = 0;
for (0..n_accounts) |i| {
const account = try Account.random(allocator, rng, i % 1_000);
const account = try Account.initRandom(allocator, random, i % 1_000);
defer allocator.free(account.data);
var pubkey = pubkeys[i % n_accounts];
offset += account.writeToBuf(&pubkey, memory[offset..]);
Expand Down
20 changes: 10 additions & 10 deletions src/accountsdb/download.zig
Original file line number Diff line number Diff line change
Expand Up @@ -488,17 +488,17 @@ test "accounts_db.download: test remove untrusted peers" {
var table = try GossipTable.init(allocator, &thread_pool);
defer table.deinit();

var random = std.rand.DefaultPrng.init(0);
const rng = random.random();
var prng = std.rand.DefaultPrng.init(0);
const random = prng.random();

const my_shred_version: usize = 19;
const my_pubkey = Pubkey.random(rng);
const my_pubkey = Pubkey.initRandom(random);

const contact_infos: []ThreadSafeContactInfo = try allocator.alloc(ThreadSafeContactInfo, 10);
defer allocator.free(contact_infos);

for (contact_infos) |*ci| {
var lci = LegacyContactInfo.default(Pubkey.random(rng));
var lci = LegacyContactInfo.default(Pubkey.initRandom(random));
lci.rpc.setPort(19); // no long unspecified = valid
ci.* = ThreadSafeContactInfo.fromLegacyContactInfo(lci);
ci.shred_version = 19; // matching shred version
Expand All @@ -512,7 +512,7 @@ test "accounts_db.download: test remove untrusted peers" {

for (contact_infos) |*ci| {
var kp = try KeyPair.create(null);
var data = try SignedGossipData.randomWithIndex(rng, &kp, 9);
var data = try SignedGossipData.randomWithIndex(random, &kp, 9);
data.data.SnapshotHashes.from = ci.pubkey;
try trusted_validators.append(ci.pubkey);
_ = try table.insert(data, 0);
Expand Down Expand Up @@ -564,17 +564,17 @@ test "accounts_db.download: test finding peers" {
var table = try GossipTable.init(allocator, &thread_pool);
defer table.deinit();

var random = std.rand.DefaultPrng.init(0);
const rng = random.random();
var prng = std.rand.DefaultPrng.init(0);
const random = prng.random();

const my_shred_version: usize = 19;
const my_pubkey = Pubkey.random(rng);
const my_pubkey = Pubkey.initRandom(random);

const contact_infos: []ThreadSafeContactInfo = try allocator.alloc(ThreadSafeContactInfo, 10);
defer allocator.free(contact_infos);

for (contact_infos) |*ci| {
var lci = LegacyContactInfo.default(Pubkey.random(rng));
var lci = LegacyContactInfo.default(Pubkey.initRandom(random));
lci.rpc.setPort(19); // no long unspecified = valid
ci.* = ThreadSafeContactInfo.fromLegacyContactInfo(lci);
ci.shred_version = 19; // matching shred version
Expand Down Expand Up @@ -604,7 +604,7 @@ test "accounts_db.download: test finding peers" {

for (contact_infos) |*ci| {
var kp = try KeyPair.create(null);
var data = try SignedGossipData.randomWithIndex(rng, &kp, 9);
var data = try SignedGossipData.randomWithIndex(random, &kp, 9);
data.data.SnapshotHashes.from = ci.pubkey;
_ = try table.insert(data, 0);
}
Expand Down
25 changes: 11 additions & 14 deletions src/accountsdb/fuzz.zig
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,15 @@ const Account = sig.core.Account;
const Slot = sig.core.time.Slot;
const Pubkey = sig.core.pubkey.Pubkey;
const BankFields = sig.accounts_db.snapshots.BankFields;
const BankHashInfo = sig.accounts_db.snapshots.BankHashInfo;

pub const TrackedAccount = struct {
pubkey: Pubkey,
slot: u64,
data: []u8,

pub fn random(rand: std.rand.Random, slot: Slot, allocator: std.mem.Allocator) !TrackedAccount {
pub fn initRandom(random: std.rand.Random, slot: Slot, allocator: std.mem.Allocator) !TrackedAccount {
return .{
.pubkey = Pubkey.random(rand),
.pubkey = Pubkey.initRandom(random),
.slot = slot,
.data = try allocator.alloc(u8, 32),
};
Expand Down Expand Up @@ -51,7 +50,7 @@ pub fn run(seed: u64, args: *std.process.ArgIterator) !void {
};

var prng = std.Random.DefaultPrng.init(seed);
const rand = prng.random();
const random = prng.random();

var gpa_state = std.heap.GeneralPurposeAllocator(.{}){};
defer _ = gpa_state.deinit();
Expand All @@ -66,7 +65,7 @@ pub fn run(seed: u64, args: *std.process.ArgIterator) !void {

const logger = std_logger.logger();

const use_disk = rand.boolean();
const use_disk = random.boolean();

var test_data_dir = try std.fs.cwd().makeOpenPath(sig.TEST_DATA_DIR, .{});
defer test_data_dir.close();
Expand Down Expand Up @@ -130,11 +129,9 @@ pub fn run(seed: u64, args: *std.process.ArgIterator) !void {
};
try tracked_accounts.ensureTotalCapacity(10_000);

var random_bank_fields = try BankFields.random(allocator, rand, 1 << 8);
var random_bank_fields = try BankFields.initRandom(allocator, random, 1 << 8);
defer random_bank_fields.deinit(allocator);

// const random_bank_hash_info = BankHashInfo.random(rand);

const zstd_compressor = try zstd.Compressor.init(.{});
defer zstd_compressor.deinit();

Expand All @@ -151,7 +148,7 @@ pub fn run(seed: u64, args: *std.process.ArgIterator) !void {
}
defer slot += 1;

const action = rand.enumValue(enum { put, get });
const action = random.enumValue(enum { put, get });
switch (action) {
.put => {
const N_ACCOUNTS_PER_SLOT = 10;
Expand All @@ -162,11 +159,11 @@ pub fn run(seed: u64, args: *std.process.ArgIterator) !void {
for (&accounts, &pubkeys, 0..) |*account, *pubkey, i| {
errdefer for (accounts[0..i]) |prev_account| prev_account.deinit(allocator);

var tracked_account = try TrackedAccount.random(rand, slot, allocator);
var tracked_account = try TrackedAccount.initRandom(random, slot, allocator);

const existing_pubkey = rand.boolean();
const existing_pubkey = random.boolean();
if (existing_pubkey and tracked_accounts.count() > 0) {
const index = rand.intRangeAtMost(usize, 0, tracked_accounts.count() - 1);
const index = random.intRangeAtMost(usize, 0, tracked_accounts.count() - 1);
const key = tracked_accounts.keys()[index];
tracked_account.pubkey = key;
}
Expand Down Expand Up @@ -195,7 +192,7 @@ pub fn run(seed: u64, args: *std.process.ArgIterator) !void {
if (n_keys == 0) {
continue;
}
const index = rand.intRangeAtMost(usize, 0, tracked_accounts.count() - 1);
const index = random.intRangeAtMost(usize, 0, tracked_accounts.count() - 1);
const key = tracked_accounts.keys()[index];

const tracked_account = tracked_accounts.get(key).?;
Expand All @@ -208,7 +205,7 @@ pub fn run(seed: u64, args: *std.process.ArgIterator) !void {
},
}

const create_new_root = rand.boolean();
const create_new_root = random.boolean();
if (create_new_root) {
largest_rooted_slot = @min(slot, largest_rooted_slot + 2);
accounts_db.largest_rooted_slot.store(largest_rooted_slot, .monotonic);
Expand Down
Loading

0 comments on commit f505be2

Please sign in to comment.