You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexey Goncharuk (JIRA)" <ji...@apache.org> on 2019/04/05 12:10:00 UTC
[jira] [Created] (IGNITE-11687) Concurrent WAL replay & log may
fail with CRC error on read
Alexey Goncharuk created IGNITE-11687:
-----------------------------------------
Summary: Concurrent WAL replay & log may fail with CRC error on read
Key: IGNITE-11687
URL: https://issues.apache.org/jira/browse/IGNITE-11687
Project: Ignite
Issue Type: Bug
Reporter: Alexey Goncharuk
The cause is the way {{end}} is calculated for WAL iterator:
{code}
if (hnd != null)
end = hnd.position();
{code}
{code}
@Override public FileWALPointer position() {
lock.lock();
try {
return new FileWALPointer(getSegmentId(), (int)written, 0);
}
finally {
lock.unlock();
}
}
{code}
Consider a partially written entry. In this case, {{written}} has been already updated, concurrent WAL replay will attempt to read the incompletely written record and since {{end}} is not null, iterator will fail with CRC error.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)