Search in sources :

Example 11 with START_FROM_OLDEST

use of com.hazelcast.jet.pipeline.JournalInitialPosition.START_FROM_OLDEST in project hazelcast by hazelcast.

the class Sources_withEventJournalTest method remoteCacheJournal_withUnknownValueClass.

@Test
public void remoteCacheJournal_withUnknownValueClass() throws Exception {
    // Given
    URL jarResource = Thread.currentThread().getContextClassLoader().getResource("deployment/sample-pojo-1.0-car.jar");
    assertNotNull("jar not found", jarResource);
    ClassLoader cl = new URLClassLoader(new URL[] { jarResource });
    Class<?> carClz = cl.loadClass("com.sample.pojo.car.Car");
    Object car = carClz.getConstructor(String.class, String.class).newInstance("make", "model");
    String cacheName = JOURNALED_CACHE_PREFIX + randomName();
    ICache<String, Object> cache = remoteHz.getCacheManager().getCache(cacheName);
    // the class of the value is unknown to the remote IMDG member, it will be only known to Jet
    cache.put("key", car);
    // When
    StreamSource<Entry<Object, Object>> source = Sources.remoteCacheJournal(cacheName, clientConfig, START_FROM_OLDEST);
    // Then
    p.readFrom(source).withoutTimestamps().map(en -> en.getValue().toString()).writeTo(sink);
    JobConfig jobConfig = new JobConfig();
    jobConfig.addJar(jarResource);
    Job job = hz().getJet().newJob(p, jobConfig);
    List<Object> expected = singletonList(car.toString());
    assertTrueEventually(() -> assertEquals(expected, new ArrayList<>(sinkList)), 10);
    job.cancel();
}
Also used : BeforeClass(org.junit.BeforeClass) IntStream.range(java.util.stream.IntStream.range) URL(java.net.URL) HazelcastInstanceFactory(com.hazelcast.instance.impl.HazelcastInstanceFactory) CacheSimpleConfig(com.hazelcast.config.CacheSimpleConfig) ArrayList(java.util.ArrayList) Collections.singletonList(java.util.Collections.singletonList) URLClassLoader(java.net.URLClassLoader) EventJournalCacheEvent(com.hazelcast.cache.EventJournalCacheEvent) Util.entry(com.hazelcast.jet.Util.entry) ClientConfig(com.hazelcast.client.config.ClientConfig) Job(com.hazelcast.jet.Job) IList(com.hazelcast.collection.IList) PredicateEx(com.hazelcast.function.PredicateEx) Config(com.hazelcast.config.Config) HazelcastInstance(com.hazelcast.core.HazelcastInstance) AfterClass(org.junit.AfterClass) Assert.assertNotNull(org.junit.Assert.assertNotNull) JobConfig(com.hazelcast.jet.config.JobConfig) Test(org.junit.Test) SlowTest(com.hazelcast.test.annotation.SlowTest) START_FROM_OLDEST(com.hazelcast.jet.pipeline.JournalInitialPosition.START_FROM_OLDEST) Category(org.junit.experimental.categories.Category) Collectors.joining(java.util.stream.Collectors.joining) List(java.util.List) Functions.entryValue(com.hazelcast.function.Functions.entryValue) Collectors.toList(java.util.stream.Collectors.toList) Stream(java.util.stream.Stream) EventJournalMapEvent(com.hazelcast.map.EventJournalMapEvent) ICache(com.hazelcast.cache.ICache) Entry(java.util.Map.Entry) Util.mapPutEvents(com.hazelcast.jet.Util.mapPutEvents) Assert.assertEquals(org.junit.Assert.assertEquals) IMap(com.hazelcast.map.IMap) ArrayList(java.util.ArrayList) URL(java.net.URL) JobConfig(com.hazelcast.jet.config.JobConfig) Entry(java.util.Map.Entry) URLClassLoader(java.net.URLClassLoader) URLClassLoader(java.net.URLClassLoader) Job(com.hazelcast.jet.Job) Test(org.junit.Test) SlowTest(com.hazelcast.test.annotation.SlowTest)

Example 12 with START_FROM_OLDEST

use of com.hazelcast.jet.pipeline.JournalInitialPosition.START_FROM_OLDEST in project hazelcast by hazelcast.

the class HazelcastConnectorTest method when_streamCache_withFilterAndProjection.

