If these field writes can happen concurrently with the read in the scheduled update puller job on line 106, then the pullUpdates field needs to be volatile.