public void updateDiskRegion(AbstractDiskRegion dr) { PersistentOplogSet oplogSet = getPersistentOplogSet(dr); oplogSet.updateDiskRegion(dr); }
public void updateDiskRegion(AbstractDiskRegion dr) { PersistentOplogSet oplogSet = getPersistentOplogSet(dr); oplogSet.updateDiskRegion(dr); }
public PersistentOplogSet getOplogSet() { return getDiskStore().getPersistentOplogSet(this); }
public PersistentOplogSet getOplogSet() { return getDiskStore().getPersistentOplogSet(this); }
void scheduleForRecovery(DiskRecoveryStore drs) { DiskRegionView dr = drs.getDiskRegionView(); PersistentOplogSet oplogSet = getPersistentOplogSet(dr); oplogSet.scheduleForRecovery(drs); }
void scheduleForRecovery(DiskRecoveryStore drs) { DiskRegionView dr = drs.getDiskRegionView(); PersistentOplogSet oplogSet = getPersistentOplogSet(dr); oplogSet.scheduleForRecovery(drs); }
/** * */ public final void flushAndSync(boolean noCompactorLock) { forceFlush(); for (Oplog oplog : getPersistentOplogSet(null).getAllOplogs()) { oplog.flushAllAndSync(true); } }
void addDiskRegion(DiskRegion dr) { if (dr.isBackup()) { PersistentOplogSet oplogSet = getPersistentOplogSet(dr); if(!isOffline()) { oplogSet.initChild(); } DiskRegion old = this.drMap.putIfAbsent(dr.getId(), dr); if (old != null) { throw new IllegalStateException("DiskRegion already exists with id " + dr.getId() + " and name " + old.getName()); } getDiskInitFile().createRegion(dr); } else { this.overflowMap.add(dr); } if (getOwnedByRegion()) { this.ownCount.incrementAndGet(); } }
void addDiskRegion(DiskRegion dr) { if (dr.isBackup()) { PersistentOplogSet oplogSet = getPersistentOplogSet(dr); if(!isOffline()) { oplogSet.initChild(); } DiskRegion old = this.drMap.putIfAbsent(dr.getId(), dr); if (old != null) { throw new IllegalStateException("DiskRegion already exists with id " + dr.getId() + " and name " + old.getName()); } getDiskInitFile().createRegion(dr); } else { this.overflowMap.add(dr); } if (getOwnedByRegion()) { this.ownCount.incrementAndGet(); // logger.info(LocalizedStrings.DEBUG, "DEBUG: ds=" + getName() // + "addDiskRegion ownCount=" + getOwnCount(), new // RuntimeException("STACK")); } }
/** * Flush all async queue data, and fsync all oplogs to disk. */ public final void flushAndSync() { forceFlush(); acquireCompactorWriteLock(); try { for (Oplog oplog : getPersistentOplogSet(null).getAllOplogs()) { oplog.flushAllAndSync(); } } finally { releaseCompactorWriteLock(); } }
/** * Destroy the given region */ private void basicDestroy(LocalRegion region, DiskRegion dr) { if (dr.isBackup()) { if (region != null) { region.closeEntries(); } PersistentOplogSet oplogSet = getPersistentOplogSet(dr); oplogSet.basicDestroy(dr); } else { dr.freeAllEntriesOnDisk(region); if (region != null) { region.closeEntries(); } } }
/** * Destroy the given region */ private void basicDestroy(LocalRegion region, DiskRegion dr) { if (dr.isBackup()) { if (region != null) { region.closeEntries(); } PersistentOplogSet oplogSet = getPersistentOplogSet(dr); oplogSet.basicDestroy(dr); } else { dr.freeAllEntriesOnDisk(region); if (region != null) { region.closeEntries(); } } }
private void basicClose(LocalRegion region, DiskRegion dr, boolean closeDataOnly) { if (dr.isBackup()) { if (region != null) { region.closeEntries(); } if(!closeDataOnly) { getDiskInitFile().closeRegion(dr); } // call close(dr) on each oplog PersistentOplogSet oplogSet = getPersistentOplogSet(dr); oplogSet.basicClose(dr); } else { if (region != null) { // OVERFLOW ONLY clearAsyncQueue(region, true, null); // no need to try to write these to // disk any longer dr.freeAllEntriesOnDisk(region); region.closeEntries(); this.overflowMap.remove(dr); } } }
private void basicClose(LocalRegion region, DiskRegion dr, boolean closeDataOnly) { if (dr.isBackup()) { if (region != null) { region.closeEntries(); } // logger.info(LocalizedStrings.DEBUG, "DEBUG basicClose dr=" + // dr.getName() + " id=" + dr.getId()); if(!closeDataOnly) { getDiskInitFile().closeRegion(dr); } // call close(dr) on each oplog PersistentOplogSet oplogSet = getPersistentOplogSet(dr); oplogSet.basicClose(dr); } else { if (region != null) { // OVERFLOW ONLY clearAsyncQueue(region, true, null); // no need to try to write these to // disk any longer dr.freeAllEntriesOnDisk(region); region.closeEntries(); this.overflowMap.remove(dr); } } }
/** * @since 5.1 */ public void forceRolling(DiskRegion dr) { if (!dr.isBackup()) return; if (!dr.isSync() && this.maxAsyncItems == 0 && getTimeInterval() == 0) { forceFlush(); } acquireReadLock(dr); try { PersistentOplogSet oplogSet = getPersistentOplogSet(dr); oplogSet.forceRoll(dr); } finally { releaseReadLock(dr); } }
/** * @since 5.1 */ public void forceRolling(DiskRegion dr) { if (!dr.isBackup()) return; if (!dr.isSync() && this.maxAsyncItems == 0 && getTimeInterval() == 0) { forceFlush(); } acquireReadLock(dr); try { PersistentOplogSet oplogSet = getPersistentOplogSet(dr); oplogSet.forceRoll(dr); } finally { releaseReadLock(dr); } }
private void recreateAllLocalIndexes(final LogWriter logger) { Collection<DiskStoreImpl> diskStores = Misc.getGemFireCache().listDiskStores(); for (DiskStoreImpl ds : diskStores) { PersistentOplogSet oplogSet = ds.getPersistentOplogSet(null); ds.resetIndexRecoveryState(); // delete all idx file of all oplogs, so second arg as true below ds.scheduleIndexRecovery(oplogSet.getSortedOplogs(), true); logger.info("FabricDatabase: recreateAllLocalIndexes " + "waiting for index re-creation for disk store: " + ds.getName()); ds.waitForIndexRecoveryEnd(-1); logger.info("FabricDatabase: recreateAllLocalIndexes " + "index re-creation for disk store: " + ds.getName() + " ended"); } }
public void writeRVV(DiskRegion dr, LocalRegion region, Boolean isRVVTrusted) { acquireReadLock(dr); try { if (dr.isRegionClosed()) { dr.getCancelCriterion().checkCancelInProgress(null); throw new RegionDestroyedException( LocalizedStrings.DiskRegion_THE_DISKREGION_HAS_BEEN_CLOSED_OR_DESTROYED .toLocalizedString(), dr.getName()); } RegionVersionVector inMemoryRVV = (region==null)?null:region.getVersionVector(); // persist the new GC RVV information for this region to the CRF PersistentOplogSet oplogSet = getPersistentOplogSet(dr); // use current dr.rvvTrust oplogSet.getChild().writeRVV(dr, inMemoryRVV, isRVVTrusted); } finally { releaseReadLock(dr); } }
public void writeRVV(DiskRegion dr, LocalRegion region, Boolean isRVVTrusted) { if (region != null && !region.getConcurrencyChecksEnabled()) { return; } acquireReadLock(dr); try { if (dr.isRegionClosed()) { dr.getCancelCriterion().checkCancelInProgress(null); throw new RegionDestroyedException( LocalizedStrings.DiskRegion_THE_DISKREGION_HAS_BEEN_CLOSED_OR_DESTROYED .toLocalizedString(), dr.getName()); } RegionVersionVector inMemoryRVV = (region==null)?null:region.getVersionVector(); // persist the new GC RVV information for this region to the CRF PersistentOplogSet oplogSet = getPersistentOplogSet(dr); // use current dr.rvvTrust oplogSet.getChild().writeRVV(dr, inMemoryRVV, isRVVTrusted); } finally { releaseReadLock(dr); } }
final void putVersionTagOnly(LocalRegion region, VersionTag tag, boolean async) { DiskRegion dr = region.getDiskRegion(); // this method will only be called by backup oplog assert dr.isBackup(); if (!async) { acquireReadLock(dr); } try { if (dr.isRegionClosed()) { region.getCancelCriterion().checkCancelInProgress(null); throw new RegionDestroyedException( LocalizedStrings.DiskRegion_THE_DISKREGION_HAS_BEEN_CLOSED_OR_DESTROYED .toLocalizedString(), dr.getName()); } if (dr.getRegionVersionVector().contains(tag.getMemberID(), tag.getRegionVersion())) { // No need to write the conflicting tag to disk if the disk RVV already // contains this tag. return; } PersistentOplogSet oplogSet = getPersistentOplogSet(dr); oplogSet.getChild().saveConflictVersionTag(region, tag, async); } finally { if (!async) { releaseReadLock(dr); } } }