Fix thread race between SectionPiece's OutputOff and Live members

Authored by dim on Jan 9 2018, 2:53 PM.



As reported in bug 35788, rL316280 reintroduces a race between two
members of SectionPiece, which share the same 64 bit memory location.

Reduce the Hash member by 1 bit, and move the Live member next to it,
instead, while making OuputOff use the full 64 bit again.

Adjust getShardId to cope with Hashes being 31 bits wide (I hope I
interpreted that function correctly... :)

Diff Detail

dim created this revision.Jan 9 2018, 2:53 PM
ruiu accepted this revision.Jan 9 2018, 2:57 PM


This revision is now accepted and ready to land.Jan 9 2018, 2:57 PM
smeenai added a subscriber: smeenai.Jan 9 2018, 4:29 PM

Should this be considered for picking to the 6.0 release branch?

This revision was automatically updated to reflect the committed changes.