public GfxdDiskStoreDescriptor(DataDictionary dd, UUID id,DiskStore ds, String dirAndSize) { super(dd); this.id = id; this.diskStoreName = ds.getName(); this.maxLogSize = ds.getMaxOplogSize(); this.autoCompact = Boolean.toString(ds.getAutoCompact()); this.allowForceCompaction = Boolean.toString(ds.getAllowForceCompaction()); this.compactionThreshold = ds.getCompactionThreshold(); this.timeInterval = ds.getTimeInterval(); this.writeBufferSize = ds.getWriteBufferSize(); this.queueSize = ds.getQueueSize(); this.dirAndSize = dirAndSize; }
private void setDiskDirDetails(final DiskStore diskStore, final DiskStoreDetails diskStoreDetails) { File[] diskDirs = diskStore.getDiskDirs(); Integer[] diskDirSizes = ArrayUtils.toIntegerArray(diskStore.getDiskDirSizes()); assertState(diskDirs.length == diskDirSizes.length, "The number of disk directories with a specified size (%1$d) does not match the number of disk directories (%2$d)!", diskDirSizes.length, diskDirs.length); for (int index = 0; index < diskDirs.length; index++) { diskStoreDetails.add(new DiskStoreDetails.DiskDirDetails(diskDirs[index].getAbsolutePath(), ArrayUtils.getElementAtIndex(diskDirSizes, index, 0))); } }
protected void removeFiles(DiskStore diskStore) { final String diskStoreName = diskStore.getName(); File[] dirs = diskStore.getDiskDirs(); for(File dir : dirs) { File[] files = dir.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.startsWith("BACKUP" + diskStoreName); } }); for(File file : files) { file.delete(); } } }
protected static String getDiskAttributes(Region r) { String dsn = r.getAttributes().getDiskStoreName(); if (dsn == null) { throw new HydraConfigException("Persistence is not configured"); } DiskStore ds = DiskStoreHelper.getDiskStore(dsn); return "the DiskStore is" + ds + ", the allow force compaction is " + ds.getAllowForceCompaction() + ", the auto compact is " + ds.getAutoCompact() + ", the compaction threshold is " + ds.getCompactionThreshold() + ", the disk dir num is " + ds.getDiskDirs().length + ", the max oplog size is " + ds.getMaxOplogSize() + ", the queue size is " + ds.getQueueSize() + ", the synchronous (from the region) is " + r.getAttributes().isDiskSynchronous() ; } protected static String getResourceManager(Cache c) {
protected void verify(LocalRegion lr, DiskRegionProperties drp) { DiskStore ds = cache.findDiskStore(lr.getDiskStoreName()); assertTrue(ds != null); assertTrue(lr.getAttributes().isDiskSynchronous() == drp.isSynchronous()); assertTrue(ds.getAutoCompact() == drp.isRolling()); assertEquals(drp.getMaxOplogSize()/(1024*1024), ds.getMaxOplogSize()); if (drp.getTimeInterval() != -1) { assertEquals(drp.getTimeInterval(), ds.getTimeInterval()); } else { assertEquals(DiskStoreFactory.DEFAULT_TIME_INTERVAL, ds.getTimeInterval()); } assertEquals((int)drp.getBytesThreshold(), ds.getQueueSize()); int dirnum = drp.getDiskDirs().length; int dirnum2 = ds.getDiskDirs().length; int[] diskSizes = drp.getDiskDirSizes(); int[] ds_diskSizes = ds.getDiskDirSizes(); assertEquals(dirnum, dirnum2); if (diskSizes == null) { diskSizes = new int[dirnum]; java.util.Arrays.fill(diskSizes, Integer.MAX_VALUE); } for (int i=0; i<dirnum; i++) { assertTrue("diskSizes not matching", diskSizes[i] == ds_diskSizes[i]); } }
/** * Constructs a new <code>DiskAccessException</code> with a message string * and a cause. * * @param msg the message string * @param cause a causal Throwable * @param ds The disk store for which the disk operation failed * @since 6.5 */ public DiskAccessException(String msg, Throwable cause, DiskStore ds) { super((ds!=null ? "For DiskStore: " + ds.getName() + ": " : "") + msg, cause); }
String name = "testbug41862"; DiskStore diskStore = dsf.create(name); File crfFile = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_1.crf"); File drfFile = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_1.drf"); File krfFile = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_1.krf"); File ifFile = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + ".if"); AttributesFactory af = new AttributesFactory(); af.setDiskStoreName(name); cache.close(); ds.disconnect(); DiskStoreImpl.validate(name, diskStore.getDiskDirs()); File crf2File = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_2.crf"); File drf2File = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_2.drf"); DiskStoreImpl dsi = DiskStoreImpl.offlineCompact(name, diskStore.getDiskDirs(), false, -1); assertEquals(1, dsi.getDeadRecordCount()); assertEquals(3, dsi.getLiveEntryCount()); File crf3File = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_3.crf"); File drf3File = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_3.drf"); File krf3File = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_3.krf"); assertEquals(true, krf3File.exists()); assertEquals(true, crf3File.exists()); diskStore.destroy();
public void testRedefiningDefaultDiskStore() { DiskStoreFactory dsf = cache.createDiskStoreFactory(); dsf.setAutoCompact(!DiskStoreFactory.DEFAULT_AUTO_COMPACT); String name = "testMissingDrfFile"; assertEquals(null, cache.findDiskStore(DiskStoreFactory.DEFAULT_DISK_STORE_NAME)); DiskStore diskStore = dsf.create(DiskStoreFactory.DEFAULT_DISK_STORE_NAME); AttributesFactory af = new AttributesFactory(); af.setDataPolicy(DataPolicy.PERSISTENT_REPLICATE); Region r = cache.createRegion("r", af.create()); r.put("key", "value"); DiskStore ds = ((LocalRegion)r).getDiskStore(); assertEquals(ds, cache.findDiskStore(DiskStoreFactory.DEFAULT_DISK_STORE_NAME)); assertEquals(DiskStoreFactory.DEFAULT_DISK_STORE_NAME, ds.getName()); assertEquals(!DiskStoreFactory.DEFAULT_AUTO_COMPACT, ds.getAutoCompact()); cache.close(); // if test passed clean up files removeFiles(diskStore); }
String name = "testForceRollTwoEntriesWithUpdateAndDestroy"; DiskStore diskStore = dsf.create(name); File crfFile = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_1.crf"); File drfFile = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_1.drf"); File krfFile = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_1.krf"); File crf2File = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_2.crf"); File drf2File = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_2.drf"); File krf2File = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_2.krf"); File ifFile = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + ".if"); AttributesFactory af = new AttributesFactory(); af.setDiskStoreName(name); r.put("key1", "value1"); r.put("key2", "value2"); diskStore.forceRoll(); r.put("key1", "update1"); r.put("key2", "update2"); cache.close(); ds.disconnect(); DiskStoreImpl.validate(name, diskStore.getDiskDirs()); DiskStoreImpl dsi = DiskStoreImpl.offlineCompact(name, diskStore.getDiskDirs(), false, -1); assertEquals(3, dsi.getDeadRecordCount()); assertEquals(3, dsi.getLiveEntryCount()); assertEquals(false, drf2File.exists()); assertEquals(false, krf2File.exists()); File crf3File = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + "_3.crf");
public void testQueueSize() { DiskStoreFactory dsf = cache.createDiskStoreFactory(); String name = "testQueueSize"; DiskStore ds = dsf .setQueueSize(0) .create(name); assertEquals(0, ds.getQueueSize()); name = "testQueueSize2"; ds = dsf .setQueueSize(Integer.MAX_VALUE) .create(name); assertEquals(Integer.MAX_VALUE, ds.getQueueSize()); // check illegal stuff try { dsf.setQueueSize(-1); fail("expected IllegalArgumentException"); } catch (IllegalArgumentException expected) { } } public void testWriteBufferSize() {
public void testMissingInitFile() { DiskStoreFactory dsf = cache.createDiskStoreFactory(); String name = "testMissingInitFile"; DiskStore diskStore = dsf.create(name); File ifFile = new File(diskStore.getDiskDirs()[0], "BACKUP" + name + DiskInitFile.IF_FILE_EXT); assertTrue(ifFile.exists()); AttributesFactory af = new AttributesFactory(); af.setDiskStoreName(name); af.setDataPolicy(DataPolicy.PERSISTENT_REPLICATE); cache.createRegion("r", af.create()); cache.close(); assertTrue(ifFile.exists()); assertTrue(ifFile.delete()); assertFalse(ifFile.exists()); cache = createCache(); dsf = cache.createDiskStoreFactory(); assertEquals(null, ((GemFireCacheImpl)cache).findDiskStore(name)); try { dsf.create(name); fail("expected IllegalStateException"); } catch (IllegalStateException expected) { } // if test passed clean up files removeFiles(diskStore); }
assertEquals(500, ds.getQueueSize()); File[] dirs = ds.getDiskDirs(); assertEquals("west", dirs[0].getPath()); assertEquals(500, ds.getQueueSize()); dirs = ds.getDiskDirs(); assertEquals("east", dirs[0].getPath());
public void testAutoCompact() { DiskStoreFactory dsf = cache.createDiskStoreFactory(); dsf.setAutoCompact(true); assertEquals(true, dsf.create("test").getAutoCompact()); dsf.setAutoCompact(false); assertEquals(false, dsf.create("test2").getAutoCompact()); }
public void testTimeInterval() { DiskStoreFactory dsf = cache.createDiskStoreFactory(); String name = "testTimeInterval"; DiskStore ds = dsf .setTimeInterval(0) .create(name); assertEquals(0, ds.getTimeInterval()); name = "testTimeInterval2"; ds = dsf .setTimeInterval(Long.MAX_VALUE) .create(name); assertEquals(Long.MAX_VALUE, ds.getTimeInterval()); // check illegal stuff try { dsf.setTimeInterval(-1); fail("expected IllegalArgumentException"); } catch (IllegalArgumentException expected) { } } public void testMaxOplogSize() {
/** * test Illegal max oplog size */ public void testMaxOplogSize() { DiskStoreFactory dsf = cache.createDiskStoreFactory(); try { dsf.setMaxOplogSize(-1); fail("expected IllegalArgumentException"); } catch (IllegalArgumentException e) { } dsf.setMaxOplogSize(1); assertEquals(1, dsf.create("test").getMaxOplogSize()); }
public void testCompactionThreshold() { DiskStoreFactory dsf = cache.createDiskStoreFactory(); String name = "testCompactionThreshold1"; DiskStore ds = dsf .setCompactionThreshold(0) .create(name); assertEquals(0, ds.getCompactionThreshold()); name = "testCompactionThreshold2"; ds = dsf .setCompactionThreshold(100) .create(name); assertEquals(100, ds.getCompactionThreshold()); // check illegal stuff try { dsf.setCompactionThreshold(-1); fail("expected IllegalArgumentException"); } catch (IllegalArgumentException expected) { } try { dsf.setCompactionThreshold(101); fail("expected IllegalArgumentException"); } catch (IllegalArgumentException expected) { } }
diskRegionProperties, Scope.LOCAL); DiskStore ds = ((LocalRegion)region).getDiskStore(); if (!Arrays.equals(dirSizes, ds.getDiskDirSizes())) { fail("expected=" + Arrays.toString(dirSizes) + " actual=" + Arrays.toString(ds.getDiskDirSizes()));
public void testAllowForceCompaction() { DiskStoreFactory dsf = cache.createDiskStoreFactory(); dsf.setAllowForceCompaction(true); assertEquals(true, dsf.create("test").getAllowForceCompaction()); dsf.setAllowForceCompaction(false); assertEquals(false, dsf.create("test2").getAllowForceCompaction()); }
public void testWriteBufferSize() { DiskStoreFactory dsf = cache.createDiskStoreFactory(); String name = "testWriteBufferSize"; DiskStore ds = dsf .setWriteBufferSize(0) .create(name); assertEquals(0, ds.getWriteBufferSize()); name = "testWriteBufferSize2"; ds = dsf .setWriteBufferSize(Integer.MAX_VALUE) .create(name); assertEquals(Integer.MAX_VALUE, ds.getWriteBufferSize()); // check illegal stuff try { dsf.setWriteBufferSize(-1); fail("expected IllegalArgumentException"); } catch (IllegalArgumentException expected) { } } public void testTimeInterval() {
DiskStore ds = ((LocalRegion)region1).getDiskStore(); if (ds != null) { if (!Arrays.equals(dirs, ds.getDiskDirs())) { fail("expected=" + Arrays.toString(dirs) + " actual=" + ds.getDiskDirs()); DiskStore ds1 = cache.findDiskStore(((LocalRegion)region1).getDiskStoreName()); assertTrue(ds1 != null); assertTrue(ds1.getAutoCompact() == true); assertTrue(ds1.getMaxOplogSize() == 2); DiskStore ds2 = cache.findDiskStore(((LocalRegion)region2).getDiskStoreName()); assertTrue(ds2 != null); assertTrue(ds2.getAutoCompact() == false); assertTrue(ds2.getMaxOplogSize() == 0); DiskStore ds3 = cache.findDiskStore(((LocalRegion)region3).getDiskStoreName()); assertTrue(ds3 != null); assertTrue(ds3.getAutoCompact() == true); assertTrue(ds3.getMaxOplogSize() == 2); assertTrue(ds3.getQueueSize() == 10000); assertTrue(ds3.getTimeInterval() == 15); DiskStore ds4 = cache.findDiskStore(((LocalRegion)region4).getDiskStoreName()); assertTrue(ds4 != null); assertTrue(ds4.getAutoCompact() == false); assertTrue(ds4.getMaxOplogSize() == 2); assertTrue(ds4.getQueueSize() == 0);