Search in sources :

Example 6 with RegionType

use of org.apache.geode.cache.snapshot.RegionGenerator.RegionType in project geode by apache.

the class SnapshotDUnitTest method postSetUp.

@Override
public final void postSetUp() throws Exception {
    loadCache();
    RegionGenerator rgen = new RegionGenerator();
    for (final RegionType rt : RegionType.values()) {
        for (final SerializationType st : SerializationType.values()) {
            Region<Integer, MyObject> region = getCache().getRegion("test-" + rt.name() + "-" + st.name());
            region.putAll(createExpected(st, rgen));
        }
    }
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) RegionType(org.apache.geode.cache.snapshot.RegionGenerator.RegionType) MyObject(com.examples.snapshot.MyObject) SerializationType(org.apache.geode.cache.snapshot.RegionGenerator.SerializationType)

Example 7 with RegionType

use of org.apache.geode.cache.snapshot.RegionGenerator.RegionType in project geode by apache.

the class SnapshotDUnitTest method testExportAndImportWithInvokeCallbacksEnabled.

@Test
public void testExportAndImportWithInvokeCallbacksEnabled() throws Exception {
    File dir = new File(getDiskDirs()[0], "callbacks");
    dir.mkdir();
    // save all regions
    CacheSnapshotService service = getCache().getSnapshotService();
    service.save(dir, SnapshotFormat.GEMFIRE);
    // update regions with data to be overwritten by import
    updateRegions();
    SerializableCallable callbacks = new SerializableCallable() {

        @Override
        public Object call() throws Exception {
            for (final RegionType rt : RegionType.values()) {
                for (final SerializationType st : SerializationType.values()) {
                    String name = "test-" + rt.name() + "-" + st.name();
                    Cache cache = getCache();
                    Region<Integer, MyObject> region = cache.getRegion(name);
                    // add CacheWriter and CacheListener
                    AttributesMutator mutator = region.getAttributesMutator();
                    mutator.setCacheWriter(new CountingCacheWriter());
                    mutator.addCacheListener(new CountingCacheListener());
                    // add AsyncEventQueue
                    addAsyncEventQueue(region, name);
                }
            }
            return null;
        }
    };
    // add callbacks
    forEachVm(callbacks, true);
    // load all regions with invoke callbacks enabled
    SnapshotOptions options = service.createOptions();
    options.invokeCallbacks(true);
    loadRegions(dir, options);
    // verify callbacks were invoked
    verifyCallbacksInvoked();
}
Also used : RegionType(org.apache.geode.cache.snapshot.RegionGenerator.RegionType) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) SerializableCallable(org.apache.geode.test.dunit.SerializableCallable) MyObject(com.examples.snapshot.MyObject) File(java.io.File) SerializationType(org.apache.geode.cache.snapshot.RegionGenerator.SerializationType) Cache(org.apache.geode.cache.Cache) AttributesMutator(org.apache.geode.cache.AttributesMutator) Test(org.junit.Test) DistributedTest(org.apache.geode.test.junit.categories.DistributedTest)

Example 8 with RegionType

use of org.apache.geode.cache.snapshot.RegionGenerator.RegionType in project geode by apache.

the class SnapshotPerformanceDUnitTest method execute.

private void execute(int iterations, int dataCount) throws Exception {
    RegionType[] rts = new RegionType[] { RegionType.REPLICATE, RegionType.PARTITION };
    SerializationType[] sts = new SerializationType[] { SerializationType.DATA_SERIALIZABLE, SerializationType.PDX };
    for (RegionType rt : rts) {
        for (SerializationType st : sts) {
            for (int i = 0; i < iterations; i++) {
                Region<Integer, MyObject> region = createRegion(rt, st);
                LogWriterUtils.getLogWriter().info("SNP: Testing region " + region.getName() + ", iteration = " + i);
                loadData(region, st, dataCount);
                doExport(region);
                region = createRegion(rt, st);
                doImport(region);
            }
        }
    }
}
Also used : RegionType(org.apache.geode.cache.snapshot.RegionGenerator.RegionType) MyObject(com.examples.snapshot.MyObject) SerializationType(org.apache.geode.cache.snapshot.RegionGenerator.SerializationType)

Example 9 with RegionType

use of org.apache.geode.cache.snapshot.RegionGenerator.RegionType in project geode by apache.

the class CacheSnapshotJUnitTest method testFilter.

