You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Kim van der Riet (JIRA)" <ji...@apache.org> on 2014/03/05 15:09:44 UTC

[jira] [Commented] (QPID-5603) [Linearstore] Broker recovery fails with JERR_JREC_BADRECTAIL when record tail is partly or fully separated from rest of record by file boundary

    [ https://issues.apache.org/jira/browse/QPID-5603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13920874#comment-13920874 ] 

Kim van der Riet commented on QPID-5603:
----------------------------------------

Every record that contains either data and/or an xid (ie is transactional) contains a record tail. ie:
| Header | XID    | Data    | Tail |
Any record may be divided across a file boundary. The Header is currently one sblock, so cannot by definition be divided (as a file is made up of an integral number of sblocks), but the remaining sections may be of arbitrary length, and a file boundary may divide them at arbitrary offsets. This bug occurs when the record tail is divided exactly (ie the last byte of the data was the last byte of the previous journal file and the tail is the first byte of data in the next file) or partly by a file boundary.

> [Linearstore] Broker recovery fails with JERR_JREC_BADRECTAIL when record tail is partly or fully separated from rest of record by file boundary
> ------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-5603
>                 URL: https://issues.apache.org/jira/browse/QPID-5603
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>            Assignee: Kim van der Riet
>
> When a record that contains a record tail (enqueue, transactional dequeue or transaction records) has the tail separated exactly or partly by a file boundary, then the broker fails recovery with JERR_JREC_BADRECTAIL. In reality, the file handle reaches EOF, but this error is not detected and the random values of the uninitialized record tail are taken as the read values.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org