In our bullhorn environments we query for a candidate email before we decide if we need to insert/update a candidate record.
The following code snippet uses the Rest SDK provided by bullhorn to query if a candidate email exists
String email = "someCandidateEmail@mail.com"
SearchParams params = ParamFactory.searchParams();
String luceneQuery =
"(email:" + email + " OR email2:" + email + " OR email3:" + email + ")"
+ " AND isDeleted:0";
Set<String> fieldSet = new HashSet<String>();
ListWrapper<Candidate> results = bhData.search(Candidate.class, luceneQuery, fieldSet, params);
We are recently identified an issue in how this query behaves.
Behavior 1 :
Sometimes a query to find a record that was recently created, does not work and due to this we are creating duplicate records.
Here is an example
On 10/20/2017 9:03 AM, 2 consecutive applies came in with the email address A.
During the second apply, the record created during the first iteration should have been picked up, but instead it did not . As a result of this we believed the second apply to be a new candidate and created a duplicate record.
This happens when the consecutive applies are back to back with little to no time in between them
We expect first record gets picked up properly irrespective of the time interval in between applies.
Can someone shed some light on the issue?