@Test
public void testFilter() throws Exception {
    for (final RegionType rt : RegionType.values()) {
        for (final SerializationType st : SerializationType.values()) {
            Region<Integer, MyObject> region = rgen.createRegion(cache, ds.getName(), rt, "test-" + rt.name() + "-" + st.name());
            region.putAll(createExpected(st));
        }
    }
    SnapshotFilter<Object, Object> even = new SnapshotFilter<Object, Object>() {

        @Override
        public boolean accept(Entry<Object, Object> entry) {
            return ((Integer) entry.getKey()) % 2 == 0;
        }
    };
    SnapshotFilter<Object, Object> odd = new SnapshotFilter<Object, Object>() {

        @Override
        public boolean accept(Entry<Object, Object> entry) {
            return ((Integer) entry.getKey()) % 2 == 1;
        }
    };
    // save even entries
    CacheSnapshotService css = cache.getSnapshotService();
    SnapshotOptions<Object, Object> options = css.createOptions().setFilter(even);
    cache.getSnapshotService().save(snaps, SnapshotFormat.GEMFIRE, options);
    for (final RegionType rt : RegionType.values()) {
        for (final SerializationType st : SerializationType.values()) {
            Region region = cache.getRegion("test-" + rt.name() + "-" + st.name());
            region.destroyRegion();
            rgen.createRegion(cache, ds.getName(), rt, "test-" + rt.name() + "-" + st.name());
        }
    }
    // load odd entries
    File[] snapshots = snaps.listFiles(new FileFilter() {

        @Override
        public boolean accept(File pathname) {
            return pathname.getName().startsWith("snapshot-");
        }
    });
    options = css.createOptions().setFilter(odd);
    css.load(snapshots, SnapshotFormat.GEMFIRE, options);
    for (final RegionType rt : RegionType.values()) {
        for (final SerializationType st : SerializationType.values()) {
            Region region = cache.getRegion("test-" + rt.name() + "-" + st.name());
            assertEquals("Comparison failure for " + rt.name() + "/" + st.name(), 0, region.size());
        }
    }
}
Also used : RegionType(org.apache.geode.cache.snapshot.RegionGenerator.RegionType) Entry(java.util.Map.Entry) MyObject(com.examples.snapshot.MyObject) Region(org.apache.geode.cache.Region) MyObject(com.examples.snapshot.MyObject) FileFilter(java.io.FileFilter) File(java.io.File) SerializationType(org.apache.geode.cache.snapshot.RegionGenerator.SerializationType) Test(org.junit.Test) IntegrationTest(org.apache.geode.test.junit.categories.IntegrationTest)

Example 10 with RegionType

use of org.apache.geode.cache.snapshot.RegionGenerator.RegionType in project geode by apache.

the class CacheSnapshotJUnitTest method testExportAndImport.

@Test
public void testExportAndImport() throws Exception {
    for (final RegionType rt : RegionType.values()) {
        for (final SerializationType st : SerializationType.values()) {
            Region<Integer, MyObject> region = rgen.createRegion(cache, ds.getName(), rt, "test-" + rt.name() + "-" + st.name());
            region.putAll(createExpected(st));
        }
    }
    // save all regions
    cache.getSnapshotService().save(snaps, SnapshotFormat.GEMFIRE);
    for (final RegionType rt : RegionType.values()) {
        for (final SerializationType st : SerializationType.values()) {
            String name = "test-" + rt.name() + "-" + st.name();
            Region<Integer, MyObject> region = cache.getRegion(name);
            region.destroyRegion();
            rgen.createRegion(cache, ds.getName(), rt, name);
        }
    }
    // load all regions
    cache.getSnapshotService().load(snaps, SnapshotFormat.GEMFIRE);
    for (final RegionType rt : RegionType.values()) {
        for (final SerializationType st : SerializationType.values()) {
            Region<Integer, MyObject> region = cache.getRegion("test-" + rt.name() + "-" + st.name());
            for (Entry<Integer, MyObject> entry : createExpected(st).entrySet()) {
                assertEquals("Comparison failure for " + rt.name() + "/" + st.name(), entry.getValue(), region.get(entry.getKey()));
            }
        }
    }
}
Also used : RegionType(org.apache.geode.cache.snapshot.RegionGenerator.RegionType) MyObject(com.examples.snapshot.MyObject) SerializationType(org.apache.geode.cache.snapshot.RegionGenerator.SerializationType) Test(org.junit.Test) IntegrationTest(org.apache.geode.test.junit.categories.IntegrationTest)

Aggregations

RegionType (org.apache.geode.cache.snapshot.RegionGenerator.RegionType)16 SerializationType (org.apache.geode.cache.snapshot.RegionGenerator.SerializationType)16 MyObject (com.examples.snapshot.MyObject)15 Test (org.junit.Test)11 IntegrationTest (org.apache.geode.test.junit.categories.IntegrationTest)9 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)5 File (java.io.File)4 Entry (java.util.Map.Entry)4 SerializableCallable (org.apache.geode.test.dunit.SerializableCallable)4 Cache (org.apache.geode.cache.Cache)3 MyPdxSerializer (com.examples.snapshot.MyPdxSerializer)2 HashMap (java.util.HashMap)2 CacheFactory (org.apache.geode.cache.CacheFactory)2 DistributedTest (org.apache.geode.test.junit.categories.DistributedTest)2 FileFilter (java.io.FileFilter)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)1 AttributesMutator (org.apache.geode.cache.AttributesMutator)1 DiskStore (org.apache.geode.cache.DiskStore)1