deeplake 0.2.4 → 0.2.5
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/browser/shared/inflight-tracker.d.ts +23 -0
- package/dist/browser/shared/inflight-tracker.d.ts.map +1 -0
- package/dist/browser/shared/inflight-tracker.js +47 -0
- package/dist/browser/shared/inflight-tracker.js.map +1 -0
- package/dist/browser/shared/wasm-common.d.ts +16 -0
- package/dist/browser/shared/wasm-common.d.ts.map +1 -1
- package/dist/browser/shared/wasm-common.js +30 -7
- package/dist/browser/shared/wasm-common.js.map +1 -1
- package/dist/node/node/storage.d.ts.map +1 -1
- package/dist/node/node/storage.js +20 -11
- package/dist/node/node/storage.js.map +1 -1
- package/dist/node/shared/inflight-tracker.d.ts +23 -0
- package/dist/node/shared/inflight-tracker.d.ts.map +1 -0
- package/dist/node/shared/inflight-tracker.js +51 -0
- package/dist/node/shared/inflight-tracker.js.map +1 -0
- package/dist/node/shared/wasm-common.d.ts +16 -0
- package/dist/node/shared/wasm-common.d.ts.map +1 -1
- package/dist/node/shared/wasm-common.js +30 -7
- package/dist/node/shared/wasm-common.js.map +1 -1
- package/package.json +1 -1
- package/wasm/browser/deeplake_browser.js +1 -1
- package/wasm/browser/deeplake_browser.wasm +0 -0
- package/wasm/node/deeplake_node.js +26 -0
- package/wasm/node/deeplake_node.wasm +0 -0
- package/wasm/node/deeplake_node.worker.js +5 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-flight storage operation tracker.
|
|
3
|
+
*
|
|
4
|
+
* Every storage callback (download, list, exists, ...) clones a WASM
|
|
5
|
+
* completion object and invokes it asynchronously. Between clone() and
|
|
6
|
+
* delete() the C++ side holds pointers into the WASM function table.
|
|
7
|
+
* deeplakeRelease() must wait for all in-flight callbacks to finish
|
|
8
|
+
* before calling obj.delete() on the dataset handle, otherwise the
|
|
9
|
+
* destructor frees the C++ objects while callbacks are still registered
|
|
10
|
+
* ("null function or function signature mismatch").
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Wrap completion.clone() with in-flight tracking.
|
|
14
|
+
* The returned object's .delete() method decrements the counter and
|
|
15
|
+
* fires any registered drain callbacks when the count reaches zero.
|
|
16
|
+
*/
|
|
17
|
+
export declare function trackClone(completion: any): any;
|
|
18
|
+
/**
|
|
19
|
+
* Register a callback that fires when all in-flight storage operations
|
|
20
|
+
* have completed. If none are in flight, the callback fires immediately.
|
|
21
|
+
*/
|
|
22
|
+
export declare function onDrained(cb: () => void): void;
|
|
23
|
+
//# sourceMappingURL=inflight-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inflight-tracker.d.ts","sourceRoot":"","sources":["../../../src/shared/inflight-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,CAc/C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAM9C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-flight storage operation tracker.
|
|
3
|
+
*
|
|
4
|
+
* Every storage callback (download, list, exists, ...) clones a WASM
|
|
5
|
+
* completion object and invokes it asynchronously. Between clone() and
|
|
6
|
+
* delete() the C++ side holds pointers into the WASM function table.
|
|
7
|
+
* deeplakeRelease() must wait for all in-flight callbacks to finish
|
|
8
|
+
* before calling obj.delete() on the dataset handle, otherwise the
|
|
9
|
+
* destructor frees the C++ objects while callbacks are still registered
|
|
10
|
+
* ("null function or function signature mismatch").
|
|
11
|
+
*/
|
|
12
|
+
let _inFlightCount = 0;
|
|
13
|
+
let _drainCallbacks = [];
|
|
14
|
+
/**
|
|
15
|
+
* Wrap completion.clone() with in-flight tracking.
|
|
16
|
+
* The returned object's .delete() method decrements the counter and
|
|
17
|
+
* fires any registered drain callbacks when the count reaches zero.
|
|
18
|
+
*/
|
|
19
|
+
export function trackClone(completion) {
|
|
20
|
+
const c1 = completion.clone();
|
|
21
|
+
_inFlightCount++;
|
|
22
|
+
const origDelete = c1.delete.bind(c1);
|
|
23
|
+
c1.delete = () => {
|
|
24
|
+
origDelete();
|
|
25
|
+
_inFlightCount--;
|
|
26
|
+
if (_inFlightCount === 0 && _drainCallbacks.length > 0) {
|
|
27
|
+
const cbs = _drainCallbacks;
|
|
28
|
+
_drainCallbacks = [];
|
|
29
|
+
for (const cb of cbs)
|
|
30
|
+
cb();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
return c1;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Register a callback that fires when all in-flight storage operations
|
|
37
|
+
* have completed. If none are in flight, the callback fires immediately.
|
|
38
|
+
*/
|
|
39
|
+
export function onDrained(cb) {
|
|
40
|
+
if (_inFlightCount === 0) {
|
|
41
|
+
cb();
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
_drainCallbacks.push(cb);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=inflight-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inflight-tracker.js","sourceRoot":"","sources":["../../../src/shared/inflight-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,IAAI,cAAc,GAAG,CAAC,CAAC;AACvB,IAAI,eAAe,GAAmB,EAAE,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,UAAe;IACxC,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;IAC9B,cAAc,EAAE,CAAC;IACjB,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;QACf,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,CAAC;QACjB,IAAI,cAAc,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,eAAe,CAAC;YAC5B,eAAe,GAAG,EAAE,CAAC;YACrB,KAAK,MAAM,EAAE,IAAI,GAAG;gBAAE,EAAE,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IACF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EAAc;IACtC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,EAAE,EAAE,CAAC;IACP,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
|
|
@@ -35,5 +35,21 @@ export declare function deeplakeSetRow(dataset: any, rowIndex: number, data: Rec
|
|
|
35
35
|
* rowId is bigint because DeepLake row IDs use the full int64 range.
|
|
36
36
|
*/
|
|
37
37
|
export declare function deeplakeGetSampleByRef(dataset: any, columnId: number, rowId: bigint): Promise<any>;
|
|
38
|
+
/**
|
|
39
|
+
* Release a WASM dataset handle.
|
|
40
|
+
*
|
|
41
|
+
* Destruction is deferred until all in-flight storage operations have
|
|
42
|
+
* completed. The C++ deeplog layer may still have background async
|
|
43
|
+
* operations (reading next_base, listing _meta/) that hold shared_ptrs
|
|
44
|
+
* to the storage reader. Those operations invoke JS callbacks through
|
|
45
|
+
* the WASM function table. If we call obj.delete() while callbacks are
|
|
46
|
+
* still registered, the Emscripten destructor frees the C++ objects and
|
|
47
|
+
* the next callback invocation crashes with "null function or function
|
|
48
|
+
* signature mismatch".
|
|
49
|
+
*
|
|
50
|
+
* Instead of a fixed timeout, we use the in-flight operation counter
|
|
51
|
+
* maintained by the storage layer. onDrained() fires the callback as
|
|
52
|
+
* soon as the counter reaches zero (immediately if already zero).
|
|
53
|
+
*/
|
|
38
54
|
export declare function deeplakeRelease(obj: any): void;
|
|
39
55
|
//# sourceMappingURL=wasm-common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-common.d.ts","sourceRoot":"","sources":["../../../src/shared/wasm-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"wasm-common.d.ts","sourceRoot":"","sources":["../../../src/shared/wasm-common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { onDrained } from './inflight-tracker';
|
|
1
2
|
let wasmModule = null;
|
|
2
3
|
export function setWasmModule(mod) {
|
|
3
4
|
wasmModule = mod;
|
|
@@ -274,14 +275,36 @@ export function deeplakeGetSampleByRef(dataset, columnId, rowId) {
|
|
|
274
275
|
});
|
|
275
276
|
});
|
|
276
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Release a WASM dataset handle.
|
|
280
|
+
*
|
|
281
|
+
* Destruction is deferred until all in-flight storage operations have
|
|
282
|
+
* completed. The C++ deeplog layer may still have background async
|
|
283
|
+
* operations (reading next_base, listing _meta/) that hold shared_ptrs
|
|
284
|
+
* to the storage reader. Those operations invoke JS callbacks through
|
|
285
|
+
* the WASM function table. If we call obj.delete() while callbacks are
|
|
286
|
+
* still registered, the Emscripten destructor frees the C++ objects and
|
|
287
|
+
* the next callback invocation crashes with "null function or function
|
|
288
|
+
* signature mismatch".
|
|
289
|
+
*
|
|
290
|
+
* Instead of a fixed timeout, we use the in-flight operation counter
|
|
291
|
+
* maintained by the storage layer. onDrained() fires the callback as
|
|
292
|
+
* soon as the counter reaches zero (immediately if already zero).
|
|
293
|
+
*/
|
|
277
294
|
export function deeplakeRelease(obj) {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
295
|
+
if (!obj || typeof obj.delete !== 'function')
|
|
296
|
+
return;
|
|
297
|
+
// Capture and detach the delete method to prevent double-release if
|
|
298
|
+
// the caller (or another code path) invokes deeplakeRelease again.
|
|
299
|
+
const deleteFn = obj.delete.bind(obj);
|
|
300
|
+
obj.delete = undefined;
|
|
301
|
+
onDrained(() => {
|
|
302
|
+
try {
|
|
303
|
+
deleteFn();
|
|
281
304
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
}
|
|
305
|
+
catch {
|
|
306
|
+
// ignore cleanup errors
|
|
307
|
+
}
|
|
308
|
+
});
|
|
286
309
|
}
|
|
287
310
|
//# sourceMappingURL=wasm-common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-common.js","sourceRoot":"","sources":["../../../src/shared/wasm-common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wasm-common.js","sourceRoot":"","sources":["../../../src/shared/wasm-common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/node/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/node/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAwKH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,GAAG,IAEhD,MAAM,MAAM,EACZ,QAAQ,GAAG,EACX,OAAO,MAAM,KACZ,GAAG,CA8FP"}
|
|
@@ -137,6 +137,7 @@ function resolveApiEndpoint(wasmModule) {
|
|
|
137
137
|
}
|
|
138
138
|
return 'https://app.activeloop.ai';
|
|
139
139
|
}
|
|
140
|
+
const inflight_tracker_1 = require("../shared/inflight-tracker");
|
|
140
141
|
// Registry to prevent V8 GC from collecting JS objects that are only
|
|
141
142
|
// referenced by emscripten::val handles in C++ WASM code.
|
|
142
143
|
const _liveObjects = new Set();
|
|
@@ -244,7 +245,7 @@ function createGetter(rotatingClient, wasmModule) {
|
|
|
244
245
|
const getter = {
|
|
245
246
|
generateGetPresignedUrl(key, completion) {
|
|
246
247
|
key = removeScheme(key);
|
|
247
|
-
const c1 =
|
|
248
|
+
const c1 = (0, inflight_tracker_1.trackClone)(completion);
|
|
248
249
|
const [bucket, objKey] = splitBucketKey(key);
|
|
249
250
|
rotatingClient.getClient().then((client) => (0, s3_request_presigner_1.getSignedUrl)(client, new client_s3_1.GetObjectCommand({ Bucket: bucket, Key: objKey }), {
|
|
250
251
|
expiresIn: 3600,
|
|
@@ -260,7 +261,7 @@ function createGetter(rotatingClient, wasmModule) {
|
|
|
260
261
|
},
|
|
261
262
|
exists(key, completion) {
|
|
262
263
|
key = removeScheme(key);
|
|
263
|
-
const c1 =
|
|
264
|
+
const c1 = (0, inflight_tracker_1.trackClone)(completion);
|
|
264
265
|
const [bucket, objKey] = splitBucketKey(key);
|
|
265
266
|
if (debug) {
|
|
266
267
|
console.log(`[storage:exists] bucket=${bucket} key=${objKey}`);
|
|
@@ -278,7 +279,7 @@ function createGetter(rotatingClient, wasmModule) {
|
|
|
278
279
|
},
|
|
279
280
|
download(key, range, index, completion) {
|
|
280
281
|
key = removeScheme(key);
|
|
281
|
-
const c1 =
|
|
282
|
+
const c1 = (0, inflight_tracker_1.trackClone)(completion);
|
|
282
283
|
const [bucket, objKey] = splitBucketKey(key);
|
|
283
284
|
if (debug) {
|
|
284
285
|
console.log(`[storage:read] bucket=${bucket} key=${objKey} range=${range || 'none'}`);
|
|
@@ -304,9 +305,17 @@ function createGetter(rotatingClient, wasmModule) {
|
|
|
304
305
|
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
305
306
|
}
|
|
306
307
|
const buffer = Buffer.concat(chunks);
|
|
307
|
-
// Write into WASM memory
|
|
308
|
-
|
|
309
|
-
|
|
308
|
+
// Write into WASM memory.
|
|
309
|
+
//
|
|
310
|
+
// provideResponseBufferPtr() returns the raw WASM linear-
|
|
311
|
+
// memory pointer as a plain integer. Unlike the typed_memory_view
|
|
312
|
+
// returned by provideResponseBuffer(), a plain number cannot
|
|
313
|
+
// be invalidated by memory.grow() — it is just an offset.
|
|
314
|
+
// We then create a fresh Uint8Array view over the current
|
|
315
|
+
// HEAPU8 buffer at that offset.
|
|
316
|
+
const ptr = wasmModule.provideResponseBufferPtr(index, buffer.length);
|
|
317
|
+
const freshView = new Uint8Array(wasmModule.HEAPU8.buffer, ptr, buffer.length);
|
|
318
|
+
freshView.set(buffer);
|
|
310
319
|
c1.call({ responseCode: 200 });
|
|
311
320
|
c1.delete();
|
|
312
321
|
})
|
|
@@ -323,7 +332,7 @@ function createGetter(rotatingClient, wasmModule) {
|
|
|
323
332
|
wasmModule.storeJsObject(index, { abort() { } });
|
|
324
333
|
},
|
|
325
334
|
list(root, key, startAfter, completion) {
|
|
326
|
-
const c1 =
|
|
335
|
+
const c1 = (0, inflight_tracker_1.trackClone)(completion);
|
|
327
336
|
const [bucket, prefix] = splitBucketPrefix(root);
|
|
328
337
|
if (debug) {
|
|
329
338
|
console.log(`[storage:list] bucket=${bucket} prefix=${prefix} key=${key}`);
|
|
@@ -363,7 +372,7 @@ function createGetter(rotatingClient, wasmModule) {
|
|
|
363
372
|
});
|
|
364
373
|
},
|
|
365
374
|
listDirs(root, prefix, completion) {
|
|
366
|
-
const c1 =
|
|
375
|
+
const c1 = (0, inflight_tracker_1.trackClone)(completion);
|
|
367
376
|
const [bucket, rootPrefix] = splitBucketPrefix(root);
|
|
368
377
|
const finalPrefix = (rootPrefix.endsWith('/') ? rootPrefix : `${rootPrefix}/`) + prefix;
|
|
369
378
|
rotatingClient.getClient().then((client) => client
|
|
@@ -383,7 +392,7 @@ function createGetter(rotatingClient, wasmModule) {
|
|
|
383
392
|
}));
|
|
384
393
|
},
|
|
385
394
|
metadata(root, key, completion) {
|
|
386
|
-
const c1 =
|
|
395
|
+
const c1 = (0, inflight_tracker_1.trackClone)(completion);
|
|
387
396
|
const [bucket, prefix] = splitBucketPrefix(root);
|
|
388
397
|
const finalPrefix = (prefix.endsWith('/') ? prefix : `${prefix}/`) + key;
|
|
389
398
|
rotatingClient.getClient().then((client) => client
|
|
@@ -425,7 +434,7 @@ function createWriter(rotatingClient, wasmModule) {
|
|
|
425
434
|
const writer = {
|
|
426
435
|
saveWithCompletion(key, content, completion) {
|
|
427
436
|
key = removeScheme(key);
|
|
428
|
-
const c1 =
|
|
437
|
+
const c1 = (0, inflight_tracker_1.trackClone)(completion);
|
|
429
438
|
const [bucket, objKey] = splitBucketKey(key);
|
|
430
439
|
if (debug) {
|
|
431
440
|
const size = typeof content === 'string' ? content.length : content.byteLength;
|
|
@@ -453,7 +462,7 @@ function createWriter(rotatingClient, wasmModule) {
|
|
|
453
462
|
},
|
|
454
463
|
remove(key, completion) {
|
|
455
464
|
key = removeScheme(key);
|
|
456
|
-
const c1 =
|
|
465
|
+
const c1 = (0, inflight_tracker_1.trackClone)(completion);
|
|
457
466
|
const [bucket, objKey] = splitBucketKey(key);
|
|
458
467
|
rotatingClient.getClient().then((client) => client
|
|
459
468
|
.send(new client_s3_1.DeleteObjectCommand({ Bucket: bucket, Key: objKey }))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/node/storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/node/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-flight storage operation tracker.
|
|
3
|
+
*
|
|
4
|
+
* Every storage callback (download, list, exists, ...) clones a WASM
|
|
5
|
+
* completion object and invokes it asynchronously. Between clone() and
|
|
6
|
+
* delete() the C++ side holds pointers into the WASM function table.
|
|
7
|
+
* deeplakeRelease() must wait for all in-flight callbacks to finish
|
|
8
|
+
* before calling obj.delete() on the dataset handle, otherwise the
|
|
9
|
+
* destructor frees the C++ objects while callbacks are still registered
|
|
10
|
+
* ("null function or function signature mismatch").
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Wrap completion.clone() with in-flight tracking.
|
|
14
|
+
* The returned object's .delete() method decrements the counter and
|
|
15
|
+
* fires any registered drain callbacks when the count reaches zero.
|
|
16
|
+
*/
|
|
17
|
+
export declare function trackClone(completion: any): any;
|
|
18
|
+
/**
|
|
19
|
+
* Register a callback that fires when all in-flight storage operations
|
|
20
|
+
* have completed. If none are in flight, the callback fires immediately.
|
|
21
|
+
*/
|
|
22
|
+
export declare function onDrained(cb: () => void): void;
|
|
23
|
+
//# sourceMappingURL=inflight-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inflight-tracker.d.ts","sourceRoot":"","sources":["../../../src/shared/inflight-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,CAc/C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAM9C"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* In-flight storage operation tracker.
|
|
4
|
+
*
|
|
5
|
+
* Every storage callback (download, list, exists, ...) clones a WASM
|
|
6
|
+
* completion object and invokes it asynchronously. Between clone() and
|
|
7
|
+
* delete() the C++ side holds pointers into the WASM function table.
|
|
8
|
+
* deeplakeRelease() must wait for all in-flight callbacks to finish
|
|
9
|
+
* before calling obj.delete() on the dataset handle, otherwise the
|
|
10
|
+
* destructor frees the C++ objects while callbacks are still registered
|
|
11
|
+
* ("null function or function signature mismatch").
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.trackClone = trackClone;
|
|
15
|
+
exports.onDrained = onDrained;
|
|
16
|
+
let _inFlightCount = 0;
|
|
17
|
+
let _drainCallbacks = [];
|
|
18
|
+
/**
|
|
19
|
+
* Wrap completion.clone() with in-flight tracking.
|
|
20
|
+
* The returned object's .delete() method decrements the counter and
|
|
21
|
+
* fires any registered drain callbacks when the count reaches zero.
|
|
22
|
+
*/
|
|
23
|
+
function trackClone(completion) {
|
|
24
|
+
const c1 = completion.clone();
|
|
25
|
+
_inFlightCount++;
|
|
26
|
+
const origDelete = c1.delete.bind(c1);
|
|
27
|
+
c1.delete = () => {
|
|
28
|
+
origDelete();
|
|
29
|
+
_inFlightCount--;
|
|
30
|
+
if (_inFlightCount === 0 && _drainCallbacks.length > 0) {
|
|
31
|
+
const cbs = _drainCallbacks;
|
|
32
|
+
_drainCallbacks = [];
|
|
33
|
+
for (const cb of cbs)
|
|
34
|
+
cb();
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
return c1;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Register a callback that fires when all in-flight storage operations
|
|
41
|
+
* have completed. If none are in flight, the callback fires immediately.
|
|
42
|
+
*/
|
|
43
|
+
function onDrained(cb) {
|
|
44
|
+
if (_inFlightCount === 0) {
|
|
45
|
+
cb();
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
_drainCallbacks.push(cb);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=inflight-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inflight-tracker.js","sourceRoot":"","sources":["../../../src/shared/inflight-tracker.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAUH,gCAcC;AAMD,8BAMC;AAlCD,IAAI,cAAc,GAAG,CAAC,CAAC;AACvB,IAAI,eAAe,GAAmB,EAAE,CAAC;AAEzC;;;;GAIG;AACH,SAAgB,UAAU,CAAC,UAAe;IACxC,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;IAC9B,cAAc,EAAE,CAAC;IACjB,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;QACf,UAAU,EAAE,CAAC;QACb,cAAc,EAAE,CAAC;QACjB,IAAI,cAAc,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,eAAe,CAAC;YAC5B,eAAe,GAAG,EAAE,CAAC;YACrB,KAAK,MAAM,EAAE,IAAI,GAAG;gBAAE,EAAE,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IACF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAgB,SAAS,CAAC,EAAc;IACtC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,EAAE,EAAE,CAAC;IACP,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC"}
|
|
@@ -35,5 +35,21 @@ export declare function deeplakeSetRow(dataset: any, rowIndex: number, data: Rec
|
|
|
35
35
|
* rowId is bigint because DeepLake row IDs use the full int64 range.
|
|
36
36
|
*/
|
|
37
37
|
export declare function deeplakeGetSampleByRef(dataset: any, columnId: number, rowId: bigint): Promise<any>;
|
|
38
|
+
/**
|
|
39
|
+
* Release a WASM dataset handle.
|
|
40
|
+
*
|
|
41
|
+
* Destruction is deferred until all in-flight storage operations have
|
|
42
|
+
* completed. The C++ deeplog layer may still have background async
|
|
43
|
+
* operations (reading next_base, listing _meta/) that hold shared_ptrs
|
|
44
|
+
* to the storage reader. Those operations invoke JS callbacks through
|
|
45
|
+
* the WASM function table. If we call obj.delete() while callbacks are
|
|
46
|
+
* still registered, the Emscripten destructor frees the C++ objects and
|
|
47
|
+
* the next callback invocation crashes with "null function or function
|
|
48
|
+
* signature mismatch".
|
|
49
|
+
*
|
|
50
|
+
* Instead of a fixed timeout, we use the in-flight operation counter
|
|
51
|
+
* maintained by the storage layer. onDrained() fires the callback as
|
|
52
|
+
* soon as the counter reaches zero (immediately if already zero).
|
|
53
|
+
*/
|
|
38
54
|
export declare function deeplakeRelease(obj: any): void;
|
|
39
55
|
//# sourceMappingURL=wasm-common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-common.d.ts","sourceRoot":"","sources":["../../../src/shared/wasm-common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"wasm-common.d.ts","sourceRoot":"","sources":["../../../src/shared/wasm-common.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ exports.deeplakeSetField = deeplakeSetField;
|
|
|
21
21
|
exports.deeplakeSetRow = deeplakeSetRow;
|
|
22
22
|
exports.deeplakeGetSampleByRef = deeplakeGetSampleByRef;
|
|
23
23
|
exports.deeplakeRelease = deeplakeRelease;
|
|
24
|
+
const inflight_tracker_1 = require("./inflight-tracker");
|
|
24
25
|
let wasmModule = null;
|
|
25
26
|
function setWasmModule(mod) {
|
|
26
27
|
wasmModule = mod;
|
|
@@ -297,14 +298,36 @@ function deeplakeGetSampleByRef(dataset, columnId, rowId) {
|
|
|
297
298
|
});
|
|
298
299
|
});
|
|
299
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* Release a WASM dataset handle.
|
|
303
|
+
*
|
|
304
|
+
* Destruction is deferred until all in-flight storage operations have
|
|
305
|
+
* completed. The C++ deeplog layer may still have background async
|
|
306
|
+
* operations (reading next_base, listing _meta/) that hold shared_ptrs
|
|
307
|
+
* to the storage reader. Those operations invoke JS callbacks through
|
|
308
|
+
* the WASM function table. If we call obj.delete() while callbacks are
|
|
309
|
+
* still registered, the Emscripten destructor frees the C++ objects and
|
|
310
|
+
* the next callback invocation crashes with "null function or function
|
|
311
|
+
* signature mismatch".
|
|
312
|
+
*
|
|
313
|
+
* Instead of a fixed timeout, we use the in-flight operation counter
|
|
314
|
+
* maintained by the storage layer. onDrained() fires the callback as
|
|
315
|
+
* soon as the counter reaches zero (immediately if already zero).
|
|
316
|
+
*/
|
|
300
317
|
function deeplakeRelease(obj) {
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
318
|
+
if (!obj || typeof obj.delete !== 'function')
|
|
319
|
+
return;
|
|
320
|
+
// Capture and detach the delete method to prevent double-release if
|
|
321
|
+
// the caller (or another code path) invokes deeplakeRelease again.
|
|
322
|
+
const deleteFn = obj.delete.bind(obj);
|
|
323
|
+
obj.delete = undefined;
|
|
324
|
+
(0, inflight_tracker_1.onDrained)(() => {
|
|
325
|
+
try {
|
|
326
|
+
deleteFn();
|
|
304
327
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
}
|
|
328
|
+
catch {
|
|
329
|
+
// ignore cleanup errors
|
|
330
|
+
}
|
|
331
|
+
});
|
|
309
332
|
}
|
|
310
333
|
//# sourceMappingURL=wasm-common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wasm-common.js","sourceRoot":"","sources":["../../../src/shared/wasm-common.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"wasm-common.js","sourceRoot":"","sources":["../../../src/shared/wasm-common.ts"],"names":[],"mappings":"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"}
|