public void addRecoveredFile(String fname) { if (this.irf == null) { this.irf = new File(oplog.getDirectoryHolder().getDir(), fname); } else { // If, for some strange reason, we end up with two idx files // pick the one with the higher version. long currentVersion = getIndexFileVersion(this.irf.getName()); long incomingVersion = getIndexFileVersion(fname); if (incomingVersion > currentVersion) { this.irf = new File(oplog.getDirectoryHolder().getDir(), fname); } } }
private File getFileName(long version) { return new File(oplog.getDirectoryHolder().getDir(), oplog.getDiskFileName() + "." + version + "." + IDX_FILE_EXT); }
private void setFirstChild(TreeSet<Oplog> oplogSet, boolean force) { if (parent.isOffline() && !parent.isOfflineCompacting()) return; if (!oplogSet.isEmpty()) { Oplog first = oplogSet.first(); DirectoryHolder dh = first.getDirectoryHolder(); dirCounter = dh.getArrayIndex(); dirCounter = (++dirCounter) % parent.dirLength; // we want the first child to go in the directory after the directory // used by the existing oplog with the max id. // This fixes bug 41822. } if (force || maxRecoveredOplogId > 0) { setChild(new Oplog(maxRecoveredOplogId + 1, this, getNextDir())); } }
private void setFirstChild(TreeSet<Oplog> oplogSet, boolean force) { if (parent.isOffline() && !parent.isOfflineCompacting() && !parent.isOfflineModify()) return; if (!oplogSet.isEmpty()) { Oplog first = oplogSet.first(); DirectoryHolder dh = first.getDirectoryHolder(); dirCounter = dh.getArrayIndex(); dirCounter = (++dirCounter) % parent.dirLength; // we want the first child to go in the directory after the directory // used by the existing oplog with the max id. // This fixes bug 41822. } if (force || maxRecoveredOplogId > 0) { setChild(new Oplog(maxRecoveredOplogId + 1, this, getNextDir())); } }
Set<File> filesToBackup = entry.getValue(); int index = oplog.getDirectoryHolder().getArrayIndex(); File backupDir = getBackupDir(this.diskStoreBackup.getTargetDir(), index);
int index = oplog.getDirectoryHolder().getArrayIndex(); File backupDir = getBackupDir(this.diskStoreBackup.getTargetDir(), index);
final byte[] payload = new byte[100]; region.put("key0", payload); assertEquals(dirs[0], ((LocalRegion)region).getDiskRegion().testHook_getChild().getDirectoryHolder().getDir()); region.close(); ((LocalRegion)region).getDiskStore().close(); region = DiskRegionHelperFactory.getSyncPersistOnlyRegion(cache, props, Scope.LOCAL); region.put("key1", payload); assertEquals(dirs[1], ((LocalRegion)region).getDiskRegion().testHook_getChild().getDirectoryHolder().getDir()); region.close(); ((LocalRegion)region).getDiskStore().close(); region = DiskRegionHelperFactory.getSyncPersistOnlyRegion(cache, props, Scope.LOCAL); region.put("key2", payload); assertEquals(dirs[2], ((LocalRegion)region).getDiskRegion().testHook_getChild().getDirectoryHolder().getDir()); region.close(); ((LocalRegion)region).getDiskStore().close(); region = DiskRegionHelperFactory.getSyncPersistOnlyRegion(cache, props, Scope.LOCAL); region.put("key3", payload); assertEquals(dirs[3], ((LocalRegion)region).getDiskRegion().testHook_getChild().getDirectoryHolder().getDir()); region.close(); ((LocalRegion)region).getDiskStore().close(); region = DiskRegionHelperFactory.getSyncPersistOnlyRegion(cache, props, Scope.LOCAL); region.put("key4", payload); assertEquals(dirs[0], ((LocalRegion)region).getDiskRegion().testHook_getChild().getDirectoryHolder().getDir());