cojson 0.7.14 → 0.7.17
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/CHANGELOG.md +6 -0
- package/dist/storage/FileSystem.js +9 -3
- package/dist/storage/FileSystem.js.map +1 -1
- package/dist/storage/chunksAndKnownStates.js +2 -0
- package/dist/storage/chunksAndKnownStates.js.map +1 -1
- package/dist/storage/index.js +16 -6
- package/dist/storage/index.js.map +1 -1
- package/package.json +1 -1
- package/src/storage/FileSystem.ts +9 -8
- package/src/storage/chunksAndKnownStates.ts +2 -0
- package/src/storage/index.ts +27 -6
package/CHANGELOG.md
CHANGED
|
@@ -41,11 +41,17 @@ export function writeBlock(chunks, level, fs) {
|
|
|
41
41
|
}
|
|
42
42
|
const headerBytes = textEncoder.encode(JSON.stringify(blockHeader));
|
|
43
43
|
yield* $(fs.append(file, headerBytes));
|
|
44
|
-
console.log(
|
|
44
|
+
// console.log(
|
|
45
|
+
// "full file",
|
|
46
|
+
// yield* $(
|
|
47
|
+
// fs.read(file as unknown as RH, 0, offset + headerBytes.length),
|
|
48
|
+
// ),
|
|
49
|
+
// );
|
|
45
50
|
const filename = `${hash.digest()}-L${level}-H${headerBytes.length}.jsonl`;
|
|
46
|
-
console.log("renaming to" + filename);
|
|
51
|
+
// console.log("renaming to" + filename);
|
|
47
52
|
yield* $(fs.closeAndRename(file, filename));
|
|
48
|
-
console.log("Wrote block", filename, blockHeader);
|
|
53
|
+
// console.log("Wrote block", filename, blockHeader);
|
|
54
|
+
// console.log("IDs in block", blockHeader.map(e => e.id));
|
|
49
55
|
});
|
|
50
56
|
}
|
|
51
57
|
export function writeToWal(handle, fs, id, chunk) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../src/storage/FileSystem.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FileSystem.js","sourceRoot":"","sources":["../../src/storage/FileSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,9 +84,11 @@ export function mergeChunks(chunkA, chunkB) {
|
|
|
84
84
|
else {
|
|
85
85
|
const lastNewEntry = newEntries[newEntries.length - 1];
|
|
86
86
|
lastNewEntry.transactions.push(...entry.transactions);
|
|
87
|
+
lastNewEntry.lastSignature = entry.lastSignature;
|
|
87
88
|
bytesSinceLastSignature += entry.transactions.length;
|
|
88
89
|
}
|
|
89
90
|
}
|
|
91
|
+
newSessions[sessionID] = newEntries;
|
|
90
92
|
}
|
|
91
93
|
else {
|
|
92
94
|
return Either.right("nonContigous");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunksAndKnownStates.js","sourceRoot":"","sources":["../../src/storage/chunksAndKnownStates.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chunksAndKnownStates.js","sourceRoot":"","sources":["../../src/storage/chunksAndKnownStates.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/index.js
CHANGED
|
@@ -113,7 +113,7 @@ export class LSMStorage {
|
|
|
113
113
|
};
|
|
114
114
|
if (!coValue) {
|
|
115
115
|
if (newContent.header) {
|
|
116
|
-
console.log("Creating in WAL", newContent.id);
|
|
116
|
+
// console.log("Creating in WAL", newContent.id);
|
|
117
117
|
yield* this.withWAL((wal) => writeToWal(wal, this.fs, newContent.id, newContentAsChunk));
|
|
118
118
|
return {
|
|
119
119
|
...coValues,
|
|
@@ -132,14 +132,22 @@ export class LSMStorage {
|
|
|
132
132
|
// })
|
|
133
133
|
// )
|
|
134
134
|
// );
|
|
135
|
-
|
|
135
|
+
yield* Effect.logWarning("Incontiguous incoming update for " + newContent.id);
|
|
136
136
|
return coValues;
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
else {
|
|
140
140
|
const merged = mergeChunks(coValue, newContentAsChunk);
|
|
141
141
|
if (Either.isRight(merged)) {
|
|
142
|
-
yield* Effect.logWarning("Non-contigous new content for " + newContent.id)
|
|
142
|
+
yield* Effect.logWarning("Non-contigous new content for " + newContent.id, Object.entries(coValue.sessionEntries).map(([session, entries]) => entries.map((entry) => ({
|
|
143
|
+
session: session,
|
|
144
|
+
after: entry.after,
|
|
145
|
+
length: entry.transactions.length,
|
|
146
|
+
}))), Object.entries(newContentAsChunk.sessionEntries).map(([session, entries]) => entries.map((entry) => ({
|
|
147
|
+
session: session,
|
|
148
|
+
after: entry.after,
|
|
149
|
+
length: entry.transactions.length,
|
|
150
|
+
}))));
|
|
143
151
|
// yield* Effect.promise(() =>
|
|
144
152
|
// this.toLocalNode.write({
|
|
145
153
|
// action: "known",
|
|
@@ -150,7 +158,7 @@ export class LSMStorage {
|
|
|
150
158
|
return coValues;
|
|
151
159
|
}
|
|
152
160
|
else {
|
|
153
|
-
console.log("Appending to WAL", newContent.id);
|
|
161
|
+
// console.log("Appending to WAL", newContent.id);
|
|
154
162
|
yield* this.withWAL((wal) => writeToWal(wal, this.fs, newContent.id, newContentAsChunk));
|
|
155
163
|
return { ...coValues, [newContent.id]: merged.left };
|
|
156
164
|
}
|
|
@@ -166,6 +174,7 @@ export class LSMStorage {
|
|
|
166
174
|
for (const blockFile of blockFiles) {
|
|
167
175
|
let cachedHeader = this.headerCache.get(blockFile);
|
|
168
176
|
const { handle, size } = yield* fs.openToRead(blockFile);
|
|
177
|
+
// console.log("Attempting to load", id, blockFile);
|
|
169
178
|
if (!cachedHeader) {
|
|
170
179
|
cachedHeader = {};
|
|
171
180
|
const header = yield* readHeader(blockFile, handle, size, fs);
|
|
@@ -178,6 +187,7 @@ export class LSMStorage {
|
|
|
178
187
|
this.headerCache.set(blockFile, cachedHeader);
|
|
179
188
|
}
|
|
180
189
|
const headerEntry = cachedHeader[id];
|
|
190
|
+
// console.log("Header entry", id, headerEntry);
|
|
181
191
|
let result;
|
|
182
192
|
if (headerEntry) {
|
|
183
193
|
result = yield* readChunk(handle, headerEntry, fs);
|
|
@@ -194,7 +204,7 @@ export class LSMStorage {
|
|
|
194
204
|
const walFiles = fileNames.filter((name) => name.startsWith("wal-"));
|
|
195
205
|
walFiles.sort();
|
|
196
206
|
const coValues = new Map();
|
|
197
|
-
|
|
207
|
+
yield* Effect.log("Compacting WAL files", walFiles);
|
|
198
208
|
if (walFiles.length === 0)
|
|
199
209
|
return;
|
|
200
210
|
yield* SynchronizedRef.updateEffect(this.currentWal, (wal) => Effect.gen(this, function* () {
|
|
@@ -220,7 +230,7 @@ export class LSMStorage {
|
|
|
220
230
|
if (existingChunk) {
|
|
221
231
|
const merged = mergeChunks(existingChunk, chunk);
|
|
222
232
|
if (Either.isRight(merged)) {
|
|
223
|
-
|
|
233
|
+
yield* Effect.logWarning("Non-contigous chunks in " +
|
|
224
234
|
chunk.id +
|
|
225
235
|
", " +
|
|
226
236
|
fileName, existingChunk, chunk);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -118,20 +118,21 @@ export function writeBlock<WH, RH, FS extends FileSystem<WH, RH>>(
|
|
|
118
118
|
const headerBytes = textEncoder.encode(JSON.stringify(blockHeader));
|
|
119
119
|
yield* $(fs.append(file, headerBytes));
|
|
120
120
|
|
|
121
|
-
console.log(
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
);
|
|
121
|
+
// console.log(
|
|
122
|
+
// "full file",
|
|
123
|
+
// yield* $(
|
|
124
|
+
// fs.read(file as unknown as RH, 0, offset + headerBytes.length),
|
|
125
|
+
// ),
|
|
126
|
+
// );
|
|
127
127
|
|
|
128
128
|
const filename: BlockFilename = `${hash.digest()}-L${level}-H${
|
|
129
129
|
headerBytes.length
|
|
130
130
|
}.jsonl`;
|
|
131
|
-
console.log("renaming to" + filename);
|
|
131
|
+
// console.log("renaming to" + filename);
|
|
132
132
|
yield* $(fs.closeAndRename(file, filename));
|
|
133
133
|
|
|
134
|
-
console.log("Wrote block", filename, blockHeader);
|
|
134
|
+
// console.log("Wrote block", filename, blockHeader);
|
|
135
|
+
// console.log("IDs in block", blockHeader.map(e => e.id));
|
|
135
136
|
});
|
|
136
137
|
}
|
|
137
138
|
|
|
@@ -126,10 +126,12 @@ export function mergeChunks(
|
|
|
126
126
|
} else {
|
|
127
127
|
const lastNewEntry = newEntries[newEntries.length - 1]!;
|
|
128
128
|
lastNewEntry.transactions.push(...entry.transactions);
|
|
129
|
+
lastNewEntry.lastSignature = entry.lastSignature;
|
|
129
130
|
|
|
130
131
|
bytesSinceLastSignature += entry.transactions.length;
|
|
131
132
|
}
|
|
132
133
|
}
|
|
134
|
+
newSessions[sessionID] = newEntries;
|
|
133
135
|
} else {
|
|
134
136
|
return Either.right("nonContigous" as const);
|
|
135
137
|
}
|
package/src/storage/index.ts
CHANGED
|
@@ -232,7 +232,7 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
|
|
|
232
232
|
|
|
233
233
|
if (!coValue) {
|
|
234
234
|
if (newContent.header) {
|
|
235
|
-
console.log("Creating in WAL", newContent.id);
|
|
235
|
+
// console.log("Creating in WAL", newContent.id);
|
|
236
236
|
yield* this.withWAL((wal) =>
|
|
237
237
|
writeToWal(
|
|
238
238
|
wal,
|
|
@@ -258,7 +258,7 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
|
|
|
258
258
|
// })
|
|
259
259
|
// )
|
|
260
260
|
// );
|
|
261
|
-
|
|
261
|
+
yield* Effect.logWarning(
|
|
262
262
|
"Incontiguous incoming update for " + newContent.id,
|
|
263
263
|
);
|
|
264
264
|
return coValues;
|
|
@@ -268,6 +268,23 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
|
|
|
268
268
|
if (Either.isRight(merged)) {
|
|
269
269
|
yield* Effect.logWarning(
|
|
270
270
|
"Non-contigous new content for " + newContent.id,
|
|
271
|
+
Object.entries(coValue.sessionEntries).map(
|
|
272
|
+
([session, entries]) =>
|
|
273
|
+
entries.map((entry) => ({
|
|
274
|
+
session: session,
|
|
275
|
+
after: entry.after,
|
|
276
|
+
length: entry.transactions.length,
|
|
277
|
+
})),
|
|
278
|
+
),
|
|
279
|
+
Object.entries(
|
|
280
|
+
newContentAsChunk.sessionEntries,
|
|
281
|
+
).map(([session, entries]) =>
|
|
282
|
+
entries.map((entry) => ({
|
|
283
|
+
session: session,
|
|
284
|
+
after: entry.after,
|
|
285
|
+
length: entry.transactions.length,
|
|
286
|
+
})),
|
|
287
|
+
),
|
|
271
288
|
);
|
|
272
289
|
|
|
273
290
|
// yield* Effect.promise(() =>
|
|
@@ -280,7 +297,7 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
|
|
|
280
297
|
|
|
281
298
|
return coValues;
|
|
282
299
|
} else {
|
|
283
|
-
console.log("Appending to WAL", newContent.id);
|
|
300
|
+
// console.log("Appending to WAL", newContent.id);
|
|
284
301
|
yield* this.withWAL((wal) =>
|
|
285
302
|
writeToWal(
|
|
286
303
|
wal,
|
|
@@ -316,6 +333,8 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
|
|
|
316
333
|
|
|
317
334
|
const { handle, size } = yield* fs.openToRead(blockFile);
|
|
318
335
|
|
|
336
|
+
// console.log("Attempting to load", id, blockFile);
|
|
337
|
+
|
|
319
338
|
if (!cachedHeader) {
|
|
320
339
|
cachedHeader = {};
|
|
321
340
|
const header = yield* readHeader(
|
|
@@ -335,6 +354,8 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
|
|
|
335
354
|
}
|
|
336
355
|
const headerEntry = cachedHeader[id];
|
|
337
356
|
|
|
357
|
+
// console.log("Header entry", id, headerEntry);
|
|
358
|
+
|
|
338
359
|
let result;
|
|
339
360
|
if (headerEntry) {
|
|
340
361
|
result = yield* readChunk(handle, headerEntry, fs);
|
|
@@ -361,7 +382,7 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
|
|
|
361
382
|
|
|
362
383
|
const coValues = new Map<RawCoID, CoValueChunk>();
|
|
363
384
|
|
|
364
|
-
|
|
385
|
+
yield* Effect.log("Compacting WAL files", walFiles);
|
|
365
386
|
if (walFiles.length === 0) return;
|
|
366
387
|
|
|
367
388
|
yield* SynchronizedRef.updateEffect(this.currentWal, (wal) =>
|
|
@@ -374,7 +395,7 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
|
|
|
374
395
|
);
|
|
375
396
|
|
|
376
397
|
for (const fileName of walFiles) {
|
|
377
|
-
const { handle, size } =
|
|
398
|
+
const { handle, size }: { handle: RH; size: number } =
|
|
378
399
|
yield* this.fs.openToRead(fileName);
|
|
379
400
|
if (size === 0) {
|
|
380
401
|
yield* this.fs.close(handle);
|
|
@@ -394,7 +415,7 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
|
|
|
394
415
|
if (existingChunk) {
|
|
395
416
|
const merged = mergeChunks(existingChunk, chunk);
|
|
396
417
|
if (Either.isRight(merged)) {
|
|
397
|
-
|
|
418
|
+
yield* Effect.logWarning(
|
|
398
419
|
"Non-contigous chunks in " +
|
|
399
420
|
chunk.id +
|
|
400
421
|
", " +
|