@Test
public void when_streamCache_withFilterAndProjection() {
    DAG dag = new DAG();
    Vertex source = dag.newVertex("source", SourceProcessors.<Integer, Integer, Integer>streamCacheP(streamSourceName, event -> !event.getKey().equals(0), EventJournalCacheEvent::getKey, START_FROM_OLDEST, eventTimePolicy(i -> i, limitingLag(0), 1, 0, 10_000)));
    Vertex sink = dag.newVertex("sink", writeListP(streamSinkName));
    dag.edge(between(source, sink));
    Job job = instance().getJet().newJob(dag);
    ICache<Integer, Integer> sourceCache = instance().getCacheManager().getCache(streamSourceName);
    range(0, ENTRY_COUNT).forEach(i -> sourceCache.put(i, i));
    assertSizeEventually(ENTRY_COUNT - 1, instance().getList(streamSinkName));
    assertFalse(instance().getList(streamSinkName).contains(0));
    assertTrue(instance().getList(streamSinkName).contains(1));
    job.cancel();
}
Also used : ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) IntStream.range(java.util.stream.IntStream.range) QuickTest(com.hazelcast.test.annotation.QuickTest) SourceProcessors.readMapP(com.hazelcast.jet.core.processor.SourceProcessors.readMapP) SourceProcessors.readListP(com.hazelcast.jet.core.processor.SourceProcessors.readListP) SourceProcessors.streamCacheP(com.hazelcast.jet.core.processor.SourceProcessors.streamCacheP) EventJournalCacheEvent(com.hazelcast.cache.EventJournalCacheEvent) TruePredicate(com.hazelcast.query.impl.predicates.TruePredicate) Map(java.util.Map) SinkProcessors.writeCacheP(com.hazelcast.jet.core.processor.SinkProcessors.writeCacheP) DAG(com.hazelcast.jet.core.DAG) ICacheManager(com.hazelcast.core.ICacheManager) Projections(com.hazelcast.projection.Projections) SourceProcessors.readCacheP(com.hazelcast.jet.core.processor.SourceProcessors.readCacheP) SimpleTestInClusterSupport(com.hazelcast.jet.SimpleTestInClusterSupport) EventTimePolicy.noEventTime(com.hazelcast.jet.core.EventTimePolicy.noEventTime) START_FROM_OLDEST(com.hazelcast.jet.pipeline.JournalInitialPosition.START_FROM_OLDEST) Category(org.junit.experimental.categories.Category) Collectors.joining(java.util.stream.Collectors.joining) List(java.util.List) NearCacheConfig(com.hazelcast.config.NearCacheConfig) EventJournalMapEvent(com.hazelcast.map.EventJournalMapEvent) Assert.assertFalse(org.junit.Assert.assertFalse) SinkProcessors(com.hazelcast.jet.core.processor.SinkProcessors) Entry(java.util.Map.Entry) SinkProcessors.writeMapP(com.hazelcast.jet.core.processor.SinkProcessors.writeMapP) IntStream(java.util.stream.IntStream) NearCachedMapProxyImpl(com.hazelcast.map.impl.proxy.NearCachedMapProxyImpl) BeforeClass(org.junit.BeforeClass) SourceProcessors(com.hazelcast.jet.core.processor.SourceProcessors) TestProcessors(com.hazelcast.jet.core.TestProcessors) Util.entry(com.hazelcast.jet.Util.entry) Job(com.hazelcast.jet.Job) Before(org.junit.Before) IList(com.hazelcast.collection.IList) Config(com.hazelcast.config.Config) SourceProcessors.streamMapP(com.hazelcast.jet.core.processor.SourceProcessors.streamMapP) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) WatermarkPolicy.limitingLag(com.hazelcast.jet.core.WatermarkPolicy.limitingLag) Vertex(com.hazelcast.jet.core.Vertex) Collectors.toList(java.util.stream.Collectors.toList) Predicates(com.hazelcast.query.Predicates) ICache(com.hazelcast.cache.ICache) EventTimePolicy.eventTimePolicy(com.hazelcast.jet.core.EventTimePolicy.eventTimePolicy) Util.mapPutEvents(com.hazelcast.jet.Util.mapPutEvents) Assert.assertEquals(org.junit.Assert.assertEquals) IMap(com.hazelcast.map.IMap) Edge.between(com.hazelcast.jet.core.Edge.between) SinkProcessors.writeListP(com.hazelcast.jet.core.processor.SinkProcessors.writeListP) Vertex(com.hazelcast.jet.core.Vertex) DAG(com.hazelcast.jet.core.DAG) Job(com.hazelcast.jet.Job) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Example 13 with START_FROM_OLDEST

