Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-2535

DiskId keyId is not correctly updated

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.1.0
    • persistence
    • None

    Description

      On a persistent region the DiskId keyId will be set negative if the value is not in memory but can be read from disk.
      The code correctly sets it the first time an entry is recovered from disk but does not correctly update it if a that same entry is recovered more than once from disk. This can happen when a krf for an oplog does not exist. The same entry can have multiple records for the same key.

      They code that does not correctly update DiskId keyId is in these methods:
      org.apache.geode.internal.cache.DiskEntry.Helper.basicUpdate(DiskEntry, LocalRegion, Object, EntryEventImpl): see the section that handles RecoveredEntry
      and org.apache.geode.internal.cache.DiskEntry.Helper.updateRecoveredEntry(PlaceHolderDiskRegion, DiskEntry, RecoveredEntry, RegionEntryContext)

      The only issue with not updating this keyId is that it can cause the "inVM" and "onDisk" statistics to be incorrect.

      Attachments

        Activity

          People

            eshu Eric Shu
            dschneider Darrel Schneider
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: