BUG: Searching users with 2 connections returns nothing if one of the two connections does not have users


It seems that when searching for users for 2 (or more?) connections, if one of the two connections does not have users, the whole request does not return anything.
Adding a user to the empty connection fixes this.

To reproduce :

    • Create a connection ‘myco01’. Do not add any user on it.
    • Create a second connection ‘myco02’
    • Add for example 2 users to ‘myco02’
    • Try to search for users in either ‘myco01’ or ‘myco02’ in 1 request, using /v2/users?q=identities.connection:myco01 myco02’
    • Observe that no user is returned. Expected behavior would be that the 2 users from ‘myco02’ would be returned.
    • Now add 1 user to ‘myco01’
    • Retry the previous request.
    • Observe that now 3 users are returned, which here is the expected behavior.

[EDIT] : I refined the use case. The issue only occurs when the first one of the 2 connections does NOT contain users. Listing connections in reverse order (the one with users listed first) does NOT trigger the bug.

/v2/users?q=identities.connection:myco01 myco02’ <== BUG
/v2/users?q=identities.connection:myco02 myco01’ <== WORK as expected

Hey there @gdoyer!

Thanks a lot for reporting that! Let me dive into it and get back to you once I have news to share!

I refined the use case and edited my post above.

Thank you a lot! I’ll get back to you soon!

Hey there again!

Sorry that it took me so long to testflight this but there were tons of questions coming in. I managed to reproduce it and it behaved exactly the way you described it. I already reported it to appropriate team so they can add it to their bug fixing backlog! Thanks a lot once more for reporting that!

As of today, the bug seems to be still there. Any news about a fix?

Let me reach out again to the team to find out what’s their explanation here :slight_smile:

It seems to be stuck in the engineering team backlog. Let me ping them once again!

Got the response!

You are sending the wrong query.

While this is a valid Lucene Syntax, the outcome is not what you expect.

You should be using parentheses: identities.connection:(myco01 myco02)

or identities.connection:myco01 OR identities.connection:myco02