use of com.hazelcast.jet.pipeline.JournalInitialPosition.START_FROM_OLDEST in project hazelcast by hazelcast.

the class HazelcastConnectorTest method when_streamMap_withFilterAndProjection.

@Test
public void when_streamMap_withFilterAndProjection() {
    DAG dag = new DAG();
    Vertex source = dag.newVertex("source", SourceProcessors.<Integer, Integer, Integer>streamMapP(streamSourceName, event -> event.getKey() != 0, EventJournalMapEvent::getKey, START_FROM_OLDEST, eventTimePolicy(i -> i, limitingLag(0), 1, 0, 10_000)));
    Vertex sink = dag.newVertex("sink", writeListP(streamSinkName));
    dag.edge(between(source, sink));
    Job job = instance().getJet().newJob(dag);
    IMap<Integer, Integer> sourceMap = instance().getMap(streamSourceName);
    range(0, ENTRY_COUNT).forEach(i -> sourceMap.put(i, i));
    assertSizeEventually(ENTRY_COUNT - 1, instance().getList(streamSinkName));
    assertFalse(instance().getList(streamSinkName).contains(0));
    assertTrue(instance().getList(streamSinkName).contains(1));
    job.cancel();
}
Also used : ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) IntStream.range(java.util.stream.IntStream.range) QuickTest(com.hazelcast.test.annotation.QuickTest) SourceProcessors.readMapP(com.hazelcast.jet.core.processor.SourceProcessors.readMapP) SourceProcessors.readListP(com.hazelcast.jet.core.processor.SourceProcessors.readListP) SourceProcessors.streamCacheP(com.hazelcast.jet.core.processor.SourceProcessors.streamCacheP) EventJournalCacheEvent(com.hazelcast.cache.EventJournalCacheEvent) TruePredicate(com.hazelcast.query.impl.predicates.TruePredicate) Map(java.util.Map) SinkProcessors.writeCacheP(com.hazelcast.jet.core.processor.SinkProcessors.writeCacheP) DAG(com.hazelcast.jet.core.DAG) ICacheManager(com.hazelcast.core.ICacheManager) Projections(com.hazelcast.projection.Projections) SourceProcessors.readCacheP(com.hazelcast.jet.core.processor.SourceProcessors.readCacheP) SimpleTestInClusterSupport(com.hazelcast.jet.SimpleTestInClusterSupport) EventTimePolicy.noEventTime(com.hazelcast.jet.core.EventTimePolicy.noEventTime) START_FROM_OLDEST(com.hazelcast.jet.pipeline.JournalInitialPosition.START_FROM_OLDEST) Category(org.junit.experimental.categories.Category) Collectors.joining(java.util.stream.Collectors.joining) List(java.util.List) NearCacheConfig(com.hazelcast.config.NearCacheConfig) EventJournalMapEvent(com.hazelcast.map.EventJournalMapEvent) Assert.assertFalse(org.junit.Assert.assertFalse) SinkProcessors(com.hazelcast.jet.core.processor.SinkProcessors) Entry(java.util.Map.Entry) SinkProcessors.writeMapP(com.hazelcast.jet.core.processor.SinkProcessors.writeMapP) IntStream(java.util.stream.IntStream) NearCachedMapProxyImpl(com.hazelcast.map.impl.proxy.NearCachedMapProxyImpl) BeforeClass(org.junit.BeforeClass) SourceProcessors(com.hazelcast.jet.core.processor.SourceProcessors) TestProcessors(com.hazelcast.jet.core.TestProcessors) Util.entry(com.hazelcast.jet.Util.entry) Job(com.hazelcast.jet.Job) Before(org.junit.Before) IList(com.hazelcast.collection.IList) Config(com.hazelcast.config.Config) SourceProcessors.streamMapP(com.hazelcast.jet.core.processor.SourceProcessors.streamMapP) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) WatermarkPolicy.limitingLag(com.hazelcast.jet.core.WatermarkPolicy.limitingLag) Vertex(com.hazelcast.jet.core.Vertex) Collectors.toList(java.util.stream.Collectors.toList) Predicates(com.hazelcast.query.Predicates) ICache(com.hazelcast.cache.ICache) EventTimePolicy.eventTimePolicy(com.hazelcast.jet.core.EventTimePolicy.eventTimePolicy) Util.mapPutEvents(com.hazelcast.jet.Util.mapPutEvents) Assert.assertEquals(org.junit.Assert.assertEquals) IMap(com.hazelcast.map.IMap) Edge.between(com.hazelcast.jet.core.Edge.between) SinkProcessors.writeListP(com.hazelcast.jet.core.processor.SinkProcessors.writeListP) Vertex(com.hazelcast.jet.core.Vertex) DAG(com.hazelcast.jet.core.DAG) Job(com.hazelcast.jet.Job) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Example 14 with START_FROM_OLDEST

use of com.hazelcast.jet.pipeline.JournalInitialPosition.START_FROM_OLDEST in project hazelcast by hazelcast.

the class StreamEventJournalPTest method setUp.

@Before
public void setUp() {
    Config config = smallInstanceConfig();
    config.setProperty(PARTITION_COUNT.getName(), String.valueOf(NUM_PARTITIONS));
    config.getMapConfig("*").getEventJournalConfig().setEnabled(true).setCapacity(JOURNAL_CAPACITY);
    instance = createHazelcastInstance(config);
    map = (MapProxyImpl<String, Integer>) instance.<String, Integer>getMap("test");
    List<Integer> allPartitions = IntStream.range(0, NUM_PARTITIONS).boxed().collect(toList());
    supplier = () -> new StreamEventJournalP<>(map, allPartitions, e -> true, EventJournalMapEvent::getNewValue, START_FROM_OLDEST, false, noEventTime());
    key0 = generateKeyForPartition(instance, 0);
    key1 = generateKeyForPartition(instance, 1);
}
Also used : IntStream(java.util.stream.IntStream) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) Arrays(java.util.Arrays) QuickTest(com.hazelcast.test.annotation.QuickTest) PARTITION_COUNT(com.hazelcast.spi.properties.ClusterProperty.PARTITION_COUNT) RunWith(org.junit.runner.RunWith) Processor(com.hazelcast.jet.core.Processor) TestOutbox(com.hazelcast.jet.core.test.TestOutbox) TestProcessorContext(com.hazelcast.jet.core.test.TestProcessorContext) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) MapProxyImpl(com.hazelcast.map.impl.proxy.MapProxyImpl) DAG(com.hazelcast.jet.core.DAG) JobStatus(com.hazelcast.jet.core.JobStatus) Job(com.hazelcast.jet.Job) Before(org.junit.Before) TestInbox(com.hazelcast.jet.core.test.TestInbox) EventTimePolicy.noEventTime(com.hazelcast.jet.core.EventTimePolicy.noEventTime) Config(com.hazelcast.config.Config) HazelcastInstance(com.hazelcast.core.HazelcastInstance) SourceProcessors.streamMapP(com.hazelcast.jet.core.processor.SourceProcessors.streamMapP) JetTestSupport(com.hazelcast.jet.core.JetTestSupport) EXACTLY_ONCE(com.hazelcast.jet.config.ProcessingGuarantee.EXACTLY_ONCE) JobConfig(com.hazelcast.jet.config.JobConfig) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) START_FROM_OLDEST(com.hazelcast.jet.pipeline.JournalInitialPosition.START_FROM_OLDEST) Category(org.junit.experimental.categories.Category) Collectors(java.util.stream.Collectors) SupplierEx(com.hazelcast.function.SupplierEx) Vertex(com.hazelcast.jet.core.Vertex) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) SAME_ITEMS_ANY_ORDER(com.hazelcast.jet.core.test.TestSupport.SAME_ITEMS_ANY_ORDER) TestSupport(com.hazelcast.jet.core.test.TestSupport) JournalInitialPosition(com.hazelcast.jet.pipeline.JournalInitialPosition) EventJournalMapEvent(com.hazelcast.map.EventJournalMapEvent) Assert.assertFalse(org.junit.Assert.assertFalse) HazelcastParallelClassRunner(com.hazelcast.test.HazelcastParallelClassRunner) Entry(java.util.Map.Entry) Assert.assertEquals(org.junit.Assert.assertEquals) Config(com.hazelcast.config.Config) JobConfig(com.hazelcast.jet.config.JobConfig) Before(org.junit.Before)

Example 15 with START_FROM_OLDEST

use of com.hazelcast.jet.pipeline.JournalInitialPosition.START_FROM_OLDEST in project hazelcast by hazelcast.

the class Sources_withEventJournalTest method remoteMapJournal_withUnknownValueClass.

