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.
Files changed (75) hide show
  1. package/dist/.client.node.sha256 +1 -1
  2. package/package.json +1 -1
  3. package/src/node.zig +6 -1
  4. package/src/tigerbeetle/src/benchmark.zig +1 -1
  5. package/src/tigerbeetle/src/c/tb_client/context.zig +1 -1
  6. package/src/tigerbeetle/src/c/tb_client/echo_client.zig +1 -1
  7. package/src/tigerbeetle/src/c/tb_client/thread.zig +1 -1
  8. package/src/tigerbeetle/src/c/tb_client.h +97 -111
  9. package/src/tigerbeetle/src/c/tb_client.zig +29 -18
  10. package/src/tigerbeetle/src/c/tb_client_header.zig +218 -0
  11. package/src/tigerbeetle/src/c/test.zig +7 -7
  12. package/src/tigerbeetle/src/cli.zig +4 -4
  13. package/src/tigerbeetle/src/config.zig +184 -374
  14. package/src/tigerbeetle/src/constants.zig +394 -0
  15. package/src/tigerbeetle/src/demo.zig +1 -1
  16. package/src/tigerbeetle/src/ewah.zig +18 -29
  17. package/src/tigerbeetle/src/ewah_fuzz.zig +130 -0
  18. package/src/tigerbeetle/src/io/darwin.zig +1 -1
  19. package/src/tigerbeetle/src/io/linux.zig +2 -2
  20. package/src/tigerbeetle/src/io/windows.zig +1 -1
  21. package/src/tigerbeetle/src/lsm/bloom_filter.zig +1 -1
  22. package/src/tigerbeetle/src/lsm/compaction.zig +55 -2
  23. package/src/tigerbeetle/src/lsm/forest.zig +1 -1
  24. package/src/tigerbeetle/src/lsm/forest_fuzz.zig +15 -7
  25. package/src/tigerbeetle/src/lsm/grid.zig +1 -1
  26. package/src/tigerbeetle/src/lsm/groove.zig +5 -39
  27. package/src/tigerbeetle/src/lsm/level_iterator.zig +1 -1
  28. package/src/tigerbeetle/src/lsm/manifest.zig +1 -6
  29. package/src/tigerbeetle/src/lsm/manifest_level.zig +1 -1
  30. package/src/tigerbeetle/src/lsm/manifest_log.zig +1 -1
  31. package/src/tigerbeetle/src/lsm/manifest_log_fuzz.zig +14 -9
  32. package/src/tigerbeetle/src/lsm/posted_groove.zig +2 -13
  33. package/src/tigerbeetle/src/lsm/segmented_array_benchmark.zig +1 -1
  34. package/src/tigerbeetle/src/lsm/set_associative_cache.zig +1 -1
  35. package/src/tigerbeetle/src/lsm/table.zig +25 -17
  36. package/src/tigerbeetle/src/lsm/table_immutable.zig +1 -1
  37. package/src/tigerbeetle/src/lsm/table_iterator.zig +1 -1
  38. package/src/tigerbeetle/src/lsm/table_mutable.zig +1 -1
  39. package/src/tigerbeetle/src/lsm/test.zig +1 -1
  40. package/src/tigerbeetle/src/lsm/tree.zig +47 -5
  41. package/src/tigerbeetle/src/lsm/tree_fuzz.zig +22 -18
  42. package/src/tigerbeetle/src/main.zig +22 -16
  43. package/src/tigerbeetle/src/message_bus.zig +1 -1
  44. package/src/tigerbeetle/src/message_pool.zig +2 -2
  45. package/src/tigerbeetle/src/simulator.zig +3 -10
  46. package/src/tigerbeetle/src/state_machine.zig +627 -1806
  47. package/src/tigerbeetle/src/storage.zig +1 -1
  48. package/src/tigerbeetle/src/test/accounting/auditor.zig +1 -1
  49. package/src/tigerbeetle/src/test/accounting/workload.zig +1 -1
  50. package/src/tigerbeetle/src/test/cluster.zig +1 -1
  51. package/src/tigerbeetle/src/test/conductor.zig +1 -1
  52. package/src/tigerbeetle/src/test/fuzz.zig +19 -0
  53. package/src/tigerbeetle/src/test/message_bus.zig +1 -1
  54. package/src/tigerbeetle/src/test/network.zig +1 -1
  55. package/src/tigerbeetle/src/test/state_checker.zig +2 -2
  56. package/src/tigerbeetle/src/test/storage.zig +14 -5
  57. package/src/tigerbeetle/src/test/storage_checker.zig +1 -1
  58. package/src/tigerbeetle/src/test/table.zig +226 -0
  59. package/src/tigerbeetle/src/time.zig +1 -1
  60. package/src/tigerbeetle/src/tracer.zig +507 -0
  61. package/src/tigerbeetle/src/unit_tests.zig +2 -0
  62. package/src/tigerbeetle/src/vsr/client.zig +1 -1
  63. package/src/tigerbeetle/src/vsr/clock.zig +1 -1
  64. package/src/tigerbeetle/src/vsr/journal.zig +46 -115
  65. package/src/tigerbeetle/src/vsr/journal_format_fuzz.zig +111 -0
  66. package/src/tigerbeetle/src/vsr/replica.zig +50 -159
  67. package/src/tigerbeetle/src/vsr/replica_format.zig +216 -0
  68. package/src/tigerbeetle/src/vsr/superblock.zig +1 -1
  69. package/src/tigerbeetle/src/vsr/superblock_client_table.zig +1 -1
  70. package/src/tigerbeetle/src/vsr/superblock_free_set.zig +3 -2
  71. package/src/tigerbeetle/src/vsr/superblock_free_set_fuzz.zig +2 -0
  72. package/src/tigerbeetle/src/vsr/superblock_fuzz.zig +8 -5
  73. package/src/tigerbeetle/src/vsr/superblock_manifest.zig +1 -1
  74. package/src/tigerbeetle/src/vsr/superblock_quorums_fuzz.zig +2 -0
  75. 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("../config.zig");
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.TB_OP_CREATE_ACCOUNTS;
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.TB_OP_CREATE_TRANSFERS,
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.TB_OP_CREATE_ACCOUNTS,
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.TB_OP_CREATE_TRANSFERS,
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.TB_OP_LOOKUP_TRANSFERS,
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.TB_OP_LOOKUP_ACCOUNTS,
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("config.zig");
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
  }