Thread Safety Issue fix -Indexer Queue
Introduction
An issue has surfaced regarding the missing records at search service after bulk simulation from storage service. The flow is mentioned below:
Producer service(Example storage) -->Indexer Queue-->Indexer Service --> Search Service.
It has been noticed in 1/3 runs of bulk simulation, there were some records that are ingested successfully from storage service are not available at search service.
Issue link
Root cause of issue
Scope of objects which holds data for every message should be local to a function instead of being a member of containing classes. Example includes
- RecordChangedMessages in MessageHandler
- HttpPost in RecordChangedMessageHandler
Solution
The scope has been made local for the above two objects.
Test cases
All existing test cases were passed
Edited by Nikhil Singh[MicroSoft]