[ https://issues.apache.org/jira/browse/GEODE-1969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15755325#comment-15755325 ]
ASF GitHub Bot commented on GEODE-1969: --------------------------------------- Github user dschneider-pivotal commented on the issue: https://github.com/apache/geode/pull/320 We need a unit test for GEODE-1969 that reproduces that failure. Then apply your fix and the unit test should pass. The unit test should be made part of this pull request. Hope fully Oplog will allow you to mock the channel. You might need to do some refactoring of Oplog to make it friendly to mocking a unit test. I think for this ticket most of the work will be in the unit test. > 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: Amey Barve > > [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.4#6332)