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

ASF subversion and git services commented on GEODE-2398:
--------------------------------------------------------

Commit 9b0f16570aad4abc82b71d0d16167a9774449d41 in geode's branch 
refs/heads/feature/GEODE-2449 from [~khowe]
[ https://git-wip-us.apache.org/repos/asf?p=geode.git;h=9b0f165 ]

GEODE-2398: Retry oplog channel.write on silent failures

Implemented limited retries in two forms of Oplog.flush() when channel.write() 
is called.
If write() returns bytes witten less than the change in the ByteBuffer 
positions, then reset
buffer positions and re-try writing for a liomited number of times. Throws
IOException if the write doesn't succeeded after a few retries (max
number of retries is defined by a static).

Added new unit tests.


> Sporadic Oplog corruption due to channel.write failure
> ------------------------------------------------------
>
>                 Key: GEODE-2398
>                 URL: https://issues.apache.org/jira/browse/GEODE-2398
>             Project: Geode
>          Issue Type: Bug
>          Components: persistence
>            Reporter: Kenneth Howe
>            Assignee: Kenneth Howe
>             Fix For: 1.2.0
>
>
> There have been some occurrences of Oplog corruption during testing that have 
> been traced to failures in writing oplog entries to the .crf file. When it 
> fails, Oplog.flush attempts to write a ByteBuffer to the file channel. The 
> call to channel.write(bb) method returns 0 bytes written, but the source 
> ByteBuffer position is moved to the ByteBuffer limit.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to