You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Thomas Mueller (JIRA)" <ji...@apache.org> on 2014/09/03 11:44:51 UTC

[jira] [Created] (OAK-2070) Segment corruption

Thomas Mueller created OAK-2070:
-----------------------------------

             Summary: Segment corruption
                 Key: OAK-2070
                 URL: https://issues.apache.org/jira/browse/OAK-2070
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: segmentmk
            Reporter: Thomas Mueller
             Fix For: 1.1


I got a strange case of a corrupt segment. The error message is "java.lang.IllegalStateException: Segment b6e0cdbc-0004-9b05-3927-000498000493 not found". The segment id looks wrong, my guess is that the segment header got corrupt somehow. The checksum of the entry is correct however. I wrote a simple segment header dump tool (I will attach it), which printed: 

{noformat}
segmentId: b6fec1b4-f321-4b64-aeab-31c27a939287.4c65e101
length: 40000
maxRef: 10000
checksum: 4c65e101
magic: 0aK
version: 0
id count: 66
root count: 24
blob ref count: 0
reserved: 0
segment #0: e44fec74-3bc9-4cee-a864-5f5fb4485cb3
segment #1: b6480852-9af2-4f21-a542-933cd554e9ed
segment #2: bec8216a-64e3-4683-a28a-08fbd7ed91f9
segment #3: b8067f5a-16af-429f-a1b5-c2f1ed1d3c59
segment #4: 7c2e6167-b292-444a-a318-4f43692f40f2
segment #5: 3b707f6e-d1e8-4bc0-ace5-67499ac4c369
segment #6: 0c15bf0a-770d-4057-af6b-baeaeffde613
segment #7: 97814ad5-3fc3-436e-a7c6-2aed13bcf529
segment #8: b4babf94-588f-4b32-a8d6-08ba3351abf2
segment #9: 2eab77d7-ee41-4519-ad14-c31f4f72d2e2
segment #10: 57949f56-15d1-4f65-a107-d517a222cb11
segment #11: d25bb0f8-3948-4d33-a35a-50a60a1e9f27
segment #12: 58066744-e2d6-4f1c-a962-caae337f48db
segment #13: b195e811-a984-4b3d-a4c8-5fb33572bfce
segment #14: 384b360d-69ce-4df4-a419-65b80d39b40c
segment #15: 325b6083-de56-4a4b-a6e5-2eac83e9d4aa
segment #16: e3839e53-c516-4dce-a39d-b6241d47ef1d
segment #17: a56f0a75-625b-4684-af43-9936d4d0c4bd
segment #18: b7428409-8dc0-4c5b-a050-78c838db0ef1
segment #19: 6ccd5436-37a1-4b46-a5a4-63f939f2de76
segment #20: 4f28ca6e-a52b-4a06-acb0-19b710366c96
segment #21: 137ec136-bcfb-405b-a5e3-59b37c54229c
segment #22: 8a53ffe4-6941-4b9b-a517-9ab59acf9b63
segment #23: effd3f42-dff3-4082-a0fc-493beabe8d42
segment #24: 173ef78d-9f41-49fb-ac25-70daba943b37
segment #25: 9d3ab04d-d540-4256-a28f-c71134d1bfd0
segment #26: d1966946-45c7-4539-a8f2-9c7979b698c5
segment #27: b2a72be0-ee4e-4f9d-a957-f84908f05040
segment #28: 8eead39e-62f7-4b6c-ac12-5caee295b6e5
segment #29: 19832493-415c-46d2-aa43-0dd95982d312
segment #30: 462cd84b-3638-4c8c-a273-42b1be5d3df3
segment #31: 4b4f6a2d-1281-475c-adbe-34457b6de60d
segment #32: e78b13e2-039d-4f73-a3a8-d25da3b78a93
segment #33: 03b652ac-623b-4d3d-a5f0-2e7dcd23fd88
segment #34: 3ff1c4cf-cbd7-45bb-a23a-7e033c64fe87
segment #35: ed9fb9ad-0a8c-4d37-ab95-c2211cde6fee
segment #36: 505f766d-509d-4f1b-ad0b-dfd59ef6b6a1
segment #37: 398f1e80-e818-41b7-a055-ed6255f6e01b
segment #38: 74cd7875-df17-43af-a2cc-f3256b2213b9
segment #39: ad884c29-61c9-4bd5-ad57-76ffa32ae3e8
segment #40: 29cfb8c8-f759-41b2-ac71-d35eac0910ad
segment #41: af5032e1-b473-47ad-a8e2-a17e770982e8
segment #42: 37263fa3-3331-4e89-af1f-38972b65e058
segment #43: 81baf70d-5529-416f-a8bd-9858d62fd2cc
segment #44: aa3abdfb-4fc7-4c49-a628-fb097f8db872
segment #45: 81e958b4-0493-4a7b-ab92-5f3cc13119e7
segment #46: f03d0200-fe8e-4e93-a94a-97b9052f13ab
segment #47: d9931e67-cc8c-4f45-a1b5-129a0b07e1fb
segment #48: e32ad441-12d9-4263-a258-b81bd85f499e
segment #49: 2093a577-e797-44b5-aa3e-45c08b1ad9c1
segment #50: dadf47d7-9728-43dd-aa55-177ccbc45b81
segment #51: 9db4b6f5-c21c-4e27-a4ab-9a0c419477b2
segment #52: 2ca39d68-e7bf-4c83-aebe-f708fb23659e
segment #53: 5dc42abe-e17b-41a3-a890-47c83eeee19a
segment #54: a817c7fb-4f05-429e-ab23-49d68e222e6c
segment #55: 8a5de869-a8a8-42cb-ac78-ec22763fe558
segment #56: cca0c5d8-9269-4b1f-ad3b-1ca666ca9cb9
segment #57: ff299dda-00ce-4e01-ac1c-2289447500b7
segment #58: 0c94d46e-7fae-474f-ac89-8ba87a64cb56
segment #59: 890f7fcc-7c7e-4dc7-acc5-ed0927ef1a9f
segment #60: 16f5de56-2aaa-4ca2-afa7-4bcb536b74b1
segment #61: 97db1991-1c29-4f8c-ae05-7f79b712fb4c
segment #62: 936aa29a-2679-4998-a159-d9a19069786a
segment #63: 0d1abedd-8c20-4c1b-a9c8-f60d7cb94008
segment #64: 1ffb6ac4-d7a9-44c5-aaa6-bf967e87dec0
segment #65: b6e0cdbc-0004-9b05-3927-000498000493
ERROR: not a segment?
root record reference #0: 7766a
root record reference #1: 76f93
root record reference #2: 75e72
root record reference #3: 758c6
root record reference #4: 7529a
root record reference #5: 74c59
root record reference #6: 7464f
root record reference #7: 740e0
root record reference #8: 73ae7
root record reference #9: 734be
root record reference #10: 7274d
root record reference #11: 7210e
root record reference #12: 71c3e
root record reference #13: 7166d
root record reference #14: 710e1
root record reference #15: 70b29
root record reference #16: 70647
root record reference #17: 70644
root record reference #18: 7063d
root record reference #19: 70636
root record reference #20: 7062f
root record reference #21: 70629
root record reference #22: 70622
root record reference #23: 70109
{noformat}

So just the last segment reference seems to be broken. The segment above is entry #250 in that file. The referenced segments in that segment refer to slightly older segments in the same file. The broken reference starts with b6e0cdbc, this seems to be intact. The reference seems to point to entry #242 in that file (a bit earlier).

{noformat}
...
segment #61: 97db1991-1c29-4f8c-ae05-7f79b712fb4c -> entry #220
segment #62: 936aa29a-2679-4998-a159-d9a19069786a -> entry #241
segment #63: 0d1abedd-8c20-4c1b-a9c8-f60d7cb94008 -> entry #210
segment #64: 1ffb6ac4-d7a9-44c5-aaa6-bf967e87dec0 -> entry #228
segment #65: b6e0cdbc-0004-9b05-3927-000498000493 -> entry #242?
 -> would be b6e0cdbc-b5cf-494f-adfa-9dad38944b8d
{noformat}

 I think the wrong byte sequence 00049b053927000498000493 is regular record data. I found the pattern "00049b053927" in a later segment (entry #277 in the same file), and segment data in general looks like this (many zeroes, many 0004 sequences).

So far I don't know what could have caused the corruption. It is strange that the same byte pattern appears later in the same file, but maybe it's just a common byte pattern.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)