This query https://bugzilla.redhat.com/buglist.cgi?bug_severity=medium&bug_severity=low&bug_status=NEW&bug_status=ASSIGNED&classification=Red%20Hat&f1=flagtypes.name&f2=ext_bz_bug_map.ext_bz_bug_id&list_id=3396596&o1=substring&product=Red%20Hat%20Satellite%206&query_format=advanced&v1=sat-6.1.0 returns (today) 612 bugs. If I add an advanced search on external bug urls being not empty https://bugzilla.redhat.com/buglist.cgi?bug_severity=medium&bug_severity=low&bug_status=NEW&bug_status=ASSIGNED&classification=Red%20Hat&f1=flagtypes.name&f2=ext_bz_bug_map.ext_bz_bug_id&list_id=3396658&o1=substring&o2=isnotempty&product=Red%20Hat%20Satellite%206&query_format=advanced&v1=sat-6.1.0 I get 154 bugs. If I invert this and look for empty https://bugzilla.redhat.com/buglist.cgi?bug_severity=medium&bug_severity=low&bug_status=NEW&bug_status=ASSIGNED&classification=Red%20Hat&f1=flagtypes.name&f2=ext_bz_bug_map.ext_bz_bug_id&list_id=3396659&o1=substring&o2=isempty&product=Red%20Hat%20Satellite%206&query_format=advanced&v1=sat-6.1.0 I get zero bugs. These last two should add up to equal 612 bugs.
I see significantly fewer bugs due to permissions, but I can reproduce this issue. Most likely it's a regression related to Bug 1205491. We'll add this issue to our current sprint. In the meantime, you should be able to work around the problem by changing the last line of the custom search from "External Bug ID - is empty" to "Not - External Bug Id - is not empty".
It's not related to Bug 1205491 nor is it a regression. The code has always functioned this way. As Jason says, the way to perform this search is "Not" "External Bug Id" "Is Not Empty"
This search is designed to validate content within tables, it has no ability to test if a relationship does not exist. Due to the very abstracted nature of the functions it appears very invasive to try and pre-empt the search and either rewrite it to a matching search or handle a non existing relationship. There is also a problem where the search type drop down does not have options filtered to those that make sense for the field selected. i.e. you can never have FKs that are NULL or empty in this search results as the tables are searched outside of the bugs query SQL and thus can only ever return values for those relationships that exist. This is why the double NOT works here, the first NOT gets you every bug that has an external link and then the second NOT says to not include them in the search results.
Thanks for the analysis Jeff. I think it's fair to say that all three members of the BZ team would prefer not to make invasive changes to the search code where a viable workaround exists (the "double NOT"). Instead, I think we should use the points in comment #3 as input for the upstream folks when they get around to modernizing the search UI, post-Bugzilla-5.0.
*** This bug has been marked as a duplicate of bug 1260009 ***