Node-js: client.helpers.bulk() : get errors on fail?

Versions (relevant - OpenSearch/Dashboard/Server OS/Browser): 2.7.x

Describe the issue:

Consider a code:

   try {
      var response = await this.client.helpers.bulk({
        datasource: upserts,
        onDocument(upsert) {
          const { indexName, docId, routing, upsertDoc } = upsert;
          return [
            {
              update: { _index: indexName, _id: docId, routing },
            },
            { doc: upsertDoc, doc_as_upsert: true },
          ];
        },
      });

I get reply:

[1683207618971] DEBUG (1547491 on localhost.localdomain):   kaijs:opensearch  [I] Result of bulk action: {
  kaijs:opensearch   total: 100,
  kaijs:opensearch   failed: 54,
  kaijs:opensearch   retry: 0,
  kaijs:opensearch   successful: 46,
  kaijs:opensearch   noop: 0,
  kaijs:opensearch   time: 1200,
  kaijs:opensearch   bytes: 430884,
  kaijs:opensearch   aborted: false
  kaijs:opensearch } +1s

How to get any insight why bulk operation has failed ?

Retry doesn’t help.

Solved with direct call client.bulk:

try {
      const body = _.flatMap(upserts, (upsert) => [
        {
          update: {
            _index: upsert.indexName,
            _id: upsert.docId,
            routing: upsert.routing,
          },
        },
        { doc: upsert.upsertDoc, doc_as_upsert: true },
      ]);
      const { body: response } = await this.client.bulk({ body });
      this.log('Result of bulk action: %O', printify(response));
      assert(response.errors === false, 'Error in bulk operation.');
    } catch (err) {

Would you consider submitting this as a documentation improvement?

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.