Skip to content

Commit 9bd7e7f

Browse files
committed
Mark oversized segments are frozen
1 parent 1fbbab7 commit 9bd7e7f

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/segment_list.zig

+6-5
Original file line numberDiff line numberDiff line change
@@ -316,11 +316,6 @@ pub fn SegmentListManager(Segment: type) type {
316316
try target.value.merge(&merger);
317317
errdefer target.value.cleanup();
318318

319-
if (target.value.getSize() > self.merge_policy.max_segment_size) {
320-
// we can do this without a lock, because we are the only ones knowing about this new segment
321-
target.value.status.frozen = true;
322-
}
323-
324319
var update = try self.beginUpdate(allocator);
325320
update.replaceMergedSegment(target);
326321

@@ -337,10 +332,16 @@ pub fn SegmentListManager(Segment: type) type {
337332
}
338333

339334
pub fn appendSegment(self: *@This(), node: List.Node) void {
335+
if (node.value.getSize() > self.manager.merge_policy.max_segment_size) {
336+
node.value.status.frozen = true;
337+
}
340338
self.manager.segments.value.appendSegmentInto(self.segments.value, node);
341339
}
342340

343341
pub fn replaceMergedSegment(self: *@This(), node: List.Node) void {
342+
if (node.value.getSize() > self.manager.merge_policy.max_segment_size) {
343+
node.value.status.frozen = true;
344+
}
344345
self.manager.segments.value.replaceMergedSegmentInto(self.segments.value, node);
345346
}
346347
};

0 commit comments

Comments
 (0)