[2.3.x] + volatile is not needed
[2.3.x] + minor updates
[2.3.x] + mark AsyncReadQueueRecord as active, before calling set