[ https://issues.apache.org/jira/browse/GEODE-1969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15905600#comment-15905600 ]
ASF subversion and git services commented on GEODE-1969: -------------------------------------------------------- Commit e24c466dda3072b1edfdd0091e28b75a9f64bd4a in geode's branch refs/heads/develop from shankar [ https://git-wip-us.apache.org/repos/asf?p=geode.git;h=e24c466 ] GEODE-1969: fix IOException on force flush An oplog closed while writing to oplog with gemfire.syncWrites=true whill no longer cause the force flush to fail with an IOException. The channel force call is now done inside the sync block which makes sure that the write is flushed before another thread can close the channel. This closes #320 > oplog closed while writing to oplog with gemfire.syncWrites=true > ---------------------------------------------------------------- > > Key: GEODE-1969 > URL: https://issues.apache.org/jira/browse/GEODE-1969 > Project: Geode > Issue Type: Bug > Components: persistence > Reporter: Darrel Schneider > Assignee: Darrel Schneider > > [info 2016/09/29 06:16:06.823 UTC <OplogCompactor nsxDiskStore for oplog > oplog#6> tid=0x19] OplogCompactor for nsxDiskStore compaction oplog id(s): > oplog#6 > [info 2016/09/29 06:16:08.232 UTC <OplogCompactor nsxDiskStore for oplog > oplog#6> tid=0x19] compaction did 6,310 creates and updates in 1,408 ms > [info 2016/09/29 06:16:08.248 UTC <Oplog Delete Task> tid=0x19] Deleted > oplog#6 crf for disk store nsxDiskStore. > [info 2016/09/29 06:16:08.256 UTC <Oplog Delete Task> tid=0x19] Deleted > oplog#6 krf for disk store nsxDiskStore. > [info 2016/09/29 06:16:08.256 UTC <Oplog Delete Task> tid=0x19] Deleted > oplog#6 drf for disk store nsxDiskStore. > [info 2016/09/29 06:17:03.887 UTC <Event Processor for > GatewaySender_AsyncEventQueue_txLogEventQueue> tid=0x19] Created oplog#8 drf > for disk store nsxDiskStore. > [info 2016/09/29 06:17:03.911 UTC <Event Processor for > GatewaySender_AsyncEventQueue_txLogEventQueue> tid=0x19] Created oplog#8 crf > for disk store nsxDiskStore. > [info 2016/09/29 06:17:04.031 UTC <Idle OplogCompactor> tid=0x19] Created > oplog#7 krf for disk store nsxDiskStore. > [info 2016/09/29 06:17:04.314 UTC <OplogCompactor nsxDiskStore for oplog > oplog#7> tid=0x19] OplogCompactor for nsxDiskStore compaction oplog id(s): > oplog#7 > [error 2016/09/29 06:17:16.075 UTC <OplogCompactor nsxDiskStore for oplog > oplog#7> tid=0x19] A DiskAccessException has occurred while writing to the > disk for disk store nsxDiskStore. The cache will be closed. > ?com.gemstone.gemfire.cache.DiskAccessException: For DiskStore: nsxDiskStore: > Failed writing key to "/common/nsxapi/data/self/BACKUPnsxDiskStore_7", caused > by java.io.IOException: Stream Closed ?at > com.gemstone.gemfire.internal.cache.Oplog.flushAll(Oplog.java:5235) > [warn 2016/09/29 06:17:16.297 UTC <Event Processor for > GatewaySender_AsyncEventQueue_txLogEventQueue> tid=0x19] > com.gemstone.gemfire.internal.cache.wan.GatewaySenderEventCallbackDispatcher@55bded67: > Exception during processing batch 448 > com.gemstone.gemfire.internal.cache.wan.GatewaySenderException: > com.gemstone.gemfire.internal.cache.wan.GatewaySenderEventCallbackDispatcher@55bded67: > Exception during processing batch 448, caused by > com.gemstone.gemfire.cache.CacheClosedException: For DiskStore: nsxDiskStore: > Failed writing key to "/common/nsxapi/data/self/BACKUPnsxDiskStore_7", caused > by com.gemstone.gemfire.cache.DiskAccessException: For DiskStore: > nsxDiskStore: Failed writing key to > "/common/nsxapi/data/self/BACKUPnsxDiskStore_7", caused by > java.io.IOException: Stream Closed > at > com.gemstone.gemfire.internal.cache.wan.GatewaySenderEventCallbackDispatcher.dispatchBatch(GatewaySenderEventCallbackDispatcher.java:173) > at > com.gemstone.gemfire.internal.cache.wan.GatewaySenderEventCallbackDispatcher.dispatchBatch(GatewaySenderEventCallbackDispatcher.java:83) > at > com.gemstone.gemfire.internal.cache.wan.AbstractGatewaySenderEventProcessor.processQueue(AbstractGatewaySenderEventProcessor.java:579) > at > com.gemstone.gemfire.internal.cache.wan.serial.SerialGatewaySenderEventProcessor.run(SerialGatewaySenderEventProcessor.java:219) > Caused by: com.gemstone.gemfire.cache.CacheClosedException: For DiskStore: > nsxDiskStore: Failed writing key to > "/common/nsxapi/data/self/BACKUPnsxDiskStore_7", caused by > com.gemstone.gemfire.cache.DiskAccessException: For DiskStore: nsxDiskStore: > Failed writing key to "/common/nsxapi/data/self/BACKUPnsxDiskStore_7", caused > by java.io.IOException: Stream Closed > at > com.gemstone.gemfire.internal.cache.GemFireCacheImpl$Stopper.generateCancelledException(GemFireCacheImpl.java:1299) > at > com.gemstone.gemfire.CancelCriterion.checkCancelInProgress(CancelCriterion.java:82) > at > com.gemstone.gemfire.internal.cache.TXManagerImpl.checkClosed(TXManagerImpl.java:606) > at > com.gemstone.gemfire.internal.cache.TXManagerImpl.begin(TXManagerImpl.java:279) > at > com.vmware.nsx.management.container.dao.gemfire.GemFireTxLogDao.processTxLog(GemFireTxLogDao.java:119) > at > com.vmware.nsx.management.container.dao.gemfire.TxLogAsyncEventListener.processEvents(TxLogAsyncEventListener.java:93) > at > com.gemstone.gemfire.internal.cache.wan.GatewaySenderEventCallbackDispatcher.dispatchBatch(GatewaySenderEventCallbackDispatcher.java:164) > ... 3 more > Caused by: com.gemstone.gemfire.cache.DiskAccessException: For DiskStore: > nsxDiskStore: Failed writing key to > "/common/nsxapi/data/self/BACKUPnsxDiskStore_7", caused by > java.io.IOException: Stream Closed > at com.gemstone.gemfire.internal.cache.Oplog.flushAll(Oplog.java:5235) > at com.gemstone.gemfire.internal.cache.Oplog.flushAll(Oplog.java:5223) > at com.gemstone.gemfire.internal.cache.Oplog.flushAll(Oplog.java:5215) > at > com.gemstone.gemfire.internal.cache.Oplog.basicClose(Oplog.java:3312) > at com.gemstone.gemfire.internal.cache.Oplog.destroy(Oplog.java:3375) > at > com.gemstone.gemfire.internal.cache.Oplog.handleEmptyAndOldest(Oplog.java:5877) > at > com.gemstone.gemfire.internal.cache.Oplog.handleNoLiveValues(Oplog.java:5924) > at > com.gemstone.gemfire.internal.cache.Oplog.basicModify(Oplog.java:4751) > at > com.gemstone.gemfire.internal.cache.Oplog.copyForwardModifyForCompact(Oplog.java:4594) > at com.gemstone.gemfire.internal.cache.Oplog.compact(Oplog.java:6087) > at > com.gemstone.gemfire.internal.cache.DiskStoreImpl$OplogCompactor.compact(DiskStoreImpl.java:2970) > at > com.gemstone.gemfire.internal.cache.DiskStoreImpl$OplogCompactor.run(DiskStoreImpl.java:3034) > at > com.gemstone.gemfire.internal.cache.DiskStoreImpl$6.run(DiskStoreImpl.java:4701) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.io.IOException: Stream Closed > at java.io.RandomAccessFile.getFilePointer(Native Method) > at > com.gemstone.gemfire.internal.cache.persistence.UninterruptibleRandomAccessFile.getFilePointer(UninterruptibleRandomAccessFile.java:59) > at > com.gemstone.gemfire.internal.cache.persistence.UninterruptibleRandomAccessFile$UninterruptibleFileChannelImpl.doUninterruptibly(UninterruptibleRandomAccessFile.java:102) > at > com.gemstone.gemfire.internal.cache.persistence.UninterruptibleRandomAccessFile$UninterruptibleFileChannelImpl.force(UninterruptibleRandomAccessFile.java:226) > at com.gemstone.gemfire.internal.cache.Oplog.flush(Oplog.java:5202) > at com.gemstone.gemfire.internal.cache.Oplog.flushAll(Oplog.java:5232) > ... 17 more -- This message was sent by Atlassian JIRA (v6.3.15#6346)