#49968 Confusing CRITICAL message: list_candidates - NULL idl was recieved from filter_candidates_ext
Closed: fixed 2 years ago Opened 2 years ago by tbordaz.

Issue Description

When a filter component leads to empty IDL it may log the following message

CRIT - list_candidates - NULL idl was recieved from filter_candidates_ext.
CRIT - list_candidates - Falling back to empty IDL set. This may affect your search results.

This message is erroneously alarming because it is normal that a component uses an indexed attribute but no candidate matches the assertion

Package Version and Platform


Steps to reproduce

attached testcase with PR

Actual results

Critical messages logged

Expected results

They should not be logged

Metadata Update from @tbordaz:
- Custom field component adjusted to None
- Custom field origin adjusted to None
- Custom field reviewstatus adjusted to None
- Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1637439
- Custom field type adjusted to None
- Custom field version adjusted to None

2 years ago

Metadata Update from @tbordaz:
- Issue assigned to tbordaz

2 years ago

I think there is an actual error here though. I think I was the one who added the message, because we have an issue where with IDL we have no way to distinguish empty_idl from null/no idl. I wish I remembered why I added this error, but there is a potential issue here.

Metadata Update from @tbordaz:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

2 years ago

Okay, now that I'm looking at the comments, It's because NULL as a return is both an error code and an empty IDL. This is a problem with C confusing the function of the two, so we have no way to determine if this is an error, or empty. The danger with empty is that we now have a blank result in the IDL so the search may yield no or incorrect results, and we don't know.

Really, we should have error and idl result seperate.

bcb97d4..e87985c 389-ds-base-1.3.8 -> 389-ds-base-1.3.8

Login to comment on this ticket.