tigerbeetle-node 0.11.3 → 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 +183 -379
- package/src/tigerbeetle/src/constants.zig +394 -0
- package/src/tigerbeetle/src/demo.zig +1 -1
- package/src/tigerbeetle/src/ewah_fuzz.zig +2 -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 +8 -3
- package/src/tigerbeetle/src/lsm/forest.zig +1 -1
- package/src/tigerbeetle/src/lsm/forest_fuzz.zig +10 -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 +28 -3
- package/src/tigerbeetle/src/lsm/tree_fuzz.zig +16 -17
- package/src/tigerbeetle/src/main.zig +18 -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 +2 -9
- package/src/tigerbeetle/src/state_machine.zig +582 -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 +1 -1
- package/src/tigerbeetle/src/test/storage.zig +5 -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 +400 -212
- package/src/tigerbeetle/src/unit_tests.zig +1 -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 +6 -6
- package/src/tigerbeetle/src/vsr/journal_format_fuzz.zig +3 -1
- package/src/tigerbeetle/src/vsr/replica.zig +5 -3
- package/src/tigerbeetle/src/vsr/replica_format.zig +1 -1
- 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 +1 -1
|
@@ -4,11 +4,10 @@ const assert = std.debug.assert;
|
|
|
4
4
|
const fmt = std.fmt;
|
|
5
5
|
const mem = std.mem;
|
|
6
6
|
const os = std.os;
|
|
7
|
-
const
|
|
7
|
+
const log_main = std.log.scoped(.main);
|
|
8
8
|
|
|
9
9
|
const build_options = @import("tigerbeetle_build_options");
|
|
10
|
-
const config = @import("
|
|
11
|
-
pub const log_level: std.log.Level = @intToEnum(std.log.Level, config.log_level);
|
|
10
|
+
const config = @import("constants.zig");
|
|
12
11
|
const tracer = @import("tracer.zig");
|
|
13
12
|
|
|
14
13
|
const cli = @import("cli.zig");
|
|
@@ -31,10 +30,8 @@ const SuperBlock = vsr.SuperBlockType(Storage);
|
|
|
31
30
|
const superblock_zone_size = @import("vsr/superblock.zig").superblock_zone_size;
|
|
32
31
|
const data_file_size_min = @import("vsr/superblock.zig").data_file_size_min;
|
|
33
32
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
config.deployment_environment == .development);
|
|
37
|
-
}
|
|
33
|
+
pub const log_level: std.log.Level = config.log_level;
|
|
34
|
+
pub const log = config.log;
|
|
38
35
|
|
|
39
36
|
pub fn main() !void {
|
|
40
37
|
var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
|
|
@@ -129,7 +126,12 @@ const Command = struct {
|
|
|
129
126
|
options: StateMachine.Options,
|
|
130
127
|
path: [:0]const u8,
|
|
131
128
|
) !void {
|
|
132
|
-
|
|
129
|
+
var tracer_allocator = if (config.tracer_backend == .tracy)
|
|
130
|
+
tracer.TracerAllocator.init(arena.allocator())
|
|
131
|
+
else
|
|
132
|
+
arena;
|
|
133
|
+
|
|
134
|
+
const allocator = tracer_allocator.allocator();
|
|
133
135
|
|
|
134
136
|
try tracer.init(allocator);
|
|
135
137
|
defer tracer.deinit(allocator);
|
|
@@ -166,13 +168,13 @@ const Command = struct {
|
|
|
166
168
|
node_maybe = node.next;
|
|
167
169
|
}
|
|
168
170
|
}
|
|
169
|
-
|
|
171
|
+
log_main.info("{}: Allocated {} bytes in {} regions during replica init", .{
|
|
170
172
|
replica.replica,
|
|
171
173
|
allocation_size,
|
|
172
174
|
allocation_count,
|
|
173
175
|
});
|
|
174
176
|
|
|
175
|
-
|
|
177
|
+
log_main.info("{}: cluster={}: listening on {}", .{
|
|
176
178
|
replica.replica,
|
|
177
179
|
replica.cluster,
|
|
178
180
|
addresses[replica.replica],
|
|
@@ -222,15 +224,15 @@ fn print_value(
|
|
|
222
224
|
comptime field: []const u8,
|
|
223
225
|
comptime value: anytype,
|
|
224
226
|
) !void {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
+
switch (@typeInfo(@TypeOf(value))) {
|
|
228
|
+
.Fn => {}, // Ignore the log() function.
|
|
229
|
+
.Pointer => try std.fmt.format(writer, "{s}=\"{s}\"\n", .{
|
|
227
230
|
field,
|
|
228
231
|
std.fmt.fmtSliceEscapeLower(value),
|
|
229
|
-
})
|
|
230
|
-
|
|
231
|
-
try std.fmt.format(writer, "{s}={}\n", .{
|
|
232
|
+
}),
|
|
233
|
+
else => try std.fmt.format(writer, "{s}={}\n", .{
|
|
232
234
|
field,
|
|
233
235
|
value,
|
|
234
|
-
})
|
|
236
|
+
}),
|
|
235
237
|
}
|
|
236
238
|
}
|
|
@@ -3,7 +3,7 @@ const builtin = @import("builtin");
|
|
|
3
3
|
const assert = std.debug.assert;
|
|
4
4
|
const mem = std.mem;
|
|
5
5
|
|
|
6
|
-
const config = @import("
|
|
6
|
+
const config = @import("constants.zig");
|
|
7
7
|
|
|
8
8
|
const vsr = @import("vsr.zig");
|
|
9
9
|
const Header = vsr.Header;
|
|
@@ -22,7 +22,7 @@ const message_size_max_padded = config.message_size_max + config.sector_size;
|
|
|
22
22
|
pub const messages_max_replica = messages_max: {
|
|
23
23
|
var sum: usize = 0;
|
|
24
24
|
|
|
25
|
-
sum += config.
|
|
25
|
+
sum += config.journal_iops_read_max + config.journal_iops_write_max; // Journal I/O
|
|
26
26
|
sum += config.clients_max; // SuperBlock.client_table
|
|
27
27
|
sum += 1; // Replica.loopback_queue
|
|
28
28
|
sum += config.pipeline_max; // Replica.pipeline
|
|
@@ -4,7 +4,7 @@ const assert = std.debug.assert;
|
|
|
4
4
|
const mem = std.mem;
|
|
5
5
|
|
|
6
6
|
const tb = @import("tigerbeetle.zig");
|
|
7
|
-
const config = @import("
|
|
7
|
+
const config = @import("constants.zig");
|
|
8
8
|
const vsr = @import("vsr.zig");
|
|
9
9
|
const Header = vsr.Header;
|
|
10
10
|
|
|
@@ -31,12 +31,9 @@ const log_state_transitions_only = builtin.mode != .Debug;
|
|
|
31
31
|
|
|
32
32
|
const log_simulator = std.log.scoped(.simulator);
|
|
33
33
|
|
|
34
|
-
/// You can fine tune your log levels even further (debug/info/
|
|
34
|
+
/// You can fine tune your log levels even further (debug/info/warn/err):
|
|
35
35
|
pub const log_level: std.log.Level = if (log_state_transitions_only) .info else .debug;
|
|
36
36
|
|
|
37
|
-
/// Modifies compile-time constants on "config.zig".
|
|
38
|
-
pub const deployment_environment = .simulation;
|
|
39
|
-
|
|
40
37
|
const cluster_id = 0;
|
|
41
38
|
|
|
42
39
|
var cluster: *Cluster = undefined;
|
|
@@ -44,10 +41,6 @@ var state_checker: *StateChecker = undefined;
|
|
|
44
41
|
var storage_checker: *StorageChecker = undefined;
|
|
45
42
|
|
|
46
43
|
pub fn main() !void {
|
|
47
|
-
comptime {
|
|
48
|
-
assert(config.deployment_environment == .simulation);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
44
|
// This must be initialized at runtime as stderr is not comptime known on e.g. Windows.
|
|
52
45
|
log_buffer.unbuffered_writer = std.io.getStdErr().writer();
|
|
53
46
|
|