perf(import): parallelize ID allocation and raise clone concurrency to 10
CI / check (push) Successful in 27s
CI / release (push) Skipped
CI / deploy (push) Successful in 41s

Replace the serialized SELECT MAX + INSERT id-allocation chains for
items_base and catalog_items with a lazy-seeded in-process counter so
concurrent clone workers no longer queue on a global lock per item.
Re-seeds after 60s idle to avoid colliding with externally added rows.
Raise the clone import concurrency default from 6 to the batch cap of 10.
This commit is contained in:
openhands committed 2026-08-05 11:37:17 +02:00
1 parent 742536820a
commit 172941c542
8 files changed
+144 -52

No files matched your search

@@ -67,7 +67,7 @@ export const POST = withAdmin(
return runSseBatch<BatchItem>({
items,
concurrency: body.concurrency || 6,
concurrency: body.concurrency || 10,
signal: request.signal,
labelOf: (it) => it.classname,
worker: async (it, _index, report) => {
@@ -108,7 +108,7 @@ export const POST = withAdmin(
return runSseBatch({
items: allItems,
concurrency: 6,
concurrency: 10,
signal: request.signal,
labelOf: (it) => `${it.sourceName}/${it.classname}`,
worker: async (it, _index, report) => {