Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
shiv0408 opened this issue Mar 7, 2024 · 7 comments
Assignees
Labels
enhancement Enhancement or improvement to existing feature or request good first issue Good for newcomers ingest-pipeline

Comments

@shiv0408
Copy link
Member

shiv0408 commented Mar 7, 2024

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

@shiv0408 shiv0408 added enhancement Enhancement or improvement to existing feature or request untriaged labels Mar 7, 2024
@github-actions github-actions bot added the Indexing Indexing, Bulk Indexing and anything related to indexing label Mar 7, 2024
@andrross
Copy link
Member

[Triage - attendees 1 2 3]
@shiv0408 Thanks for filing this issue. Sounds like a good improvement.

@andrross andrross added good first issue Good for newcomers and removed untriaged labels Mar 13, 2024
@nicdard
Copy link

nicdard commented Mar 21, 2024

@andrross I would like to work on this if it is still available

@shiv0408
Copy link
Member Author

@nicdard Sure, please go ahead.

@vikasvb90 vikasvb90 added ingest-pipeline and removed Indexing Indexing, Bulk Indexing and anything related to indexing labels Mar 27, 2024
@andrross
Copy link
Member

andrross commented Apr 5, 2024

@nicdard I've assigned this to you if you're still interested in working on it

@nicdard
Copy link

nicdard commented Apr 8, 2024

@andrross thanks yes I am still interested, could you however please specify better what data you were thinking to log here?

@andrross
Copy link
Member

@shiv0408 can you answer @nicdard's question?

@shiv0408
Copy link
Member Author

@nicdard I am thinking that we should just log the name of failed process along with the exception but if ignoreFailure is true maybe add that we are going to move to next processor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement or improvement to existing feature or request good first issue Good for newcomers ingest-pipeline
Projects
None yet
Development

No branches or pull requests

4 participants