[SERVER-5443] LockMongoFilesShared::era can roll over Created: 29/Mar/12 Updated: 06/Dec/22 Resolved: 14/Sep/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Concurrency, MMAPv1 |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor - P4 |
| Reporter: | Andy Schwerin | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Storage Execution
|
| Operating System: | ALL |
| Participants: |
| Description |
|
The counter is only 32 bits. Because it can roll over, a PageFaultException that gets caught and then not handled for a long time might think that the era hasn't changed when in fact it has advanced 2^32 times. This could lead to calling Record::touch on invalid memory. The easiest fix is to make it a 64-bit counter. |