• Type: Sub-task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0.13, 1.2
    • Component/s: segmentmk
    • Labels:


      There is currently no way to distinguish between a SegmentNotFoundException occurring because of a removed segment by gc or because of another corruption. Optimally we would tell in the exception why the segment is gone, how old it was when gc removed it and who/what was still referring to it at that time. In order to do that, we probably need some kind of log for the following data: When a segment was removed (because a new generation of the .tar file was made, or because the .tar file was removed), we should log the segment, the file name, and the date+time of the removal. If the segment was then not found because it was too old, then another type of exception should be thrown instead, for example "ReadTimeoutException", with a message that contains as much data as possible: the data+time of the segment, date+time of the removal of the segment, about when compaction was run, date+time of the session login and last refresh, the stack trace of where the session was acquired.


        1. OAK-2404.patch
          7 kB
          Michael Dürig



            • Assignee:
              mduerig Michael Dürig
              mduerig Michael Dürig
            • Votes:
              0 Vote for this issue
              2 Start watching this issue


              • Created: