abhigyanpatwari/GitNexus · error

The LadybugDB buffer pool (${poolLabel}) was exhausted durin

Error message

The LadybugDB buffer pool (${poolLabel}) was exhausted during the bulk COPY.${pageNote} Set GITNEXUS_LBUG_BUFFER_POOL_SIZE=<bytes> to raise it (e.g. ${4 * 1024 * 1024 * 1024} for 4 GiB); 0 restores LadybugDB's native 80%-of-RAM default.

What it means

Error "The LadybugDB buffer pool (${poolLabel}) was exhausted during the bulk COPY.${pageNote} Set GITNEXUS_LBUG_BUFFER_POOL_SIZE=<bytes> to raise it (e.g. ${4 * 1024 * 1024 * 1024} for 4 GiB); 0 restores LadybugDB's native 80%-of-RAM default." thrown in abhigyanpatwari/GitNexus.

Source

Thrown at gitnexus/src/core/lbug/lbug-adapter.ts:1293

      // Use the captured `writeConn` (not the module-level `conn`) for the rel
      // COPY, matching the node COPY above — one captured reference for the whole
      // bulk load (#2264 review P3). Same object during analyze (`conn` is only
      // reassigned at open/close under the session lock, never mid-load), so the
      // queryAndDrain `targetConn === conn` lock gate still engages.
      await copyCsvWithRetry(writeConn, copyQuery, (retryErr) => {
        const retryMsg = retryErr instanceof Error ? retryErr.message : String(retryErr);
        warnings.push(`${fromLabel}->${toLabel} (${rows} edges): ${retryMsg.slice(0, 80)}`);
        // One remedy per bulk load, not per pair (#2631): pool exhaustion
        // repeats for every remaining pair once it starts. logger.warn, not
        // just warnings.push — the returned warnings array has no consumer at
        // any call site, so a push alone would leave the remedy invisible
        // while the row-by-row fallback quietly degrades the load.
        const remedy = poolRemedyIssued ? undefined : bufferPoolExhaustionRemedy(retryMsg);
        if (remedy) {
          poolRemedyIssued = true;
          warnings.push(remedy);
          logger.warn(remedy);
        }
        failedPairEdges += rows;
        failedPairCsvPaths.add(pairCsvPath);
      });
      // Only delete if not in failedPairCsvPaths (needed for fallback)
      if (!failedPairCsvPaths.has(pairCsvPath)) {
        try {
          await fs.unlink(pairCsvPath);
        } catch {}
      }
    }
    tCopyRels = mark();

    if (failedPairCsvPaths.size > 0) {
      log(`Inserting ${failedPairEdges} edges individually (missing schema pairs)`);
      // Read failed pair files and merge for fallback inserts
      const allLines: string[] = [relHeader];
      for (const failedPath of failedPairCsvPaths) {

View on GitHub (pinned to 0d1aed942f)

When it happens

Trigger: Thrown at gitnexus/src/core/lbug/lbug-adapter.ts:1306 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of abhigyanpatwari/GitNexus@0d1aed942f (2026-08-20). Data as JSON: /api/errors/501b37808bd598ed. Report an issue: GitHub.