Почему я получаю `[Ошибка: 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.

Я полагаю, что эта ошибка означает что-то вроде того, что ключ по какой-то причине недействителен, или что я пытаюсь вставить элемент с уже существующим ключом, но я не понимаю, как ключ может быть недействительным, и я уверен, что там не являются дубликатами.

0 ответов

Другие вопросы по тегам