Почему я получаю `[Ошибка: ambiguous_timeout]` при попытке группировать несколько вставок?
Я использую Couchbase NodeJs SDK. Я пытаюсь выполнить несколько вставок в Couchbase из массива, выполнив следующие действия:
import { connect } from "couchbase";
const cluster = await connect('...',
{
username: '...',
password: '...',
}
);
const bucket = cluster.bucket('mybucket');
const collection = bucket.collection('_default');
const promises = toInsert.map(x => collection.insert(x.id, x));
await Promise.all(promises);
но я продолжаю получать следующую ошибку для случайных элементов (я знаю это, потому чтоkey
от ошибки меняется каждый раз):
cause: [Error: ambiguous_timeout] {
ctxtype: 'key_value',
code: 13,
id: {
bucket: 'blocks',
scope: '_default',
collection: '_default',
key: 'f0afda771e965366da3e3f7d1cd581f093bfc28edf8c15ebfe836f033a32121d'
},
opaque: 2141,
cas: Cas { raw: [Buffer [Uint8Array]] },
status_code: undefined,
enhanced_error_info: undefined,
last_dispatched_to: '194.242.56.24:11210',
last_dispatched_from: '172.27.232.64:50488',
retry_attempts: 0,
retry_reasons: []
},
context: KeyValueErrorContext {
status_code: undefined,
opaque: 2141,
cas: Cas { raw: [Buffer [Uint8Array]] },
key: 'f0afda771e965366da3e3f7d1cd581f093bfc28edf8c15ebfe836f033a32121d',
bucket: 'blocks',
collection: '_default',
scope: '_default',
context: '',
ref: ''
}
еще более странно то, что я могу найти документ, даже если происходит ошибка. На самом деле, если я использую приведенный ниже код, все документы будут правильно вставлены:
import { connect } from "couchbase";
const cluster = await connect('...',
{
username: '...',
password: '...',
}
);
const bucket = cluster.bucket('mybucket');
const collection = bucket.collection('_default');
const promises = toInsert.map(async (x) => {
try {
await collection.insert(x.id, x)
} catch {}
});
await Promise.all(promises);
по каким причинам я могу получить эту ошибку? Я не смог найти ничего, связанного с этим, в документах Couchbase.
Я полагаю, что эта ошибка означает что-то вроде того, что ключ по какой-то причине недействителен, или что я пытаюсь вставить элемент с уже существующим ключом, но я не понимаю, как ключ может быть недействительным, и я уверен, что там не являются дубликатами.