tigerbeetle-node 0.11.2 → 0.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.client.node.sha256 +1 -1
- package/package.json +1 -1
- package/src/node.zig +6 -1
- package/src/tigerbeetle/src/benchmark.zig +1 -1
- package/src/tigerbeetle/src/c/tb_client/context.zig +1 -1
- package/src/tigerbeetle/src/c/tb_client/echo_client.zig +1 -1
- package/src/tigerbeetle/src/c/tb_client/thread.zig +1 -1
- package/src/tigerbeetle/src/c/tb_client.h +97 -111
- package/src/tigerbeetle/src/c/tb_client.zig +29 -18
- package/src/tigerbeetle/src/c/tb_client_header.zig +218 -0
- package/src/tigerbeetle/src/c/test.zig +7 -7
- package/src/tigerbeetle/src/cli.zig +4 -4
- package/src/tigerbeetle/src/config.zig +184 -374
- package/src/tigerbeetle/src/constants.zig +394 -0
- package/src/tigerbeetle/src/demo.zig +1 -1
- package/src/tigerbeetle/src/ewah.zig +18 -29
- package/src/tigerbeetle/src/ewah_fuzz.zig +130 -0
- package/src/tigerbeetle/src/io/darwin.zig +1 -1
- package/src/tigerbeetle/src/io/linux.zig +2 -2
- package/src/tigerbeetle/src/io/windows.zig +1 -1
- package/src/tigerbeetle/src/lsm/bloom_filter.zig +1 -1
- package/src/tigerbeetle/src/lsm/compaction.zig +55 -2
- package/src/tigerbeetle/src/lsm/forest.zig +1 -1
- package/src/tigerbeetle/src/lsm/forest_fuzz.zig +15 -7
- package/src/tigerbeetle/src/lsm/grid.zig +1 -1
- package/src/tigerbeetle/src/lsm/groove.zig +5 -39
- package/src/tigerbeetle/src/lsm/level_iterator.zig +1 -1
- package/src/tigerbeetle/src/lsm/manifest.zig +1 -6
- package/src/tigerbeetle/src/lsm/manifest_level.zig +1 -1
- package/src/tigerbeetle/src/lsm/manifest_log.zig +1 -1
- package/src/tigerbeetle/src/lsm/manifest_log_fuzz.zig +14 -9
- package/src/tigerbeetle/src/lsm/posted_groove.zig +2 -13
- package/src/tigerbeetle/src/lsm/segmented_array_benchmark.zig +1 -1
- package/src/tigerbeetle/src/lsm/set_associative_cache.zig +1 -1
- package/src/tigerbeetle/src/lsm/table.zig +25 -17
- package/src/tigerbeetle/src/lsm/table_immutable.zig +1 -1
- package/src/tigerbeetle/src/lsm/table_iterator.zig +1 -1
- package/src/tigerbeetle/src/lsm/table_mutable.zig +1 -1
- package/src/tigerbeetle/src/lsm/test.zig +1 -1
- package/src/tigerbeetle/src/lsm/tree.zig +47 -5
- package/src/tigerbeetle/src/lsm/tree_fuzz.zig +22 -18
- package/src/tigerbeetle/src/main.zig +22 -16
- package/src/tigerbeetle/src/message_bus.zig +1 -1
- package/src/tigerbeetle/src/message_pool.zig +2 -2
- package/src/tigerbeetle/src/simulator.zig +3 -10
- package/src/tigerbeetle/src/state_machine.zig +627 -1806
- package/src/tigerbeetle/src/storage.zig +1 -1
- package/src/tigerbeetle/src/test/accounting/auditor.zig +1 -1
- package/src/tigerbeetle/src/test/accounting/workload.zig +1 -1
- package/src/tigerbeetle/src/test/cluster.zig +1 -1
- package/src/tigerbeetle/src/test/conductor.zig +1 -1
- package/src/tigerbeetle/src/test/fuzz.zig +19 -0
- package/src/tigerbeetle/src/test/message_bus.zig +1 -1
- package/src/tigerbeetle/src/test/network.zig +1 -1
- package/src/tigerbeetle/src/test/state_checker.zig +2 -2
- package/src/tigerbeetle/src/test/storage.zig +14 -5
- package/src/tigerbeetle/src/test/storage_checker.zig +1 -1
- package/src/tigerbeetle/src/test/table.zig +226 -0
- package/src/tigerbeetle/src/time.zig +1 -1
- package/src/tigerbeetle/src/tracer.zig +507 -0
- package/src/tigerbeetle/src/unit_tests.zig +2 -0
- package/src/tigerbeetle/src/vsr/client.zig +1 -1
- package/src/tigerbeetle/src/vsr/clock.zig +1 -1
- package/src/tigerbeetle/src/vsr/journal.zig +46 -115
- package/src/tigerbeetle/src/vsr/journal_format_fuzz.zig +111 -0
- package/src/tigerbeetle/src/vsr/replica.zig +50 -159
- package/src/tigerbeetle/src/vsr/replica_format.zig +216 -0
- package/src/tigerbeetle/src/vsr/superblock.zig +1 -1
- package/src/tigerbeetle/src/vsr/superblock_client_table.zig +1 -1
- package/src/tigerbeetle/src/vsr/superblock_free_set.zig +3 -2
- package/src/tigerbeetle/src/vsr/superblock_free_set_fuzz.zig +2 -0
- package/src/tigerbeetle/src/vsr/superblock_fuzz.zig +8 -5
- package/src/tigerbeetle/src/vsr/superblock_manifest.zig +1 -1
- package/src/tigerbeetle/src/vsr/superblock_quorums_fuzz.zig +2 -0
- package/src/tigerbeetle/src/vsr.zig +2 -2
|
@@ -6,7 +6,7 @@ const testing = std.testing;
|
|
|
6
6
|
const c = @cImport(@cInclude("tb_client.h"));
|
|
7
7
|
|
|
8
8
|
const util = @import("../util.zig");
|
|
9
|
-
const config = @import("../
|
|
9
|
+
const config = @import("../constants.zig");
|
|
10
10
|
const Packet = @import("tb_client/packet.zig").Packet;
|
|
11
11
|
|
|
12
12
|
const Mutex = std.Thread.Mutex;
|
|
@@ -92,7 +92,7 @@ const Completion = struct {
|
|
|
92
92
|
test "c_client echo" {
|
|
93
93
|
// Using the create_accounts operation for this test.
|
|
94
94
|
const RequestContext = RequestContextType(config.message_body_size_max);
|
|
95
|
-
const create_accounts_operation: u8 = c.
|
|
95
|
+
const create_accounts_operation: u8 = c.TB_OPERATION_CREATE_ACCOUNTS;
|
|
96
96
|
const event_size = @sizeOf(c.tb_account_t);
|
|
97
97
|
const event_request_max = @divFloor(config.message_body_size_max, event_size);
|
|
98
98
|
|
|
@@ -303,7 +303,7 @@ test "c_client tb_packet_status" {
|
|
|
303
303
|
try assert_result(
|
|
304
304
|
tb_client,
|
|
305
305
|
packet_list,
|
|
306
|
-
c.
|
|
306
|
+
c.TB_OPERATION_CREATE_TRANSFERS,
|
|
307
307
|
config.message_body_size_max + @sizeOf(c.tb_transfer_t),
|
|
308
308
|
c.TB_PACKET_TOO_MUCH_DATA,
|
|
309
309
|
);
|
|
@@ -343,28 +343,28 @@ test "c_client tb_packet_status" {
|
|
|
343
343
|
try assert_result(
|
|
344
344
|
tb_client,
|
|
345
345
|
packet_list,
|
|
346
|
-
c.
|
|
346
|
+
c.TB_OPERATION_CREATE_ACCOUNTS,
|
|
347
347
|
0,
|
|
348
348
|
c.TB_PACKET_INVALID_DATA_SIZE,
|
|
349
349
|
);
|
|
350
350
|
try assert_result(
|
|
351
351
|
tb_client,
|
|
352
352
|
packet_list,
|
|
353
|
-
c.
|
|
353
|
+
c.TB_OPERATION_CREATE_TRANSFERS,
|
|
354
354
|
@sizeOf(c.tb_transfer_t) - 1,
|
|
355
355
|
c.TB_PACKET_INVALID_DATA_SIZE,
|
|
356
356
|
);
|
|
357
357
|
try assert_result(
|
|
358
358
|
tb_client,
|
|
359
359
|
packet_list,
|
|
360
|
-
c.
|
|
360
|
+
c.TB_OPERATION_LOOKUP_TRANSFERS,
|
|
361
361
|
@sizeOf(u128) + 1,
|
|
362
362
|
c.TB_PACKET_INVALID_DATA_SIZE,
|
|
363
363
|
);
|
|
364
364
|
try assert_result(
|
|
365
365
|
tb_client,
|
|
366
366
|
packet_list,
|
|
367
|
-
c.
|
|
367
|
+
c.TB_OPERATION_LOOKUP_ACCOUNTS,
|
|
368
368
|
@sizeOf(u128) * 2.5,
|
|
369
369
|
c.TB_PACKET_INVALID_DATA_SIZE,
|
|
370
370
|
);
|
|
@@ -7,7 +7,7 @@ const meta = std.meta;
|
|
|
7
7
|
const net = std.net;
|
|
8
8
|
const os = std.os;
|
|
9
9
|
|
|
10
|
-
const config = @import("
|
|
10
|
+
const config = @import("constants.zig");
|
|
11
11
|
const tigerbeetle = @import("tigerbeetle.zig");
|
|
12
12
|
const vsr = @import("vsr.zig");
|
|
13
13
|
const IO = @import("io.zig").IO;
|
|
@@ -351,7 +351,7 @@ fn parse_size_to_count(comptime T: type, string_opt: ?[]const u8, comptime defau
|
|
|
351
351
|
const count = math.cast(u32, count_u64) catch |err| switch (err) {
|
|
352
352
|
error.Overflow => fatal("size value is too large: '{s}'", .{string}),
|
|
353
353
|
};
|
|
354
|
-
if (count < 2048) fatal("size value is too small: '{s}'", .{string});
|
|
354
|
+
if (count > 0 and count < 2048) fatal("size value is too small: '{s}'", .{string});
|
|
355
355
|
assert(count * @sizeOf(T) <= byte_size);
|
|
356
356
|
|
|
357
357
|
result = count;
|
|
@@ -359,8 +359,8 @@ fn parse_size_to_count(comptime T: type, string_opt: ?[]const u8, comptime defau
|
|
|
359
359
|
|
|
360
360
|
// SetAssociativeCache requires a power-of-two cardinality and a minimal
|
|
361
361
|
// size.
|
|
362
|
-
assert(result >= 2048);
|
|
363
|
-
assert(math.isPowerOfTwo(result));
|
|
362
|
+
assert(result == 0 or result >= 2048);
|
|
363
|
+
assert(result == 0 or math.isPowerOfTwo(result));
|
|
364
364
|
|
|
365
365
|
return result;
|
|
366
366
|
}
|