Skip to content

[Feature Request] Add granular logging for ingest pipeline processor failure #12553

Open
@shiv0408

Description

@shiv0408

Is your feature request related to a problem? Please describe

Currently, within the OpenSearch project, the logging mechanism for failures in the ingest pipeline processors lacks granularity, we only have failure metric count. As a result, troubleshooting and debugging issues related to failed processors become cumbersome and inefficient for developers and administrators.

processor.execute(ingestDocument, (result, e) -> {
long ingestTimeInMillis = TimeUnit.NANOSECONDS.toMillis(relativeTimeProvider.getAsLong() - startTimeInNanos);
metric.after(ingestTimeInMillis);
if (e != null) {
metric.failed();
if (ignoreFailure) {
innerExecute(currentProcessor + 1, ingestDocument, handler);
} else {
IngestProcessorException compoundProcessorException = newCompoundProcessorException(e, processor, ingestDocument);
if (onFailureProcessors.isEmpty()) {
handler.accept(null, compoundProcessorException);
} else {
executeOnFailureAsync(0, ingestDocument, compoundProcessorException, handler);
}
}
} else {
if (result != null) {
innerExecute(currentProcessor + 1, result, handler);
} else {
handler.accept(null, null);
}
}

Describe the solution you'd like

We propose adding a debug level logging feature dedicated to capturing detailed information about failures occurring within ingest pipeline processors.

Related component

Indexing

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions