Skip to content

Commit 20c8172

Browse files
committed
Code cleanup
1 parent cdf129f commit 20c8172

File tree

3 files changed

+5
-80
lines changed

3 files changed

+5
-80
lines changed

src/Index.zig

+5-74
Original file line numberDiff line numberDiff line change
@@ -141,75 +141,6 @@ pub fn deinit(self: *Self) void {
141141
self.dir.close();
142142
}
143143

144-
pub const PendingUpdate = struct {
145-
node: MemorySegmentNode,
146-
segments: SharedPtr(MemorySegmentList),
147-
finished: bool = false,
148-
149-
pub fn deinit(self: *@This(), allocator: Allocator) void {
150-
if (self.finished) return;
151-
MemorySegmentList.destroySegments(allocator, &self.segments);
152-
MemorySegmentList.destroySegment(allocator, &self.node);
153-
self.finished = true;
154-
}
155-
};
156-
157-
// Prepares update for later commit, will block until previous update has been committed.
158-
fn prepareUpdate(self: *Self, changes: []const Change) !PendingUpdate {
159-
var node = try MemorySegmentList.createSegment(self.allocator, .{});
160-
errdefer MemorySegmentList.destroySegment(self.allocator, &node);
161-
162-
try node.value.build(changes);
163-
164-
self.update_lock.lock();
165-
errdefer self.update_lock.unlock();
166-
167-
self.segments_lock.lockShared();
168-
defer self.segments_lock.unlockShared();
169-
170-
const segments = try MemorySegmentList.createShared(self.allocator, self.memory_segments.count() + 1);
171-
172-
return .{ .node = node, .segments = segments };
173-
}
174-
175-
// Commits the update, does nothing if it has already been cancelled or committted.
176-
fn commitUpdate(self: *Self, pending_update: *PendingUpdate, commit_id: u64) void {
177-
if (pending_update.finished) return;
178-
179-
defer pending_update.deinit(self.allocator);
180-
181-
self.segments_lock.lock();
182-
defer self.segments_lock.unlock();
183-
184-
pending_update.node.value.max_commit_id = commit_id;
185-
pending_update.node.value.id = blk: {
186-
if (self.memory_segments.segments.value.getLast()) |n| {
187-
break :blk n.value.id.next();
188-
} else if (self.file_segments.segments.value.getFirst()) |n| {
189-
break :blk n.value.id.next();
190-
} else {
191-
break :blk SegmentId.first();
192-
}
193-
};
194-
195-
self.memory_segments.segments.value.appendSegmentInto(pending_update.segments.value, pending_update.node);
196-
197-
self.memory_segments.segments.swap(&pending_update.segments);
198-
199-
pending_update.finished = true;
200-
self.update_lock.unlock();
201-
}
202-
203-
// Cancels the update, does nothing if it has already been cancelled or committted.
204-
fn cancelUpdate(self: *Self, pending_update: *PendingUpdate) void {
205-
if (pending_update.finished) return;
206-
207-
defer pending_update.deinit(self.allocator);
208-
209-
pending_update.finished = true;
210-
self.update_lock.unlock();
211-
}
212-
213144
fn loadSegment(self: *Self, segment_id: SegmentId) !FileSegmentNode {
214145
var node = try FileSegmentList.createSegment(self.allocator, .{ .dir = self.dir });
215146
errdefer FileSegmentList.destroySegment(self.allocator, &node);
@@ -341,7 +272,7 @@ fn maybeMergeFileSegments(self: *Self) !bool {
341272
defer self.segments_lock.unlock();
342273

343274
self.file_segments.commitUpdate(&upd);
344-
log.debug("committed file segments merge", .{});
275+
// log.debug("committed file segments merge", .{});
345276

346277
return true;
347278
}
@@ -384,7 +315,7 @@ fn maybeMergeMemorySegments(self: *Self) !bool {
384315
defer self.segments_lock.unlock();
385316

386317
self.memory_segments.commitUpdate(&upd);
387-
log.debug("committed memory segments merge", .{});
318+
// log.debug("committed memory segments merge", .{});
388319

389320
self.maybeScheduleCheckpoint();
390321

@@ -459,7 +390,7 @@ pub fn update(self: *Self, changes: []const Change) !void {
459390
}
460391

461392
pub fn updateInternal(self: *Self, changes: []const Change, commit_id: ?u64) !void {
462-
log.debug("update with {} changes", .{changes.len});
393+
// log.debug("update with {} changes", .{changes.len});
463394

464395
var target = try MemorySegmentList.createSegment(self.allocator, .{});
465396
defer MemorySegmentList.destroySegment(self.allocator, &target);
@@ -469,8 +400,6 @@ pub fn updateInternal(self: *Self, changes: []const Change, commit_id: ?u64) !vo
469400
var upd = try self.memory_segments.beginUpdate();
470401
defer self.memory_segments.cleanupAfterUpdate(&upd);
471402

472-
upd.appendSegment(target);
473-
474403
target.value.max_commit_id = commit_id orelse try self.oplog.write(changes);
475404

476405
self.segments_lock.lock();
@@ -486,6 +415,8 @@ pub fn updateInternal(self: *Self, changes: []const Change, commit_id: ?u64) !vo
486415
}
487416
};
488417

418+
upd.appendSegment(target);
419+
489420
self.memory_segments.commitUpdate(&upd);
490421

491422
if (self.memory_segments.needsMerge()) {

src/MemorySegment.zig

-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ pub fn deinit(self: *Self, delete_file: KeepOrDelete) void {
3737
_ = delete_file;
3838
self.docs.deinit();
3939
self.items.deinit();
40-
log.debug("deinit memory segment {}:{}", .{ self.id.version, self.id.included_merges });
4140
}
4241

4342
pub fn search(self: Self, sorted_hashes: []const u32, results: *SearchResults) !void {

src/segment_list.zig

-5
Original file line numberDiff line numberDiff line change
@@ -74,16 +74,13 @@ pub fn SegmentList(Segment: type) type {
7474
copy.nodes.appendAssumeCapacity(n.acquire());
7575
}
7676
copy.nodes.appendAssumeCapacity(node.acquire());
77-
std.log.debug("adding {s} {}:{}", .{ @typeName(Segment), node.value.id.version, node.value.id.included_merges });
7877
}
7978

8079
pub fn removeSegmentInto(self: Self, copy: *Self, node: Node) void {
8180
copy.nodes.clearRetainingCapacity();
8281
for (self.nodes.items) |n| {
8382
if (n.value != node.value) {
8483
copy.nodes.appendAssumeCapacity(n.acquire());
85-
} else {
86-
std.log.debug("removing {s} {}:{}", .{ @typeName(Segment), n.value.id.version, n.value.id.included_merges });
8784
}
8885
}
8986
}
@@ -93,11 +90,9 @@ pub fn SegmentList(Segment: type) type {
9390
var inserted_merged = false;
9491
for (self.nodes.items) |n| {
9592
if (node.value.id.contains(n.value.id)) {
96-
std.log.debug("removing {s} {}:{}", .{ @typeName(Segment), n.value.id.version, n.value.id.included_merges });
9793
if (!inserted_merged) {
9894
copy.nodes.appendAssumeCapacity(node.acquire());
9995
inserted_merged = true;
100-
std.log.debug("adding {s} {}:{}", .{ @typeName(Segment), node.value.id.version, node.value.id.included_merges });
10196
}
10297
} else {
10398
copy.nodes.appendAssumeCapacity(n.acquire());

0 commit comments

Comments
 (0)