@Test
public void remoteMapJournal_withUnknownValueClass() throws Exception {
    // Given
    URL jarResource = Thread.currentThread().getContextClassLoader().getResource("deployment/sample-pojo-1.0-car.jar");
    assertNotNull("jar not found", jarResource);
    ClassLoader cl = new URLClassLoader(new URL[] { jarResource });
    Class<?> carClz = cl.loadClass("com.sample.pojo.car.Car");
    Object car = carClz.getConstructor(String.class, String.class).newInstance("make", "model");
    IMap<String, Object> map = remoteHz.getMap(srcName);
    // the class of the value is unknown to the remote IMDG member, it will be only known to Jet
    map.put("key", car);
    // When
    StreamSource<Entry<Object, Object>> source = Sources.remoteMapJournal(srcName, clientConfig, START_FROM_OLDEST);
    // Then
    p.readFrom(source).withoutTimestamps().map(en -> en.getValue().toString()).writeTo(sink);
    JobConfig jobConfig = new JobConfig();
    jobConfig.addJar(jarResource);
    Job job = hz().getJet().newJob(p, jobConfig);
    List<Object> expected = singletonList(car.toString());
    assertTrueEventually(() -> assertEquals(expected, new ArrayList<>(sinkList)), 10);
    job.cancel();
}
Also used : BeforeClass(org.junit.BeforeClass) IntStream.range(java.util.stream.IntStream.range) URL(java.net.URL) HazelcastInstanceFactory(com.hazelcast.instance.impl.HazelcastInstanceFactory) CacheSimpleConfig(com.hazelcast.config.CacheSimpleConfig) ArrayList(java.util.ArrayList) Collections.singletonList(java.util.Collections.singletonList) URLClassLoader(java.net.URLClassLoader) EventJournalCacheEvent(com.hazelcast.cache.EventJournalCacheEvent) Util.entry(com.hazelcast.jet.Util.entry) ClientConfig(com.hazelcast.client.config.ClientConfig) Job(com.hazelcast.jet.Job) IList(com.hazelcast.collection.IList) PredicateEx(com.hazelcast.function.PredicateEx) Config(com.hazelcast.config.Config) HazelcastInstance(com.hazelcast.core.HazelcastInstance) AfterClass(org.junit.AfterClass) Assert.assertNotNull(org.junit.Assert.assertNotNull) JobConfig(com.hazelcast.jet.config.JobConfig) Test(org.junit.Test) SlowTest(com.hazelcast.test.annotation.SlowTest) START_FROM_OLDEST(com.hazelcast.jet.pipeline.JournalInitialPosition.START_FROM_OLDEST) Category(org.junit.experimental.categories.Category) Collectors.joining(java.util.stream.Collectors.joining) List(java.util.List) Functions.entryValue(com.hazelcast.function.Functions.entryValue) Collectors.toList(java.util.stream.Collectors.toList) Stream(java.util.stream.Stream) EventJournalMapEvent(com.hazelcast.map.EventJournalMapEvent) ICache(com.hazelcast.cache.ICache) Entry(java.util.Map.Entry) Util.mapPutEvents(com.hazelcast.jet.Util.mapPutEvents) Assert.assertEquals(org.junit.Assert.assertEquals) IMap(com.hazelcast.map.IMap) ArrayList(java.util.ArrayList) URL(java.net.URL) JobConfig(com.hazelcast.jet.config.JobConfig) Entry(java.util.Map.Entry) URLClassLoader(java.net.URLClassLoader) URLClassLoader(java.net.URLClassLoader) Job(com.hazelcast.jet.Job) Test(org.junit.Test) SlowTest(com.hazelcast.test.annotation.SlowTest)

Aggregations

START_FROM_OLDEST (com.hazelcast.jet.pipeline.JournalInitialPosition.START_FROM_OLDEST)23 Assert.assertEquals (org.junit.Assert.assertEquals)23 Test (org.junit.Test)23 Before (org.junit.Before)21 Entry (java.util.Map.Entry)18 Category (org.junit.experimental.categories.Category)18 RunWith (org.junit.runner.RunWith)17 Config (com.hazelcast.config.Config)16 Job (com.hazelcast.jet.Job)16 IntStream (java.util.stream.IntStream)15 DAG (com.hazelcast.jet.core.DAG)14 JetTestSupport (com.hazelcast.jet.core.JetTestSupport)14 Vertex (com.hazelcast.jet.core.Vertex)14 Edge.between (com.hazelcast.jet.core.Edge.between)13 BeforeClass (org.junit.BeforeClass)13 Assert.assertTrue (org.junit.Assert.assertTrue)12 ICache (com.hazelcast.cache.ICache)10 Util.entry (com.hazelcast.jet.Util.entry)10 EventJournalMapEvent (com.hazelcast.map.EventJournalMapEvent)10 IList (com.hazelcast.collection.IList)9