[ https://issues.apache.org/jira/browse/GEODE-2472?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anthony Baker closed GEODE-2472. -------------------------------- > Oplog.flush method doesn't verify that the entry gets written > ------------------------------------------------------------- > > Key: GEODE-2472 > URL: https://issues.apache.org/jira/browse/GEODE-2472 > Project: Geode > Issue Type: Improvement > Components: persistence > Reporter: Kenneth Howe > Assignee: Anilkumar Gingade > Fix For: 1.2.0 > > > The Oplog.flush(OplogFile olf, ByteBuffer b1, ByteBuffer b2) method doesn't > check the results of the channel.write() call. The other Oplog.flush() method > that performs a channel write wraps the write() call in the loop > {code} > do { > ... > } while (hasRemaining); > {code} > to make sure the Oplog entry is written to the OplogFile. > This method is implemented without the check loop, making the assumption that > the write() completely writes everything from both buffers. Defensive > programming would suggest that the results of lower level calls are checked. > Failure to recognize a partial write to the OplogFile can result in a corrupt > oplog that isn't found until the persistent disk store is recovered. -- This message was sent by Atlassian JIRA (v6.4.14#64029)