Giter Site home page Giter Site logo

hazelcast / hazelcast-jet Goto Github PK

View Code? Open in Web Editor NEW
1.1K 79.0 206.0 174.83 MB

Distributed Stream and Batch Processing

Home Page: https://jet-start.sh

License: Other

Java 98.14% Shell 0.34% Batchfile 0.02% CSS 0.09% Python 0.06% Kotlin 0.01% JavaScript 0.54% FreeMarker 0.80%
java big-data stream-processing batch-processing event-processing low-latency kafka cdc hacktoberfest

hazelcast-jet's Introduction

Join the
community on Slack Code Quality: Java Docker pulls Downloads Contributors

Note on Hazelcast 5

With the release of Hazelcast 5.0, development of Jet has been moved to the core Hazelcast Repository - please follow the repository for details on how to use Hazelcast for building data pipelines.

Hazelcast 5 also comes with extensive documentation, replacing the existing Jet docs: https://docs.hazelcast.com/hazelcast/latest/index.html

What is Jet

Jet is an open-source, in-memory, distributed batch and stream processing engine. You can use it to process large volumes of real-time events or huge batches of static datasets. To give a sense of scale, a single node of Jet has been proven to aggregate 10 million events per second with latency under 10 milliseconds.

It provides a Java API to build stream and batch processing applications through the use of a dataflow programming model. After you deploy your application to a Jet cluster, Jet will automatically use all the computational resources on the cluster to run your application.

If you add more nodes to the cluster while your application is running, Jet automatically scales up your application to run on the new nodes. If you remove nodes from the cluster, it scales it down seamlessly without losing the current computational state, providing exactly-once processing guarantees.

For example, you can represent the classical word count problem that reads some local files and outputs the frequency of each word to console using the following API:

JetInstance jet = Jet.bootstrappedInstance();

Pipeline p = Pipeline.create();
p.readFrom(Sources.files("/path/to/text-files"))
 .flatMap(line -> traverseArray(line.toLowerCase().split("\\W+")))
 .filter(word -> !word.isEmpty())
 .groupingKey(word -> word)
 .aggregate(counting())
 .writeTo(Sinks.logger());

jet.newJob(p).join();

and then deploy the application to the cluster:

bin/jet submit word-count.jar

Another application which aggregates millions of sensor readings per second with 10-millisecond resolution from Kafka looks like the following:

Pipeline p = Pipeline.create();

p.readFrom(KafkaSources.<String, Reading>kafka(kafkaProperties, "sensors"))
 .withTimestamps(event -> event.getValue().timestamp(), 10) // use event timestamp, allowed lag in ms
 .groupingKey(reading -> reading.sensorId())
 .window(sliding(1_000, 10)) // sliding window of 1s by 10ms
 .aggregate(averagingDouble(reading -> reading.temperature()))
 .writeTo(Sinks.logger());

jet.newJob(p).join();

Jet comes with out-of-the-box support for many kinds of data sources and sinks, including:

  • Apache Kafka
  • Local Files (Text, Avro, JSON)
  • Apache Hadoop (Azure Data Lake, S3, GCS)
  • Apache Pulsar
  • Debezium
  • Elasticsearch
  • JDBC
  • JMS
  • InfluxDB
  • Hazelcast
  • Redis
  • MongoDB
  • Twitter

When Should You Use Jet

Jet is a good fit when you need to process large amounts of data in a distributed fashion. You can use it to build a variety of data-processing applications, such as:

  • Low-latency stateful stream processing. For example, detecting trends in 100 Hz sensor data from 100,000 devices and sending corrective feedback within 10 milliseconds.
  • High-throughput, large-state stream processing. For example, tracking GPS locations of millions of users, inferring their velocity vectors.
  • Batch processing of big data volumes, for example analyzing a day's worth of stock trading data to update the risk exposure of a given portfolio.

Key Features

Predictable Latency Under Load

Jet uses a unique execution model with cooperative multithreading and can achieve extremely low latencies while processing millions of items per second on just a single node:

The engine is able to run anywhere from tens to thousands of jobs concurrently on a fixed number of threads.

Fault Tolerance With No Infrastructure

Jet stores computational state in a distributed, replicated in-memory store and does not require the presence of a distributed file system nor infrastructure like Zookeeper to provide high-availability and fault-tolerance.

Jet implements a version of the Chandy-Lamport algorithm to provide exactly-once processing under the face of failures. When interfacing with external transactional systems like databases, it can provide end-to-end processing guarantees using two-phase commit.

Advanced Event Processing

Event data can often arrive out of order and Jet has first-class support for dealing with this disorder. Jet implements a technique called distributed watermarks to treat disordered events as if they were arriving in order.

How Do I Get Started

Follow the Get Started guide to start using Jet.

Download

You can download Jet from https://jet-start.sh.

Alternatively, you can use the latest docker image:

docker run -p 5701:5701 hazelcast/hazelcast-jet

Use the following Maven coordinates to add Jet to your application:

<groupId>com.hazelcast.jet</groupId>
<artifactId>hazelcast-jet</artifactId>
<version>4.2</version>

Tutorials

See the tutorials for tutorials on using Jet. Some examples:

Reference

Jet supports a variety of transforms and operators. These include:

Community

Hazelcast Jet team actively answers questions on Stack Overflow and Hazelcast Community Slack.

You are also encouraged to join the hazelcast-jet mailing list if you are interested in community discussions

How Can I Contribute

Thanks for your interest in contributing! The easiest way is to just send a pull request. Have a look at the issues marked as good first issue for some guidance.

Building From Source

To build, use:

./mvnw clean package -DskipTests

Use Latest Snapshot Release

You can always use the latest snapshot release if you want to try the features currently under development.

Maven snippet:

<repositories>
    <repository>
        <id>snapshot-repository</id>
        <name>Maven2 Snapshot Repository</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>daily</updatePolicy>
        </snapshots>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.hazelcast.jet</groupId>
        <artifactId>hazelcast-jet</artifactId>
        <version>4.3-SNAPSHOT</version>
    </dependency>
</dependencies>

Trigger Phrases in the Pull Request Conversation

When you create a pull request (PR), it must pass a build-and-test procedure. Maintainers will be notified about your PR, and they can trigger the build using special comments. These are the phrases you may see used in the comments on your PR:

  • verify - run the default PR builder, equivalent to mvn clean install
  • run-nightly-tests - use the settings for the nightly build (mvn clean install -Pnightly). This includes slower tests in the run, which we don't normally run on every PR
  • run-windows - run the tests on a Windows machine (HighFive is not supported here)
  • run-cdc-debezium-tests - run all tests in the extensions/cdc-debezium module
  • run-cdc-mysql-tests - run all tests in the extensions/cdc-mysql module
  • run-cdc-postgres-tests - run all tests in the extensions/cdc-postgres module

Where not indicated, the builds run on a Linux machine with Oracle JDK 8.

License

Source code in this repository is covered by one of two licenses:

  1. Apache License 2.0
  2. Hazelcast Community License

The default license throughout the repository is Apache License 2.0 unless the header specifies another license. Please see the Licensing section for more information.

Credits

We owe (the good parts of) our CLI tool's user experience to picocli.

Copyright

Copyright (c) 2008-2021, Hazelcast, Inc. All Rights Reserved.

Visit www.hazelcast.com for more info.

hazelcast-jet's People

Contributors

blazember avatar caioguedes avatar cangencer avatar dependabot-preview[bot] avatar devopshazelcast avatar donnerbart avatar eminn avatar fly-style avatar frant-hartm avatar gierlachg avatar gregrluck avatar hasancelik avatar hhromic avatar jbartok avatar jerrinot avatar kwart avatar metanet avatar mmedenjak avatar neilstevenson avatar nfrankel avatar olukas avatar ototot avatar ramizdundar avatar sapnaderajeradhakrishna avatar serdaro avatar tisonkun avatar tomaszgaweda avatar ufukyilmaz avatar viliam-durina avatar vladoschreiner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hazelcast-jet's Issues

Packet corruption after exception thrown in a job

After an exception is thrown in a Job, an another Job is run afterwards sometimes the second application will hang or a OutOfMemory error will be thrown due to trying to allocate a too large JetPacket. Only happens when running the Job in a cluster.

Test to reproduce:

 package com.hazelcast.jet;

import com.hazelcast.core.HazelcastInstance;
import com.hazelcast.core.IMap;
import com.hazelcast.jet.runtime.InputChunk;
import com.hazelcast.jet.runtime.OutputCollector;
import com.hazelcast.jet.runtime.TaskContext;
import com.hazelcast.jet.sink.MapSink;
import com.hazelcast.jet.source.MapSource;
import com.hazelcast.test.HazelcastParallelClassRunner;
import com.hazelcast.test.annotation.QuickTest;
import com.hazelcast.test.annotation.Repeat;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;

import java.util.concurrent.ExecutionException;

@Category(QuickTest.class)
@RunWith(HazelcastParallelClassRunner.class)
public class ExecuteJobTest extends JetTestSupport {

    private static final int NODE_COUNT = 3;
    private static final int COUNT = 10000;

    private static HazelcastInstance instance;
    private static IMap<Object, Object> sink;
    private static IMap<Object, Object> source;

    @BeforeClass
    public static void setUp() throws Exception {
        instance = createCluster(NODE_COUNT);
        sink = instance.getMap("sink");
        source = instance.getMap("source");

        for (int i = 0; i < COUNT; i++) {
            source.put(i, i);
        }
    }

    @Test
    @Repeat(100)
    public void testExecute() throws ExecutionException, InterruptedException {
        DAG dag = new DAG();
        dag.addVertex(
                new Vertex("vertex", ExecutionProcessor.class)
                        .addSink(new MapSink(sink.getName()))
                        .addSource(new MapSource(source.getName()))
                        .parallelism(8)
        );
        Job job = JetEngine.getJob(instance, "testExecute", dag);
        try {
            job.execute().get();
        } catch (Exception e) {
            DAG dag2 = new DAG();
            dag2.addVertex(new Vertex("vertex", TestProcessors.Noop.class)
                    .addSink(new MapSink(sink.getName()))
                    .addSource(new MapSource(source.getName()))
                    .parallelism(8));
            Job job2 = JetEngine.getJob(instance, "testExecute2", dag2);
            job2.execute().get();
            job2.destroy();
        } finally {
            job.destroy();
        }
    }

    public static class ExecutionProcessor implements Processor {

        private int i;

        @Override
        public void before(TaskContext taskContext) {
            i = 0;
        }

        @Override
        public boolean process(InputChunk input, OutputCollector output, String source) throws Exception {
            throw new IllegalArgumentException("exception");
        }
    }
}

Jet Memory Management

  1. HybridMemoryManager implementation based on Hazelcast MemoryManager interface

  2. Unified SerializationService

Remote IMDG access fails silently for JetClient

Use of com.hazelcast.jet.impl.connector.ReadWithPartitionIteratorP.readMap(String mapName, ClientConfig clientConfig) fails silently for a DAG submitted by a JetClient. Works from JetInstance that is a server.

Looks like a problem with RemoteClusterMetaSupplier and the iteratorSupplier instance lambda.

Currently tried on 0.3.2-SNAPSHOT

[j.u.s] Comparator serialization issue in client-cluster mode

code like

.stream()
     .sorted((Distributed.Comparator<Map.Entry<String, Integer>>) (o1, o2) -> o2.getValue().compareTo(o1.getValue()))

throws

Exception in thread "main" com.hazelcast.nio.serialization.HazelcastSerializationException: java.io.IOException: unexpected exception type

in client-cluster mode

Thank you

No DataSerializerFactory registered for namespace: -10002

Trying to get started with hazelcast and hazelcast jet, I tried this fairly simple example: http://jet.hazelcast.org/getting-started/.

Everything works fine till job 0 is to be executed. And then:

C:\Users\Abernard\Desktop>java -jar JavaHazelTest-1.0-SNAPSHOT-jar-with-dependencies.jar
Mรตr 02, 2017 2:04:31 PM com.hazelcast.jet.impl.config.XmlJetConfigLocator
INFORMATION: Loading hazelcast-jet-default.xml from classpath.
Mรตr 02, 2017 2:04:31 PM com.hazelcast.jet.impl.config.XmlJetConfigLocator
INFORMATION: Loading hazelcast-jet-member-default.xml from classpath.
Mรตr 02, 2017 2:04:32 PM com.hazelcast.instance.DefaultAddressPicker
INFORMATION: [LOCAL] [jet] [0.3] [3.8] Prefer IPv4 stack is true.
Mรตr 02, 2017 2:04:32 PM com.hazelcast.instance.DefaultAddressPicker
INFORMATION: [LOCAL] [jet] [0.3] [3.8] Picked [10.13.52.102]:5701, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,local
port=5701], bind any local is true
Mรตr 02, 2017 2:04:32 PM com.hazelcast.system
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Hazelcast 3.8 (20170217 - d7998b4) starting at [10.13.52.102]:5701
Mรตr 02, 2017 2:04:32 PM com.hazelcast.system
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Copyright (c) 2008-2017, Hazelcast, Inc. All Rights Reserved.
Mรตr 02, 2017 2:04:32 PM com.hazelcast.system
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Configured Hazelcast Serialization version : 1
Mรตr 02, 2017 2:04:32 PM com.hazelcast.spi.impl.operationservice.impl.BackpressureRegulator
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Backpressure is disabled
Mรตr 02, 2017 2:04:33 PM com.hazelcast.instance.Node
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Creating MulticastJoiner
Mรตr 02, 2017 2:04:33 PM com.hazelcast.jet.impl.JetService
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Starting Jet 0.3 (20170206 - 5c8738d)
Mรตr 02, 2017 2:04:33 PM com.hazelcast.jet.impl.JetService
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Setting number of cooperative threads and default parallelism to 2
Mรตr 02, 2017 2:04:33 PM com.hazelcast.jet.impl.JetService
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8]
        o   o   o   o---o o---o o     o---o   o   o---o o-o-o        o o---o o-o-o
        |   |  / \     /  |     |     |      / \  |       |          | |       |
        o---o o---o   o   o-o   |     o     o---o o---o   |          | o-o     |
        |   | |   |  /    |     |     |     |   |     |   |      \   | |       |
        o   o o   o o---o o---o o---o o---o o   o o---o   o       o--o o---o   o
Mรตr 02, 2017 2:04:33 PM com.hazelcast.jet.impl.JetService
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Copyright (c) 2008-2017, Hazelcast, Inc. All Rights Reserved.
Mรตr 02, 2017 2:04:33 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Starting 2 partition threads
Mรตr 02, 2017 2:04:33 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Starting 3 generic threads (1 dedicated for priority tasks)
Mรตr 02, 2017 2:04:33 PM com.hazelcast.core.LifecycleService
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] [10.13.52.102]:5701 is STARTING
Mรตr 02, 2017 2:04:35 PM com.hazelcast.system
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Cluster version set to 3.8
Mรตr 02, 2017 2:04:35 PM com.hazelcast.internal.cluster.impl.MulticastJoiner
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8]


Members [1] {
        Member [10.13.52.102]:5701 - a6188fc1-4b3f-4f3e-b55b-e35959ff0b63 this
}

Mรตr 02, 2017 2:04:35 PM com.hazelcast.core.LifecycleService
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] [10.13.52.102]:5701 is STARTED
Mรตr 02, 2017 2:04:35 PM com.hazelcast.jet.impl.config.XmlJetConfigLocator
INFORMATION: Loading hazelcast-jet-default.xml from classpath.
Mรตr 02, 2017 2:04:35 PM com.hazelcast.jet.impl.config.XmlJetConfigLocator
INFORMATION: Loading hazelcast-jet-member-default.xml from classpath.
Mรตr 02, 2017 2:04:36 PM com.hazelcast.instance.DefaultAddressPicker
INFORMATION: [LOCAL] [jet] [0.3] [3.8] Prefer IPv4 stack is true.
Mรตr 02, 2017 2:04:36 PM com.hazelcast.instance.DefaultAddressPicker
INFORMATION: [LOCAL] [jet] [0.3] [3.8] Picked [10.13.52.102]:5702, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,local
port=5702], bind any local is true
Mรตr 02, 2017 2:04:36 PM com.hazelcast.system
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Hazelcast 3.8 (20170217 - d7998b4) starting at [10.13.52.102]:5702
Mรตr 02, 2017 2:04:36 PM com.hazelcast.system
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Copyright (c) 2008-2017, Hazelcast, Inc. All Rights Reserved.
Mรตr 02, 2017 2:04:36 PM com.hazelcast.system
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Configured Hazelcast Serialization version : 1
Mรตr 02, 2017 2:04:36 PM com.hazelcast.spi.impl.operationservice.impl.BackpressureRegulator
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Backpressure is disabled
Mรตr 02, 2017 2:04:36 PM com.hazelcast.instance.Node
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Creating MulticastJoiner
Mรตr 02, 2017 2:04:36 PM com.hazelcast.jet.impl.JetService
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Starting Jet 0.3 (20170206 - 5c8738d)
Mรตr 02, 2017 2:04:36 PM com.hazelcast.jet.impl.JetService
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Setting number of cooperative threads and default parallelism to 2
Mรตr 02, 2017 2:04:36 PM com.hazelcast.jet.impl.JetService
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8]
        o   o   o   o---o o---o o     o---o   o   o---o o-o-o        o o---o o-o-o
        |   |  / \     /  |     |     |      / \  |       |          | |       |
        o---o o---o   o   o-o   |     o     o---o o---o   |          | o-o     |
        |   | |   |  /    |     |     |     |   |     |   |      \   | |       |
        o   o o   o o---o o---o o---o o---o o   o o---o   o       o--o o---o   o
Mรตr 02, 2017 2:04:36 PM com.hazelcast.jet.impl.JetService
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Copyright (c) 2008-2017, Hazelcast, Inc. All Rights Reserved.
Mรตr 02, 2017 2:04:36 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Starting 2 partition threads
Mรตr 02, 2017 2:04:36 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Starting 3 generic threads (1 dedicated for priority tasks)
Mรตr 02, 2017 2:04:36 PM com.hazelcast.core.LifecycleService
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] [10.13.52.102]:5702 is STARTING
Mรตr 02, 2017 2:04:36 PM com.hazelcast.internal.cluster.impl.MulticastJoiner
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Trying to join to discovered node: [10.13.52.102]:5701
Mรตr 02, 2017 2:04:36 PM com.hazelcast.nio.tcp.InitConnectionTask
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Connecting to /10.13.52.102:5701, timeout: 0, bind-any: true
Mรตr 02, 2017 2:04:36 PM com.hazelcast.nio.tcp.SocketAcceptorThread
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Accepting socket connection from /10.13.52.102:58605
Mรตr 02, 2017 2:04:36 PM com.hazelcast.nio.tcp.TcpIpConnectionManager
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Established socket connection between /10.13.52.102:5701 and /10.13.5
2.102:58605
Mรตr 02, 2017 2:04:36 PM com.hazelcast.nio.tcp.TcpIpConnectionManager
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Established socket connection between /10.13.52.102:58605 and /10.13.
52.102:5701
Mรตr 02, 2017 2:04:43 PM com.hazelcast.internal.cluster.ClusterService
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8]

Members [2] {
        Member [10.13.52.102]:5701 - a6188fc1-4b3f-4f3e-b55b-e35959ff0b63 this
        Member [10.13.52.102]:5702 - 10a41f14-19e8-4577-b496-c722148a7351
}

Mรตr 02, 2017 2:04:52 PM com.hazelcast.system
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Cluster version set to 3.8
Mรตr 02, 2017 2:04:52 PM com.hazelcast.internal.cluster.ClusterService
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8]

Members [2] {
        Member [10.13.52.102]:5701 - a6188fc1-4b3f-4f3e-b55b-e35959ff0b63
        Member [10.13.52.102]:5702 - 10a41f14-19e8-4577-b496-c722148a7351 this
}

Mรตr 02, 2017 2:04:53 PM com.hazelcast.core.LifecycleService
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] [10.13.52.102]:5702 is STARTED
Mรตr 02, 2017 2:04:53 PM com.hazelcast.internal.partition.impl.PartitionStateManager
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Initializing cluster partition table arrangement...
Mรตr 02, 2017 2:04:53 PM com.hazelcast.jet.impl.operation.ExecuteJobOperation
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Start executing job 0.
Mรตr 02, 2017 2:04:53 PM com.hazelcast.jet.impl.operation.InitOperation
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Initializing execution plan for job 0 from [10.13.52.102]:5701.
Mรตr 02, 2017 2:04:53 PM com.hazelcast.jet.impl.operation.InitOperation
INFORMATION: [10.13.52.102]:5702 [jet] [0.3] [3.8] Initializing execution plan for job 0 from [10.13.52.102]:5701.
Mรตr 02, 2017 2:04:53 PM com.hazelcast.jet.impl.operation.InitOperation
SCHWERWIEGEND: [10.13.52.102]:5702 [jet] [0.3] [3.8] No DataSerializerFactory registered for namespace: -10002
com.hazelcast.nio.serialization.HazelcastSerializationException: No DataSerializerFactory registered for namespace: -100
02
        at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.readInternal(DataSerializableSerializer.
java:134)
        at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:103
)
        at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:49)

        at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
        at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toObject(AbstractSerializationService.
java:184)
        at com.hazelcast.jet.impl.execution.init.CustomClassLoadedObject.deserializeWithCustomClassLoader(CustomClassLoa
dedObject.java:61)
        at com.hazelcast.jet.impl.operation.InitOperation.lambda$readInternal$1(InitOperation.java:71)
        at com.hazelcast.jet.impl.operation.InitOperation.run(InitOperation.java:49)
        at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:186)
        at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:401)
        at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:117)
        at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:102)

Mรตr 02, 2017 2:04:54 PM com.hazelcast.jet.impl.operation.ExecuteJobOperation
INFORMATION: [10.13.52.102]:5701 [jet] [0.3] [3.8] Execution of job 0 completed in 482ms.
Exception in thread "main" com.hazelcast.nio.serialization.HazelcastSerializationException: No DataSerializerFactory reg
istered for namespace: -10002
        at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.readInternal(DataSerializableSerializer.
java:134)
        at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:103
)
        at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:49)

        at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
        at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toObject(AbstractSerializationService.
java:184)
        at com.hazelcast.jet.impl.execution.init.CustomClassLoadedObject.deserializeWithCustomClassLoader(CustomClassLoa
dedObject.java:61)
        at com.hazelcast.jet.impl.operation.InitOperation.lambda$readInternal$1(InitOperation.java:71)
        at com.hazelcast.jet.impl.operation.InitOperation.run(InitOperation.java:49)
        at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:186)
        at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:401)
        at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:117)
        at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:102)
        at ------ submitted from ------.(Unknown Source)
        at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:114)
        at com.hazelcast.spi.impl.AbstractInvocationFuture$1.run(AbstractInvocationFuture.java:243)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
        at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
        at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)
        at ------ submitted from ------.(Unknown Source)
        at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:114)
        at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrowIfException(InvocationFuture.jav
a:75)
        at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:155)
        at com.hazelcast.jet.stream.impl.StreamUtil.executeJob(StreamUtil.java:68)
        at com.hazelcast.jet.stream.impl.collectors.HazelcastMergingMapCollector.collect(HazelcastMergingMapCollector.ja
va:75)
        at com.hazelcast.jet.stream.impl.collectors.HazelcastMergingMapCollector.collect(HazelcastMergingMapCollector.ja
va:38)
        at com.hazelcast.jet.stream.impl.pipeline.AbstractPipeline.collect(AbstractPipeline.java:221)
        at be.andersch.javahazeltest.WordCount.main(WordCount.java:48)

I checked all sources I could find for similar errors, but couldn't find any explanation for the failing serialization. Jar is attached.
JavaHazelTest-1.0-SNAPSHOT-jar-with-dependencies.zip

Distributed HDFS reader and writer issues

There are a few problems with implementing distributed HDFS readers and writers with Jet

  • The input splits need to be allocated to each node depending on locality. This should be done from a single place since if data is changing, all nodes might have a different view of the data.
  • The outputs need coordination between the nodes. The final commit of the job needs to be done after all the nodes have finished executing.

Unified socket system

Hazelcast part

  1. Implement api to subscribe external service as consumer to Hazelcast socket accept event

  2. Implement hand-shaking procedure to detect which service connects now

Jet part

  1. Migrate current JET network on new api

  2. Remove JET discovery at all

Usage of the "all-to-one" edge is ill-defined

A distributed "all-to-one" edge will deliver all data to a single instance of processor somewhere in the cluster. However, it is impossible to configure the DAG so that only one processor instance is created; there is a minimum of one per cluster member. This means that it is impossible to avoid processors which get no data.

If the processor's logic is aggregation, such that the output is produced only in the complete phase, the processor that receives no data will still output its invalid, empty result. This will then confuse the downstream processors.

One hack to avoid this is emitting output only when some data was received; but there is no general rule that says some data must have been received. Sometimes the empty result is the correct one. In that case the hack will result in no output from the vertex at all.

[TEST-FAILURE] java.lang.RuntimeException: java.net.SocketException: Invalid argument

Sometimes tests fail with this exception:

java.lang.RuntimeException: java.net.SocketException: Invalid argument
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at java.nio.channels.ServerSocketChannel.bind(ServerSocketChannel.java:157)
at com.hazelcast.jet.impl.application.JetApplicationManagerImpl.bindSocketChannel(JetApplicationManagerImpl.java:155)
at com.hazelcast.jet.impl.application.JetApplicationManagerImpl.(JetApplicationManagerImpl.java:78)
at com.hazelcast.jet.impl.hazelcast.JetServiceImpl.(JetServiceImpl.java:46)
at com.hazelcast.jet.impl.hazelcast.JetRemoteServiceDescriptor.getService(JetRemoteServiceDescriptor.java:31)
at com.hazelcast.spi.impl.servicemanager.impl.ServiceManagerImpl.readServiceDescriptors(ServiceManagerImpl.java:179)
at com.hazelcast.spi.impl.servicemanager.impl.ServiceManagerImpl.registerDefaultServices(ServiceManagerImpl.java:161)
at com.hazelcast.spi.impl.servicemanager.impl.ServiceManagerImpl.registerServices(ServiceManagerImpl.java:109)
at com.hazelcast.spi.impl.servicemanager.impl.ServiceManagerImpl.start(ServiceManagerImpl.java:98)
at com.hazelcast.spi.impl.NodeEngineImpl.start(NodeEngineImpl.java:151)
at com.hazelcast.instance.Node.start(Node.java:322)
at com.hazelcast.instance.HazelcastInstanceImpl.(HazelcastInstanceImpl.java:128)
at com.hazelcast.instance.DefaultHazelcastInstanceFactory.newHazelcastInstance(DefaultHazelcastInstanceFactory.java:38)
at com.hazelcast.instance.HazelcastInstanceManager.constructHazelcastInstance(HazelcastInstanceManager.java:226)
at com.hazelcast.instance.HazelcastInstanceManager.newHazelcastInstance(HazelcastInstanceManager.java:184)
at com.hazelcast.test.TestHazelcastInstanceFactory.newHazelcastInstance(TestHazelcastInstanceFactory.java:112)
at com.hazelcast.jet.base.JetBaseTest.buildCluster(JetBaseTest.java:72)
at com.hazelcast.jet.base.JetBaseTest.initCluster(JetBaseTest.java:64)
at com.hazelcast.jet.SimpleSingleNodeTestSuite.initCluster(SimpleSingleNodeTestSuite.java:49)

addClass() doesn't appear to have an effect

I did the following:

  1. Download Jet 0.3.1 from the website
  2. bin/start.sh
  3. execute the client code:
public class Main {
    public static void main(String[] args) throws Exception {
        try {
            ClientConfig conf = new ClientConfig();
            conf.setCredentials(new UsernamePasswordCredentials("jet", "jet-pass"));
            JetInstance jet = Jet.newJetClient(conf);
            IStreamMap<Object, Object> events = jet.getMap("events");
            IStreamMap<Object, Object> newevents = jet.getMap("newevents");
            events.clear();
            newevents.clear();
            for (int i = 0; i < 1000; i++) {
                events.put(i, new Event(System.nanoTime(), "key" + i, "value"));
            }
            JobConfig jconf = new JobConfig().addClass(Event.class);
            jet.newJob(buildDag(), jconf).execute().get();
            System.out.println("Output map size: " + newevents.size());
        } finally {
            Jet.shutdownAll();
        }
    }

    private static DAG buildDag() {
        DAG dag = new DAG();
        Vertex source = dag.newVertex("source", readMap("events"));
        Vertex sink = dag.newVertex("sink", writeMap("newevents"));
        dag.edge(between(source, sink));
        return dag;
    }
}

public class Event implements Serializable {
    long timestamp;
    String key;
    String value;

    Event(long timestamp, String key, String value) {
        this.timestamp = timestamp;
        this.key = key;
        this.value = value;
    }
}

The outcome is:

Job execution failed with exception
Apr 17, 2017 6:14:08 PM com.hazelcast.core.LifecycleService
INFO: hz.client_0 [dev] [0.3.1] [3.8] HazelcastClient 3.8 (20170217 - d7998b4) is CLIENT_CONNECTED
java.util.concurrent.ExecutionException: com.hazelcast.jet.JetException: Exception in ProcessorTasklet{vertex=sink, processor=com.hazelcast.jet.impl.connector.WriteIMapP@79e48f8e}: com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: test.Event
	at com.hazelcast.client.spi.impl.ClientInvocationFuture.resolveAndThrowIfException(ClientInvocationFuture.java:87)
	at com.hazelcast.client.spi.impl.ClientInvocationFuture.resolveAndThrowIfException(ClientInvocationFuture.java:31)
	at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:155)
	at com.hazelcast.jet.impl.JetClientInstanceImpl$ExecutionFuture.get(JetClientInstanceImpl.java:177)
	at com.hazelcast.jet.impl.JetClientInstanceImpl$ExecutionFuture.get(JetClientInstanceImpl.java:132)
	at test.Main.main(Main.java:31)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)Job execution failed with exception

	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: com.hazelcast.jet.JetException: Exception in ProcessorTasklet{vertex=sink, processor=com.hazelcast.jet.impl.connector.WriteIMapP@79e48f8e}: com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: test.Event
	at com.hazelcast.jet.impl.execution.ExecutionService$BlockingWorker.run(ExecutionService.java:165)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
	at ------ submitted from ------.(Unknown Source)
	at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:114)
	at com.hazelcast.spi.impl.AbstractInvocationFuture$1.run(AbstractInvocationFuture.java:243)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
	at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
	at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)
	at ------ submitted from ------.(Unknown Source)
	at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:114)
	at com.hazelcast.spi.impl.AbstractInvocationFuture$1.run(AbstractInvocationFuture.java:243)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
	at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
	at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)
	at ------ submitted from ------.(Unknown Source)
	at com.hazelcast.client.spi.impl.ClientInvocationFuture.resolveAndThrowIfException(ClientInvocationFuture.java:74)
	... 10 more
Caused by: com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: test.Event
	at com.hazelcast.internal.serialization.impl.JavaDefaultSerializers$JavaSerializer.read(JavaDefaultSerializers.java:224)
	at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
	at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toObject(AbstractSerializationService.java:184)
	at com.hazelcast.query.impl.CachedQueryEntry.getValue(CachedQueryEntry.java:70)
	at com.hazelcast.map.impl.proxy.MapProxySupport.putAllInternal(MapProxySupport.java:796)
	at com.hazelcast.map.impl.proxy.MapProxyImpl.putAll(MapProxyImpl.java:377)
	at com.hazelcast.jet.impl.connector.WriteIMapP.flush(WriteIMapP.java:68)
	at com.hazelcast.jet.impl.connector.WriteIMapP.process(WriteIMapP.java:52)
	at com.hazelcast.jet.impl.execution.ProcessorTasklet.tryProcessInbox(ProcessorTasklet.java:148)
	at com.hazelcast.jet.impl.execution.ProcessorTasklet.call(ProcessorTasklet.java:99)
	at com.hazelcast.jet.impl.execution.ExecutionService$BlockingWorker.run(ExecutionService.java:155)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: test.Event
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at com.hazelcast.nio.ClassLoaderUtil.tryLoadClass(ClassLoaderUtil.java:146)
	at com.hazelcast.nio.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:120)
	at com.hazelcast.nio.IOUtil$ClassLoaderAwareObjectInputStream.resolveClass(IOUtil.java:522)
	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1613)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
	at com.hazelcast.internal.serialization.impl.JavaDefaultSerializers$JavaSerializer.read(JavaDefaultSerializers.java:219)
	... 15 more
Output map size: 0

InterruptionTest.testInterruptSlowApplication

https://hazelcast-l337.ci.cloudbees.com/job/Jet-pr-builder/com.hazelcast.jet$hazelcast-jet-core/271/testReport/junit/com.hazelcast.jet/InterruptionTest/testInterruptSlowApplication/

17:23:04,444  INFO |testInterruptSlowApplication| - [ClusterService] hz._hzInstance_52_dev.generic-operation.thread-0 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] 

Members [2] {
    Member [127.0.0.1]:5049 - f1a06c43-e7f3-46af-a23f-cfb59ae1c505
    Member [127.0.0.1]:5052 - 7d3e9edf-73d5-4138-be78-b7062eea4aeb this
}

17:23:06,460  INFO |testInterruptSlowApplication| - [LifecycleService] testInterruptSlowApplication - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] [127.0.0.1]:5052 is STARTED
17:23:07,465  INFO |testInterruptSlowApplication| - [PartitionStateManager] hz._hzInstance_49_dev.generic-operation.thread-6 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] Initializing cluster partition table arrangement...
17:23:26,579  INFO |testInterruptSlowApplication| - [JobManager] _hzInstance_49_dev.jet.testInterrupt-container-state_machine-executor.1785 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] handle container interrupted java.lang.InterruptedException: Execution has been interrupted
17:23:26,579  INFO |testInterruptSlowApplication| - [JobManager] _hzInstance_49_dev.jet.network-reader-writer-executor.1678 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] notify interrupted java.lang.InterruptedException: Execution has been interrupted
17:23:27,477  INFO |testInterruptSlowApplication| - [JobExecuteOperation] hz._hzInstance_49_dev.async.thread-6 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] Operation failed
17:23:27,569  INFO |testInterruptSlowApplication| - [JobManager] _hzInstance_52_dev.jet.testInterrupt-container-state_machine-executor.1784 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] handle container interrupted java.lang.InterruptedException: Execution has been interrupted
17:23:27,581  INFO |testInterruptSlowApplication| - [JobManager] _hzInstance_52_dev.jet.network-reader-writer-executor.1759 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] notify interrupted java.lang.InterruptedException: Execution has been interrupted
17:23:31,461  INFO |testInterruptSlowApplication| - [JobExecuteOperation] hz._hzInstance_52_dev.async.thread-5 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Operation failed
17:23:31,467  INFO |testInterruptSlowApplication| - [LifecycleService] Thread-149 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] [127.0.0.1]:5049 is SHUTTING_DOWN
17:23:31,468 ERROR |testInterruptSlowApplication| - [JobEventOperation] hz._hzInstance_49_dev.generic-operation.thread-4 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] No job context found for job name -> testInterrupt
com.hazelcast.jet.JetException: No job context found for job name -> testInterrupt
    at com.hazelcast.jet.impl.operation.JetOperation.getJobContext(JetOperation.java:67)
    at com.hazelcast.jet.impl.operation.JobEventOperation.run(JobEventOperation.java:46)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:181)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:395)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:117)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:102)
17:23:31,468 ERROR |testInterruptSlowApplication| - [JobEventOperation] _hzInstance_52_dev.jet.job-invoker-thread-testInterrupt.1782 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] No job context found for job name -> testInterrupt
com.hazelcast.jet.JetException: No job context found for job name -> testInterrupt
    at com.hazelcast.jet.impl.operation.JetOperation.getJobContext(JetOperation.java:67)
    at com.hazelcast.jet.impl.operation.JobEventOperation.run(JobEventOperation.java:46)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:181)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.run(OperationExecutorImpl.java:375)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.runOrExecute(OperationExecutorImpl.java:402)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvokeLocal(Invocation.java:283)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvoke(Invocation.java:268)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke0(Invocation.java:232)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke(Invocation.java:207)
    at com.hazelcast.spi.impl.operationservice.impl.InvocationBuilderImpl.invoke(InvocationBuilderImpl.java:59)
    at com.hazelcast.jet.impl.job.ServerJobInvocation.execute(ServerJobInvocation.java:41)
    at com.hazelcast.jet.impl.job.ServerJobInvocation.execute(ServerJobInvocation.java:26)
    at com.hazelcast.jet.impl.job.AbstractJobInvocation.call(AbstractJobInvocation.java:35)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
17:23:31,585 ERROR |testInterruptSlowApplication| - [JobEventOperation] _hzInstance_52_dev.jet.job-invoker-thread-testInterrupt.1782 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] No job context found for job name -> testInterrupt
com.hazelcast.jet.JetException: No job context found for job name -> testInterrupt
    at com.hazelcast.jet.impl.operation.JetOperation.getJobContext(JetOperation.java:67)
    at com.hazelcast.jet.impl.operation.JobEventOperation.run(JobEventOperation.java:46)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:181)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.run(OperationExecutorImpl.java:375)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.runOrExecute(OperationExecutorImpl.java:402)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvokeLocal(Invocation.java:283)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvoke(Invocation.java:268)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke0(Invocation.java:232)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke(Invocation.java:207)
    at com.hazelcast.spi.impl.operationservice.impl.InvocationBuilderImpl.invoke(InvocationBuilderImpl.java:59)
    at com.hazelcast.jet.impl.job.ServerJobInvocation.execute(ServerJobInvocation.java:41)
    at com.hazelcast.jet.impl.job.ServerJobInvocation.execute(ServerJobInvocation.java:26)
    at com.hazelcast.jet.impl.job.AbstractJobInvocation.call(AbstractJobInvocation.java:35)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
17:23:31,586 ERROR |testInterruptSlowApplication| - [JobEventOperation] hz._hzInstance_49_dev.generic-operation.thread-6 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] No job context found for job name -> testInterrupt
com.hazelcast.jet.JetException: No job context found for job name -> testInterrupt
    at com.hazelcast.jet.impl.operation.JetOperation.getJobContext(JetOperation.java:67)
    at com.hazelcast.jet.impl.operation.JobEventOperation.run(JobEventOperation.java:46)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:181)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:395)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:117)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:102)
17:23:32,501  INFO |testInterruptSlowApplication| - [MigrationManager] Thread-149 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] Shutdown request of [127.0.0.1]:5049 is handled
17:23:32,518  INFO |testInterruptSlowApplication| - [MigrationManager] hz._hzInstance_49_dev.migration - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] Re-partitioning cluster data... Migration queue size: 136
17:23:45,514  INFO |testInterruptSlowApplication| - [Node] Thread-149 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] Shutting down connection manager...
17:23:45,514  INFO |testInterruptSlowApplication| - [MockConnectionManager] Thread-149 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] Removed connection to endpoint: [127.0.0.1]:5052, connection: MockConnection{localEndpoint=[127.0.0.1]:5049, remoteEndpoint=[127.0.0.1]:5052}
17:23:45,514  INFO |testInterruptSlowApplication| - [Node] Thread-149 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] Shutting down node engine...
17:23:45,514  INFO |testInterruptSlowApplication| - [ClusterService] hz._hzInstance_52_dev.generic-operation.thread-2 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Old master [127.0.0.1]:5049 left the cluster, assigning new master Member [127.0.0.1]:5052 - 7d3e9edf-73d5-4138-be78-b7062eea4aeb this
17:23:45,514  INFO |testInterruptSlowApplication| - [MockConnectionManager] hz._hzInstance_52_dev.generic-operation.thread-2 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Removed connection to endpoint: [127.0.0.1]:5049, connection: MockConnection{localEndpoint=[127.0.0.1]:5052, remoteEndpoint=[127.0.0.1]:5049}
17:23:45,517  INFO |testInterruptSlowApplication| - [ClusterService] hz._hzInstance_52_dev.generic-operation.thread-2 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Removing Member [127.0.0.1]:5049 - f1a06c43-e7f3-46af-a23f-cfb59ae1c505
17:23:46,441  INFO |testInterruptSlowApplication| - [InternalPartitionService] hz._hzInstance_52_dev.migration - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Fetching most recent partition table! my version: 950
17:23:46,441  INFO |testInterruptSlowApplication| - [InternalPartitionService] hz._hzInstance_52_dev.migration - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Most recent partition table version: 950
17:23:46,443  INFO |testInterruptSlowApplication| - [MigrationManager] hz._hzInstance_52_dev.migration - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Partition balance is ok, no need to re-partition cluster data... 
17:23:47,560  INFO |testInterruptSlowApplication| - [ClusterService] hz._hzInstance_52_dev.generic-operation.thread-2 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] 

Members [1] {
    Member [127.0.0.1]:5052 - 7d3e9edf-73d5-4138-be78-b7062eea4aeb this
}

17:23:48,590  INFO |testInterruptSlowApplication| - [TransactionManagerService] hz._hzInstance_52_dev.cached.thread-6 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Committing/rolling-back alive transactions of Member [127.0.0.1]:5049 - f1a06c43-e7f3-46af-a23f-cfb59ae1c505, UUID: f1a06c43-e7f3-46af-a23f-cfb59ae1c505
17:23:49,582  INFO |testInterruptSlowApplication| - [NodeExtension] Thread-149 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] Destroying node NodeExtension.
17:23:49,582  INFO |testInterruptSlowApplication| - [Node] Thread-149 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] Hazelcast Shutdown is completed in 17081 ms.
17:23:49,583  INFO |testInterruptSlowApplication| - [LifecycleService] Thread-149 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] [127.0.0.1]:5049 is SHUTDOWN
17:23:49,583  INFO |testInterruptSlowApplication| - [LifecycleService] Thread-149 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] [127.0.0.1]:5052 is SHUTTING_DOWN
17:23:49,592  INFO |testInterruptSlowApplication| - [MigrationManager] Thread-149 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Shutdown request of [127.0.0.1]:5052 is handled
17:23:50,441  INFO |testInterruptSlowApplication| - [Node] Thread-149 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Shutting down connection manager...
17:23:50,441  INFO |testInterruptSlowApplication| - [Node] Thread-149 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Shutting down node engine...
17:23:54,523  INFO |testInterruptSlowApplication| - [NodeExtension] Thread-149 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Destroying node NodeExtension.
17:23:54,524  INFO |testInterruptSlowApplication| - [Node] Thread-149 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] Hazelcast Shutdown is completed in 4931 ms.
17:23:54,524  INFO |testInterruptSlowApplication| - [LifecycleService] Thread-149 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] [127.0.0.1]:5052 is SHUTDOWN
Standard Error

java.util.concurrent.ExecutionException: com.hazelcast.jet.CombinedJetException: No job context found for job name -> testInterrupt
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at com.hazelcast.jet.InterruptionTest.lambda$testInterruptSlowApplication$2(InterruptionTest.java:85)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.hazelcast.jet.CombinedJetException: No job context found for job name -> testInterrupt
    at com.hazelcast.jet.impl.job.JobClusterService$OperationExecutor.run(JobClusterService.java:375)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    ... 1 more
Caused by: com.hazelcast.jet.CombinedJetException: No job context found for job name -> testInterrupt
    at com.hazelcast.jet.impl.job.JobClusterService.await(JobClusterService.java:285)
    at com.hazelcast.jet.impl.job.JobClusterService.publishEvent(JobClusterService.java:294)
    at com.hazelcast.jet.impl.job.JobClusterService.access$000(JobClusterService.java:48)
    at com.hazelcast.jet.impl.job.JobClusterService$OperationExecutor.run(JobClusterService.java:364)
    ... 5 more
Caused by: com.hazelcast.jet.JetException: No job context found for job name -> testInterrupt
    at com.hazelcast.jet.impl.operation.JetOperation.getJobContext(JetOperation.java:67)
    at com.hazelcast.jet.impl.operation.JobEventOperation.run(JobEventOperation.java:46)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:181)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:395)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:117)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:102)
    at ------ submitted from ------.(Unknown Source)
    at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:111)
    at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrow(InvocationFuture.java:74)
    at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:158)
    at com.hazelcast.jet.impl.job.ServerJobInvocation.execute(ServerJobInvocation.java:41)
    at com.hazelcast.jet.impl.job.ServerJobInvocation.execute(ServerJobInvocation.java:26)
    at com.hazelcast.jet.impl.job.AbstractJobInvocation.call(AbstractJobInvocation.java:35)
    ... 4 more

com.hazelcast.jet.InterruptionTest.testInterruptSlowApplication

17:23:31,585 ERROR |testInterruptSlowApplication| - [JobEventOperation] _hzInstance_52_dev.jet.job-invoker-thread-testInterrupt.1782 - [127.0.0.1]:5052 [dev] [3.7-SNAPSHOT] No job context found for job name -> testInterrupt
com.hazelcast.jet.JetException: No job context found for job name -> testInterrupt
    at com.hazelcast.jet.impl.operation.JetOperation.getJobContext(JetOperation.java:67)
    at com.hazelcast.jet.impl.operation.JobEventOperation.run(JobEventOperation.java:46)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:181)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.run(OperationExecutorImpl.java:375)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.runOrExecute(OperationExecutorImpl.java:402)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvokeLocal(Invocation.java:283)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvoke(Invocation.java:268)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke0(Invocation.java:232)
    at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke(Invocation.java:207)
    at com.hazelcast.spi.impl.operationservice.impl.InvocationBuilderImpl.invoke(InvocationBuilderImpl.java:59)
    at com.hazelcast.jet.impl.job.ServerJobInvocation.execute(ServerJobInvocation.java:41)
    at com.hazelcast.jet.impl.job.ServerJobInvocation.execute(ServerJobInvocation.java:26)
    at com.hazelcast.jet.impl.job.AbstractJobInvocation.call(AbstractJobInvocation.java:35)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
17:23:31,586 ERROR |testInterruptSlowApplication| - [JobEventOperation] hz._hzInstance_49_dev.generic-operation.thread-6 - [127.0.0.1]:5049 [dev] [3.7-SNAPSHOT] No job context found for job name -> testInterrupt
com.hazelcast.jet.JetException: No job context found for job name -> testInterrupt
    at com.hazelcast.jet.impl.operation.JetOperation.getJobContext(JetOperation.java:67)
    at com.hazelcast.jet.impl.operation.JobEventOperation.run(JobEventOperation.java:46)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:181)
    at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:395)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:117)
    at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:102)

Getting exception during process of Word Count example

Hi

Just trying with some example on my local and I found that there is a issue when we try to configure the Management center with Hazelcast Config and Jet Config as:

Config hzCfg = new Config();
	hzCfg.setManagementCenterConfig(new ManagementCenterConfig("http://localhost:8082/mancenter", 3).setEnabled(true));
    JetConfig cfg = new JetConfig();
    cfg.setInstanceConfig(new InstanceConfig().setCooperativeThreadCount(
            Math.max(1, getRuntime().availableProcessors() / 2)));
    cfg.setHazelcastConfig(hzCfg);

I tried with WordCount example available in Sample repository of Hazelcast Jet.

Creating Jet instance 1
Feb 15, 2017 1:06:28 PM com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [dev] [0.3] [3.8-RC1] Prefer IPv4 stack is true.
Feb 15, 2017 1:06:29 PM com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [dev] [0.3] [3.8-RC1] Picked [10.162.55.6]:5701, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5701], bind any local is true
Feb 15, 2017 1:06:29 PM com.hazelcast.system
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Hazelcast 3.8-RC1 (20170201 - 609ebbc) starting at [10.162.55.6]:5701
Feb 15, 2017 1:06:29 PM com.hazelcast.system
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Copyright (c) 2008-2016, Hazelcast, Inc. All Rights Reserved.
Feb 15, 2017 1:06:29 PM com.hazelcast.system
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Configured Hazelcast Serialization version : 1
Feb 15, 2017 1:06:29 PM com.hazelcast.spi.impl.operationservice.impl.BackpressureRegulator
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Backpressure is disabled
Feb 15, 2017 1:06:31 PM com.hazelcast.instance.Node
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Creating MulticastJoiner
Feb 15, 2017 1:06:31 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Starting Jet 0.3 (20170206 - 5c8738d)
Feb 15, 2017 1:06:31 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Setting number of cooperative threads and default parallelism to 2
Feb 15, 2017 1:06:31 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1]
o o o o---o o---o o o---o o o---o o-o-o o o---o o-o-o
| | / \ / | | | / \ | | | | |
o---o o---o o o-o | o o---o o---o | | o-o |
| | | | / | | | | | | | \ | | |
o o o o o---o o---o o---o o---o o o o---o o o--o o---o o
Feb 15, 2017 1:06:31 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Copyright (c) 2008-2017, Hazelcast, Inc. All Rights Reserved.
Feb 15, 2017 1:06:31 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Starting 4 partition threads
Feb 15, 2017 1:06:31 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Starting 3 generic threads (1 dedicated for priority tasks)
Feb 15, 2017 1:06:31 PM com.hazelcast.core.LifecycleService
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] [10.162.55.6]:5701 is STARTING
Feb 15, 2017 1:06:34 PM com.hazelcast.system
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Cluster version set to 3.8
Feb 15, 2017 1:06:34 PM com.hazelcast.internal.cluster.impl.MulticastJoiner
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1]

Members [1] {
Member [10.162.55.6]:5701 - d8f937ea-a992-458b-b172-f280f62f77a7 this
}

Feb 15, 2017 1:06:35 PM com.hazelcast.internal.management.ManagementCenterService
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Hazelcast will connect to Hazelcast Management Center on address:
http://localhost:8082/mancenter
Creating Jet instance 2
Feb 15, 2017 1:06:35 PM com.hazelcast.core.LifecycleService
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] [10.162.55.6]:5701 is STARTED
Feb 15, 2017 1:06:35 PM com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [dev] [0.3] [3.8-RC1] Prefer IPv4 stack is true.
Feb 15, 2017 1:06:36 PM com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [dev] [0.3] [3.8-RC1] Picked [10.162.55.6]:5703, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5703], bind any local is true
Feb 15, 2017 1:06:36 PM com.hazelcast.system
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Hazelcast 3.8-RC1 (20170201 - 609ebbc) starting at [10.162.55.6]:5703
Feb 15, 2017 1:06:36 PM com.hazelcast.system
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Copyright (c) 2008-2016, Hazelcast, Inc. All Rights Reserved.
Feb 15, 2017 1:06:36 PM com.hazelcast.system
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Configured Hazelcast Serialization version : 1
Feb 15, 2017 1:06:36 PM com.hazelcast.spi.impl.operationservice.impl.BackpressureRegulator
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Backpressure is disabled
Feb 15, 2017 1:06:36 PM com.hazelcast.internal.partition.impl.PartitionStateManager
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Initializing cluster partition table arrangement...
Feb 15, 2017 1:06:38 PM com.hazelcast.instance.Node
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Creating MulticastJoiner
Feb 15, 2017 1:06:38 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Starting Jet 0.3 (20170206 - 5c8738d)
Feb 15, 2017 1:06:38 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Setting number of cooperative threads and default parallelism to 2
Feb 15, 2017 1:06:38 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1]
o o o o---o o---o o o---o o o---o o-o-o o o---o o-o-o
| | / \ / | | | / \ | | | | |
o---o o---o o o-o | o o---o o---o | | o-o |
| | | | / | | | | | | | \ | | |
o o o o o---o o---o o---o o---o o o o---o o o--o o---o o
Feb 15, 2017 1:06:38 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Copyright (c) 2008-2017, Hazelcast, Inc. All Rights Reserved.
Feb 15, 2017 1:06:38 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Starting 4 partition threads
Feb 15, 2017 1:06:38 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Starting 3 generic threads (1 dedicated for priority tasks)
Feb 15, 2017 1:06:38 PM com.hazelcast.core.LifecycleService
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] [10.162.55.6]:5703 is STARTING
Feb 15, 2017 1:06:38 PM com.hazelcast.internal.cluster.impl.MulticastJoiner
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Trying to join to discovered node: [10.162.55.6]:5701
Feb 15, 2017 1:06:38 PM com.hazelcast.nio.tcp.InitConnectionTask
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Connecting to /10.162.55.6:5701, timeout: 0, bind-any: true
Feb 15, 2017 1:06:38 PM com.hazelcast.nio.tcp.SocketAcceptorThread
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Accepting socket connection from /10.162.55.6:61739
Feb 15, 2017 1:06:38 PM com.hazelcast.nio.tcp.TcpIpConnectionManager
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Established socket connection between /10.162.55.6:61739 and /10.162.55.6:5701
Feb 15, 2017 1:06:38 PM com.hazelcast.nio.tcp.TcpIpConnectionManager
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Established socket connection between /10.162.55.6:5701 and /10.162.55.6:61739
Feb 15, 2017 1:06:44 PM com.hazelcast.internal.cluster.ClusterService
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1]

Members [2] {
Member [10.162.55.6]:5701 - d8f937ea-a992-458b-b172-f280f62f77a7 this
Member [10.162.55.6]:5703 - 4c910316-302b-4a1d-89ca-40ac9e065468
}

Feb 15, 2017 1:06:44 PM com.hazelcast.system
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Cluster version set to 3.8
Feb 15, 2017 1:06:44 PM com.hazelcast.internal.cluster.ClusterService
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1]

Members [2] {
Member [10.162.55.6]:5701 - d8f937ea-a992-458b-b172-f280f62f77a7
Member [10.162.55.6]:5703 - 4c910316-302b-4a1d-89ca-40ac9e065468 this
}

Feb 15, 2017 1:06:44 PM com.hazelcast.internal.partition.impl.MigrationManager
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Re-partitioning cluster data... Migration queue size: 271
Feb 15, 2017 1:06:46 PM com.hazelcast.instance.Node
WARNING: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Config seed port is 5701 and cluster size is 2. Some of the ports seem occupied!
Feb 15, 2017 1:06:46 PM com.hazelcast.internal.management.ManagementCenterService
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Hazelcast will connect to Hazelcast Management Center on address:
http://localhost:8082/mancenter
Feb 15, 2017 1:06:46 PM com.hazelcast.core.LifecycleService
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] [10.162.55.6]:5703 is STARTED
These books will be analyzed:
adventures-of-sherlock-holmes.txt
anderson-fairy-tales.txt
anna-karenina.txt
around-the-world-in-eighty-days.txt
a-tale-of-two-cities.txt
awakening.txt
benjamin-franklin-autobiography.txt
beyond-good-and-evil.txt
brothers-karamazov.txt
canterbury-tales.txt
clarissa-harlowe.txt
confessions-of-st-augustine.txt
connecticut-yankee.txt
crime-punishment.txt
critique-of-pure-reason.txt
david-copperfield.txt
decameron.txt
divine-comedy.txt
don-juan.txt
don-quixote.txt
dorian-gray.txt
dracula.txt
edgar-allan-poe-works-1.txt
edgar-allan-poe-works-2.txt
edgar-allan-poe-works-3.txt
emma.txt
faust.txt
frankenstein.txt
gilded-age.txt
great-expectations.txt
grimm-brothers.txt
gullivers-travels.txt
guy-de-maupassant-shorts.txt
hard-times.txt
heart-of-darkness.txt
history-of-peloponnesian-war.txt
hound-of-the-baskervilles.txt
huckleberry-finn.txt
iliad.txt
ivanhoe.txt
king-james-bible.txt
land-of-oz.txt
leaves-of-grass.txt
les-miserables.txt
leviathan.txt
little-women.txt
madame-bovary.txt
man-who-was-thursday.txt
mark-twain-mysterious-strangers.txt
meditations.txt
michel-montaigne-essays.txt
middlemarch.txt
moby-dick.txt
monte-cristo.txt
my-secret-life.txt
north-and-south.txt
notebooks-of-leonardo-da-vinci.txt
odyssey.txt
olaudah-equiano.txt
oliver-twist.txt
origin-of-species.txt
paradise-lost.txt
peter-pan.txt
portrait-of-artist-as-a-young-man.txt
practice-and-science-of-drawing.txt
pride-and-prejudice.txt
problems-of-philosophy.txt
relativity-special-and-general-theory.txt
return-of-sherlock-holmes.txt
room-with-a-view.txt
satyricon.txt
scarlet-letter.txt
sense-sensibility.txt
shakespeare-complete-works.txt
short-history-of-world.txt
siddharta.txt
sorrows-of-young-werther.txt
souls-of-black-folk.txt
swanns-way.txt
the-30000-dollar-request.txt
the-jungle.txt
the-republic.txt
the-trial.txt
three-musketeers.txt
through-the-looking-glass.txt
thus-spake-zarathustra.txt
time-machine.txt
tom-sawyer.txt
ulysses.txt
uncle-toms-cabin.txt
utopia.txt
walden-and-duty-of-civil-disobedience.txt
war-and-peace.txt
war-of-the-worlds.txt
wealth-of-nations.txt
what-is-man.txt
wuthering-heights.txt

Counting words... Feb 15, 2017 1:06:46 PM com.hazelcast.jet.impl.operation.ExecuteJobOperation
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Start executing job 0.
Feb 15, 2017 1:06:46 PM com.hazelcast.jet.impl.operation.InitOperation
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Initializing execution plan for job 0 from [10.162.55.6]:5701.
Feb 15, 2017 1:06:46 PM com.hazelcast.internal.partition.InternalPartitionService
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Remaining migration tasks in queue => 67
Feb 15, 2017 1:06:46 PM com.hazelcast.jet.impl.operation.InitOperation
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Initializing execution plan for job 0 from [10.162.55.6]:5701.
Feb 15, 2017 1:06:46 PM com.hazelcast.jet.impl.operation.ExecuteJobOperation
SEVERE: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] null
java.lang.NullPointerException
at com.hazelcast.jet.impl.operation.ExecuteJobOperation.doRun(ExecuteJobOperation.java:101)
at com.hazelcast.jet.impl.operation.AsyncExecutionOperation.run(AsyncExecutionOperation.java:56)
at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:186)
at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.run(OperationExecutorImpl.java:373)
at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.runOrExecute(OperationExecutorImpl.java:400)
at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvokeLocal(Invocation.java:534)
at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvoke(Invocation.java:519)
at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke0(Invocation.java:490)
at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke(Invocation.java:200)
at com.hazelcast.spi.impl.operationservice.impl.InvocationBuilderImpl.invoke(InvocationBuilderImpl.java:59)
at com.hazelcast.jet.impl.JetInstanceImpl$JobImpl.execute(JetInstanceImpl.java:95)
at WordCount.go(WordCount.java:153)
at WordCount.main(WordCount.java:145)

Exception in thread "main" java.util.concurrent.ExecutionException: java.lang.NullPointerException
at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrowIfException(InvocationFuture.java:88)
at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:147)
at WordCount.go(WordCount.java:153)
at WordCount.main(WordCount.java:145)
Caused by: java.lang.NullPointerException
at com.hazelcast.jet.impl.operation.ExecuteJobOperation.doRun(ExecuteJobOperation.java:101)
at com.hazelcast.jet.impl.operation.AsyncExecutionOperation.run(AsyncExecutionOperation.java:56)
at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:186)
at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.run(OperationExecutorImpl.java:373)
at com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl.runOrExecute(OperationExecutorImpl.java:400)
at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvokeLocal(Invocation.java:534)
at com.hazelcast.spi.impl.operationservice.impl.Invocation.doInvoke(Invocation.java:519)
at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke0(Invocation.java:490)
at com.hazelcast.spi.impl.operationservice.impl.Invocation.invoke(Invocation.java:200)
at com.hazelcast.spi.impl.operationservice.impl.InvocationBuilderImpl.invoke(InvocationBuilderImpl.java:59)
at com.hazelcast.jet.impl.JetInstanceImpl$JobImpl.execute(JetInstanceImpl.java:95)
at WordCount.go(WordCount.java:153)
at WordCount.main(WordCount.java:145)
at ------ submitted from ------.(Unknown Source)
at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:114)
at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrowIfException(InvocationFuture.java:75)
... 3 more
Feb 15, 2017 1:06:46 PM com.hazelcast.jet.impl.operation.ExecuteOperation
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Start execution of plan for job 0 from caller [10.162.55.6]:5701.
Feb 15, 2017 1:06:46 PM com.hazelcast.jet.impl.operation.ExecuteOperation
INFO: [10.162.55.6]:5703 [dev] [0.3] [3.8-RC1] Start execution of plan for job 0 from caller [10.162.55.6]:5701.
Feb 15, 2017 1:06:46 PM com.hazelcast.jet.impl.operation.ExecuteJobOperation
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] Execution of job 0 completed in 300ms.
Feb 15, 2017 1:06:48 PM com.hazelcast.internal.partition.impl.MigrationThread
INFO: [10.162.55.6]:5701 [dev] [0.3] [3.8-RC1] All migration tasks have been completed, queues are empty.

[j.u.s] Comparator.comparing casting error

I use the following comparator in sorted() method

final IMap<String, Integer> top10Map = IStreamMap.streamMap(counts)
                .stream()
                .sorted(Comparator.comparing(Map.Entry::getValue))

getting exception

Exception in thread "main" java.lang.ClassCastException: java.util.Comparator$$Lambda$65/712423434 cannot be cast to com.hazelcast.jet.stream.Distributed$Comparator
    at com.hazelcast.jet.stream.DistributedStream.sorted(DistributedStream.java:623)
    at com.hazelcast.stream.WordCountWithDistributedStreams.main(WordCountWithDistributedStreams.java:71)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

But this should be supported becasue

java.util.Comparator#comparing(java.util.function.Function<? super T,? extends U>)   
      -> (Comparator<T> & Serializable)

Thank you

Fail test

Hello~
I faced on test failure when using mvn test.

[ERROR] Failed to execute goal org.codehaus.mojo:findbugs-maven-plugin:3.0.4:check (default) on project hazelcast-jet-core: failed with 4 bugs and 0 errors -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:findbugs-maven-plugin:3.0.4:check (default) on project hazelcast-jet-core: failed with 4 bugs and 0 errors 
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: failed with 4 bugs and 0 errors 
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
        at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)
        at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247)
        at org.codehaus.mojo.findbugs.FindbugsViolationCheckMojo.execute(FindbugsViolationCheckMojo.groovy:529)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
        ... 20 more
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Could you help me for this?

Add support for debugging

Add general-purpose peek processor. It will use System.out.println. Ideas

  • print output or input
  • sampling (output every n-th item)
  • implement it by wrapping ProcessorSupplier
  • have a formatter

Fault tollerance mechanism

  1. Handle any kind of network failure and corresponding reaction

  2. CheckPointing system

  3. Implementation of different strategies on failure

  • Stop calculation
  • Stop and re-run
  • Continue calculation based on last stored in checkpoints data results

JavaDocs

Add javaDocs to all places which are required by checkStyle

jet requires JCache - 0.3.2-SNASHOT

last updated snapshot requires jcache 20170328042018

Exception in thread "main" java.lang.NoClassDefFoundError: javax/cache/Cache$Entry
	at com.hazelcast.jet.impl.execution.init.JetSerializerHook$CacheEntry.getSerializationType(JetSerializerHook.java:148)
	at com.hazelcast.internal.serialization.impl.SerializerHookLoader.load(SerializerHookLoader.java:63)
	at com.hazelcast.internal.serialization.impl.SerializerHookLoader.<init>(SerializerHookLoader.java:55)
	at com.hazelcast.internal.serialization.impl.DefaultSerializationServiceBuilder.registerSerializerHooks(DefaultSerializationServiceBuilder.java:282)
	at com.hazelcast.internal.serialization.impl.DefaultSerializationServiceBuilder.build(DefaultSerializationServiceBuilder.java:223)
	at com.hazelcast.internal.serialization.impl.DefaultSerializationServiceBuilder.build(DefaultSerializationServiceBuilder.java:49)
	at com.hazelcast.instance.DefaultNodeExtension.createSerializationService(DefaultNodeExtension.java:151)
	at com.hazelcast.instance.Node.<init>(Node.java:201)
	at com.hazelcast.instance.HazelcastInstanceImpl.createNode(HazelcastInstanceImpl.java:163)
	at com.hazelcast.instance.HazelcastInstanceImpl.<init>(HazelcastInstanceImpl.java:130)
	at com.hazelcast.instance.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:218)
	at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:176)
	at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:126)
	at com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:58)
	at com.hazelcast.jet.Jet.newJetInstance(Jet.java:49)
	at com.hazelcast.jet.Jet.newJetInstance(Jet.java:58)
	at com.hazelcast.techops.jet.training.essentials.MyJetInstance.main(MyJetInstance.java:19)
Caused by: java.lang.ClassNotFoundException: javax.cache.Cache$Entry
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 17 more

Replace `ReadFileStreamP` with batch file processor

The current API tries to use WatchService for watching changes to files in a directory and stream them. However, it's very unreliable, and thus unusable beyond some may-be-working example. Stream-processing of log files cannot be reliably done using files.

We need to replace it with a processor, that will process all files in a directory and then finish. This will handle the use case for batch processing of log files, for example.

Jet Core tests

  1. Write about 300 tests for difficult JET dags and execution scenarious

  2. Write unit tests

Open Addressing HashTable

  1. Implement open addressing hash-table based on interface BinaryKeyValueStorage.
  2. Implement open addressing hash-table based on interface BinarySortedKeyValueStorage.
  3. Implement Merge and Quick sorting strategies for both types of storages

Checkstyle differences on Hazelcast modules

The file checkstyle/checkstyle.xml differs from project to project. Stylistic checks should be unified. This caused hazelcast/hazelcast-jet-code-samples#9

For example:
(1) hazelcast has

    <module name="NewlineAtEndOfFile">
        <property name="lineSeparator" value="lf" />
    </module>
   <module name="EmptyBlock"/>

(2) hazelcast-jet has

    <module name="NewlineAtEndOfFile">
        <property name="lineSeparator" value="lf" />
    </module>
    <module name="EmptyBlock">
        <property name="option" value="text"/>
        <property name="tokens" value="LITERAL_CATCH"/>
    </module>   

(3) hazelcast-jet-code-samples has

    <module name="NewlineAtEndOfFile"/>
    <module name="EmptyBlock"/>

Three modules, no two the same

Getting "Invalid lambda deserialization" exception in word count example

Creating Jet instance 1
Feb 23, 2017 4:04:02 PM com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [jet] [0.3] [3.8-RC1] Prefer IPv4 stack is true.
Feb 23, 2017 4:04:02 PM com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [jet] [0.3] [3.8-RC1] Picked [10.162.55.6]:5701, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5701], bind any local is true
Feb 23, 2017 4:04:02 PM com.hazelcast.system
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Hazelcast 3.8-RC1 (20170201 - 609ebbc) starting at [10.162.55.6]:5701
Feb 23, 2017 4:04:02 PM com.hazelcast.system
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Copyright (c) 2008-2016, Hazelcast, Inc. All Rights Reserved.
Feb 23, 2017 4:04:02 PM com.hazelcast.system
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Configured Hazelcast Serialization version : 1
Feb 23, 2017 4:04:02 PM com.hazelcast.spi.impl.operationservice.impl.BackpressureRegulator
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Backpressure is disabled
Feb 23, 2017 4:04:03 PM com.hazelcast.instance.Node
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Creating MulticastJoiner
Feb 23, 2017 4:04:03 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Starting Jet 0.3 (20170206 - 5c8738d)
Feb 23, 2017 4:04:03 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Setting number of cooperative threads and default parallelism to 2
Feb 23, 2017 4:04:03 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1]
o o o o---o o---o o o---o o o---o o-o-o o o---o o-o-o
| | / \ / | | | / \ | | | | |
o---o o---o o o-o | o o---o o---o | | o-o |
| | | | / | | | | | | | \ | | |
o o o o o---o o---o o---o o---o o o o---o o o--o o---o o
Feb 23, 2017 4:04:03 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Copyright (c) 2008-2017, Hazelcast, Inc. All Rights Reserved.
Feb 23, 2017 4:04:03 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Starting 4 partition threads
Feb 23, 2017 4:04:03 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Starting 3 generic threads (1 dedicated for priority tasks)
Feb 23, 2017 4:04:03 PM com.hazelcast.core.LifecycleService
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] [10.162.55.6]:5701 is STARTING
Feb 23, 2017 4:04:06 PM com.hazelcast.system
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Cluster version set to 3.8
Feb 23, 2017 4:04:06 PM com.hazelcast.internal.cluster.impl.MulticastJoiner
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1]

Members [1] {
Member [10.162.55.6]:5701 - 642563f8-8abf-4cbb-9290-7b131a5bb84d this
}

Creating Jet instance 2
Feb 23, 2017 4:04:06 PM com.hazelcast.core.LifecycleService
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] [10.162.55.6]:5701 is STARTED
Feb 23, 2017 4:04:06 PM com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [jet] [0.3] [3.8-RC1] Prefer IPv4 stack is true.
Feb 23, 2017 4:04:06 PM com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [jet] [0.3] [3.8-RC1] Picked [10.162.55.6]:5703, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5703], bind any local is true
Feb 23, 2017 4:04:06 PM com.hazelcast.system
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Hazelcast 3.8-RC1 (20170201 - 609ebbc) starting at [10.162.55.6]:5703
Feb 23, 2017 4:04:06 PM com.hazelcast.system
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Copyright (c) 2008-2016, Hazelcast, Inc. All Rights Reserved.
Feb 23, 2017 4:04:06 PM com.hazelcast.system
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Configured Hazelcast Serialization version : 1
Feb 23, 2017 4:04:06 PM com.hazelcast.spi.impl.operationservice.impl.BackpressureRegulator
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Backpressure is disabled
Feb 23, 2017 4:04:07 PM com.hazelcast.instance.Node
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Creating MulticastJoiner
Feb 23, 2017 4:04:07 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Starting Jet 0.3 (20170206 - 5c8738d)
Feb 23, 2017 4:04:07 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Setting number of cooperative threads and default parallelism to 2
Feb 23, 2017 4:04:07 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1]
o o o o---o o---o o o---o o o---o o-o-o o o---o o-o-o
| | / \ / | | | / \ | | | | |
o---o o---o o o-o | o o---o o---o | | o-o |
| | | | / | | | | | | | \ | | |
o o o o o---o o---o o---o o---o o o o---o o o--o o---o o
Feb 23, 2017 4:04:07 PM com.hazelcast.jet.impl.JetService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Copyright (c) 2008-2017, Hazelcast, Inc. All Rights Reserved.
Feb 23, 2017 4:04:07 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Starting 4 partition threads
Feb 23, 2017 4:04:07 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Starting 3 generic threads (1 dedicated for priority tasks)
Feb 23, 2017 4:04:07 PM com.hazelcast.core.LifecycleService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] [10.162.55.6]:5703 is STARTING
Feb 23, 2017 4:04:07 PM com.hazelcast.internal.cluster.impl.MulticastJoiner
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Trying to join to discovered node: [10.162.55.6]:5701
Feb 23, 2017 4:04:07 PM com.hazelcast.nio.tcp.InitConnectionTask
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Connecting to /10.162.55.6:5701, timeout: 0, bind-any: true
Feb 23, 2017 4:04:07 PM com.hazelcast.nio.tcp.SocketAcceptorThread
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Accepting socket connection from /10.162.55.6:49760
Feb 23, 2017 4:04:07 PM com.hazelcast.nio.tcp.TcpIpConnectionManager
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Established socket connection between /10.162.55.6:49760 and /10.162.55.6:5701
Feb 23, 2017 4:04:07 PM com.hazelcast.nio.tcp.TcpIpConnectionManager
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Established socket connection between /10.162.55.6:5701 and /10.162.55.6:49760
Feb 23, 2017 4:04:14 PM com.hazelcast.internal.cluster.ClusterService
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1]

Members [2] {
Member [10.162.55.6]:5701 - 642563f8-8abf-4cbb-9290-7b131a5bb84d this
Member [10.162.55.6]:5703 - 4ad40f05-f147-4839-9272-4d9968d9466c
}

Feb 23, 2017 4:04:14 PM com.hazelcast.system
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Cluster version set to 3.8
Feb 23, 2017 4:04:14 PM com.hazelcast.internal.cluster.ClusterService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1]

Members [2] {
Member [10.162.55.6]:5701 - 642563f8-8abf-4cbb-9290-7b131a5bb84d
Member [10.162.55.6]:5703 - 4ad40f05-f147-4839-9272-4d9968d9466c this
}

Feb 23, 2017 4:04:16 PM com.hazelcast.instance.Node
WARNING: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Config seed port is 5701 and cluster size is 2. Some of the ports seem occupied!
Feb 23, 2017 4:04:16 PM com.hazelcast.core.LifecycleService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] [10.162.55.6]:5703 is STARTED
These books will be analyzed:
adventures-of-sherlock-holmes.txt
Feb 23, 2017 4:04:16 PM com.hazelcast.internal.partition.impl.PartitionStateManager
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Initializing cluster partition table arrangement...
anderson-fairy-tales.txt
anna-karenina.txt
around-the-world-in-eighty-days.txt
a-tale-of-two-cities.txt
awakening.txt
benjamin-franklin-autobiography.txt
beyond-good-and-evil.txt
brothers-karamazov.txt
canterbury-tales.txt
clarissa-harlowe.txt
confessions-of-st-augustine.txt
connecticut-yankee.txt
crime-punishment.txt
critique-of-pure-reason.txt
david-copperfield.txt
decameron.txt
divine-comedy.txt
don-juan.txt
don-quixote.txt
dorian-gray.txt
dracula.txt
edgar-allan-poe-works-1.txt
edgar-allan-poe-works-2.txt
edgar-allan-poe-works-3.txt
emma.txt
faust.txt
frankenstein.txt
gilded-age.txt
great-expectations.txt
grimm-brothers.txt
gullivers-travels.txt
guy-de-maupassant-shorts.txt
hard-times.txt
heart-of-darkness.txt
history-of-peloponnesian-war.txt
hound-of-the-baskervilles.txt
huckleberry-finn.txt
iliad.txt
ivanhoe.txt
king-james-bible.txt
land-of-oz.txt
leaves-of-grass.txt
les-miserables.txt
leviathan.txt
little-women.txt
madame-bovary.txt
man-who-was-thursday.txt
mark-twain-mysterious-strangers.txt
meditations.txt
michel-montaigne-essays.txt
middlemarch.txt
moby-dick.txt
monte-cristo.txt
my-secret-life.txt
north-and-south.txt
notebooks-of-leonardo-da-vinci.txt
odyssey.txt
olaudah-equiano.txt
oliver-twist.txt
origin-of-species.txt
paradise-lost.txt
peter-pan.txt
portrait-of-artist-as-a-young-man.txt
practice-and-science-of-drawing.txt
pride-and-prejudice.txt
problems-of-philosophy.txt
relativity-special-and-general-theory.txt
return-of-sherlock-holmes.txt
room-with-a-view.txt
satyricon.txt
scarlet-letter.txt
sense-sensibility.txt
shakespeare-complete-works.txt
short-history-of-world.txt
siddharta.txt
sorrows-of-young-werther.txt
souls-of-black-folk.txt
swanns-way.txt
the-30000-dollar-request.txt
the-jungle.txt
the-republic.txt
the-trial.txt
three-musketeers.txt
through-the-looking-glass.txt
thus-spake-zarathustra.txt
time-machine.txt
tom-sawyer.txt
ulysses.txt
uncle-toms-cabin.txt
utopia.txt
walden-and-duty-of-civil-disobedience.txt
war-and-peace.txt
war-of-the-worlds.txt
wealth-of-nations.txt
what-is-man.txt
wuthering-heights.txt

Counting words... Feb 23, 2017 4:04:16 PM com.hazelcast.jet.impl.operation.ExecuteJobOperation
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Start executing job 0.
Feb 23, 2017 4:04:17 PM com.hazelcast.jet.impl.operation.InitOperation
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Initializing execution plan for job 0 from [10.162.55.6]:5701.
Feb 23, 2017 4:04:17 PM com.hazelcast.jet.impl.operation.InitOperation
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Initializing execution plan for job 0 from [10.162.55.6]:5701.
Feb 23, 2017 4:04:17 PM com.hazelcast.jet.impl.operation.InitOperation
SEVERE: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] java.io.IOException: unexpected exception type
com.hazelcast.nio.serialization.HazelcastSerializationException: java.io.IOException: unexpected exception type
at com.hazelcast.internal.serialization.impl.SerializationUtil.handleException(SerializationUtil.java:61)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:272)
at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:599)
at com.hazelcast.jet.impl.execution.init.CustomClassLoadedObject.read(CustomClassLoadedObject.java:54)
at com.hazelcast.jet.impl.execution.init.VertexDef.readData(VertexDef.java:108)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.readInternal(DataSerializableSerializer.java:156)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:104)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:49)
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:266)
at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:599)
at com.hazelcast.jet.impl.util.Util.readList(Util.java:136)
at com.hazelcast.jet.impl.execution.init.ExecutionPlan.readData(ExecutionPlan.java:202)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.readInternal(DataSerializableSerializer.java:156)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:104)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:49)
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toObject(AbstractSerializationService.java:184)
at com.hazelcast.jet.impl.execution.init.CustomClassLoadedObject.deserializeWithCustomClassLoader(CustomClassLoadedObject.java:61)
at com.hazelcast.jet.impl.operation.InitOperation.lambda$readInternal$1(InitOperation.java:71)
at com.hazelcast.jet.impl.operation.InitOperation$$Lambda$141/852682394.get(Unknown Source)
at com.hazelcast.jet.impl.operation.InitOperation.run(InitOperation.java:49)
at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:186)
at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:401)
at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:117)
at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:102)
Caused by: java.io.IOException: unexpected exception type
at java.io.ObjectStreamClass.throwMiscException(ObjectStreamClass.java:1538)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1110)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1810)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1707)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1345)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1707)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1345)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at com.hazelcast.jet.impl.execution.init.CustomClassLoadedObject$Serializer.read(CustomClassLoadedObject.java:104)
at com.hazelcast.jet.impl.execution.init.CustomClassLoadedObject$Serializer.read(CustomClassLoadedObject.java:85)
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:266)
... 24 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at java.lang.invoke.SerializedLambda.readResolve(SerializedLambda.java:230)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1104)
... 43 more
Caused by: java.lang.IllegalArgumentException: Invalid lambda deserialization
at WordCount.$deserializeLambda$(WordCount.java:1)
... 52 more

Feb 23, 2017 4:04:17 PM com.hazelcast.jet.impl.operation.ExecuteJobOperation
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Execution of job 0 completed in 412ms.
Feb 23, 2017 4:04:17 PM com.hazelcast.core.LifecycleService
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] [10.162.55.6]:5701 is SHUTTING_DOWN
Feb 23, 2017 4:04:17 PM com.hazelcast.internal.partition.impl.MigrationManager
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Shutdown request of [10.162.55.6]:5701 is handled
Feb 23, 2017 4:04:17 PM com.hazelcast.internal.partition.impl.MigrationManager
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Re-partitioning cluster data... Migration queue size: 135
Feb 23, 2017 4:04:18 PM com.hazelcast.instance.Node
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Shutting down multicast service...
Feb 23, 2017 4:04:18 PM com.hazelcast.internal.cluster.ClusterService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Old master [10.162.55.6]:5701 left the cluster, assigning new master Member [10.162.55.6]:5703 - 4ad40f05-f147-4839-9272-4d9968d9466c this
Feb 23, 2017 4:04:18 PM com.hazelcast.nio.tcp.TcpIpConnection
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Connection[id=1, /10.162.55.6:49760->/10.162.55.6:5701, endpoint=[10.162.55.6]:5701, alive=false, type=MEMBER] closed. Reason: Removing member [10.162.55.6]:5701, uuid: 642563f8-8abf-4cbb-9290-7b131a5bb84d, requested by: [10.162.55.6]:5701
Feb 23, 2017 4:04:18 PM com.hazelcast.instance.Node
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Shutting down connection manager...
Feb 23, 2017 4:04:18 PM com.hazelcast.nio.tcp.TcpIpConnection
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Connection[id=1, /10.162.55.6:5701->/10.162.55.6:49760, endpoint=[10.162.55.6]:5703, alive=false, type=MEMBER] closed. Reason: TcpIpConnectionManager is stopping
Feb 23, 2017 4:04:18 PM com.hazelcast.internal.cluster.ClusterService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Removing Member [10.162.55.6]:5701 - 642563f8-8abf-4cbb-9290-7b131a5bb84d
Feb 23, 2017 4:04:18 PM com.hazelcast.internal.cluster.ClusterService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1]

Members [1] {
Member [10.162.55.6]:5703 - 4ad40f05-f147-4839-9272-4d9968d9466c this
}

Feb 23, 2017 4:04:18 PM com.hazelcast.transaction.TransactionManagerService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Committing/rolling-back alive transactions of Member [10.162.55.6]:5701 - 642563f8-8abf-4cbb-9290-7b131a5bb84d, UUID: 642563f8-8abf-4cbb-9290-7b131a5bb84d
Feb 23, 2017 4:04:18 PM com.hazelcast.instance.Node
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Shutting down node engine...
Feb 23, 2017 4:04:18 PM com.hazelcast.instance.NodeExtension
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Destroying node NodeExtension.
Feb 23, 2017 4:04:18 PM com.hazelcast.instance.Node
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] Hazelcast Shutdown is completed in 1099 ms.
Feb 23, 2017 4:04:18 PM com.hazelcast.core.LifecycleService
INFO: [10.162.55.6]:5701 [jet] [0.3] [3.8-RC1] [10.162.55.6]:5701 is SHUTDOWN
Feb 23, 2017 4:04:18 PM com.hazelcast.core.LifecycleService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] [10.162.55.6]:5703 is SHUTTING_DOWN
Feb 23, 2017 4:04:18 PM com.hazelcast.internal.partition.impl.MigrationManager
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Shutdown request of [10.162.55.6]:5703 is handled
Feb 23, 2017 4:04:18 PM com.hazelcast.internal.partition.InternalPartitionService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Fetching most recent partition table! my version: 949
Feb 23, 2017 4:04:18 PM com.hazelcast.internal.partition.InternalPartitionService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Most recent partition table version: 949
Feb 23, 2017 4:04:18 PM com.hazelcast.instance.Node
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Shutting down multicast service...
Feb 23, 2017 4:04:18 PM com.hazelcast.instance.Node
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Shutting down connection manager...
Feb 23, 2017 4:04:18 PM com.hazelcast.instance.Node
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Shutting down node engine...
Feb 23, 2017 4:04:19 PM com.hazelcast.instance.NodeExtension
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Destroying node NodeExtension.
Feb 23, 2017 4:04:19 PM com.hazelcast.instance.Node
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] Hazelcast Shutdown is completed in 1126 ms.
Feb 23, 2017 4:04:19 PM com.hazelcast.core.LifecycleService
INFO: [10.162.55.6]:5703 [jet] [0.3] [3.8-RC1] [10.162.55.6]:5703 is SHUTDOWN
Exception in thread "main" java.util.concurrent.ExecutionException: com.hazelcast.nio.serialization.HazelcastSerializationException: java.io.IOException: unexpected exception type
at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrowIfException(InvocationFuture.java:88)
at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:155)
at WordCount.go(WordCount.java:151)
at WordCount.main(WordCount.java:143)
Caused by: com.hazelcast.nio.serialization.HazelcastSerializationException: java.io.IOException: unexpected exception type
at com.hazelcast.internal.serialization.impl.SerializationUtil.handleException(SerializationUtil.java:61)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:272)
at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:599)
at com.hazelcast.jet.impl.execution.init.CustomClassLoadedObject.read(CustomClassLoadedObject.java:54)
at com.hazelcast.jet.impl.execution.init.VertexDef.readData(VertexDef.java:108)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.readInternal(DataSerializableSerializer.java:156)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:104)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:49)
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:266)
at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:599)
at com.hazelcast.jet.impl.util.Util.readList(Util.java:136)
at com.hazelcast.jet.impl.execution.init.ExecutionPlan.readData(ExecutionPlan.java:202)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.readInternal(DataSerializableSerializer.java:156)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:104)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:49)
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toObject(AbstractSerializationService.java:184)
at com.hazelcast.jet.impl.execution.init.CustomClassLoadedObject.deserializeWithCustomClassLoader(CustomClassLoadedObject.java:61)
at com.hazelcast.jet.impl.operation.InitOperation.lambda$readInternal$1(InitOperation.java:71)
at com.hazelcast.jet.impl.operation.InitOperation$$Lambda$141/852682394.get(Unknown Source)
at com.hazelcast.jet.impl.operation.InitOperation.run(InitOperation.java:49)
at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:186)
at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:401)
at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:117)
at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:102)
at ------ submitted from ------.(Unknown Source)
at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:114)
at com.hazelcast.spi.impl.AbstractInvocationFuture$1.run(AbstractInvocationFuture.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)
at ------ submitted from ------.(Unknown Source)
at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:114)
at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrowIfException(InvocationFuture.java:75)
... 3 more
Caused by: java.io.IOException: unexpected exception type
at java.io.ObjectStreamClass.throwMiscException(ObjectStreamClass.java:1538)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1110)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1810)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1707)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1345)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1707)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1345)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at com.hazelcast.jet.impl.execution.init.CustomClassLoadedObject$Serializer.read(CustomClassLoadedObject.java:104)
at com.hazelcast.jet.impl.execution.init.CustomClassLoadedObject$Serializer.read(CustomClassLoadedObject.java:85)
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:266)
at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:599)
at com.hazelcast.jet.impl.execution.init.CustomClassLoadedObject.read(CustomClassLoadedObject.java:54)
at com.hazelcast.jet.impl.execution.init.VertexDef.readData(VertexDef.java:108)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.readInternal(DataSerializableSerializer.java:156)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:104)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:49)
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:266)
at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:599)
at com.hazelcast.jet.impl.util.Util.readList(Util.java:136)
at com.hazelcast.jet.impl.execution.init.ExecutionPlan.readData(ExecutionPlan.java:202)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.readInternal(DataSerializableSerializer.java:156)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:104)
at com.hazelcast.internal.serialization.impl.DataSerializableSerializer.read(DataSerializableSerializer.java:49)
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48)
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.toObject(AbstractSerializationService.java:184)
at com.hazelcast.jet.impl.execution.init.CustomClassLoadedObject.deserializeWithCustomClassLoader(CustomClassLoadedObject.java:61)
at com.hazelcast.jet.impl.operation.InitOperation.lambda$readInternal$1(InitOperation.java:71)
at com.hazelcast.jet.impl.operation.InitOperation$$Lambda$141/852682394.get(Unknown Source)
at com.hazelcast.jet.impl.operation.InitOperation.run(InitOperation.java:49)
at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:186)
at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:401)
at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:117)
at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.run(OperationThread.java:102)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at java.lang.invoke.SerializedLambda.readResolve(SerializedLambda.java:230)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1104)
... 43 more
Caused by: java.lang.IllegalArgumentException: Invalid lambda deserialization
at WordCount.$deserializeLambda$(WordCount.java:1)
... 52 more

ParallelCascadePlatformTest.testCascadeRaceCondition

cascading.cascade.CascadeException: flow failed: race-50/first-nondeterministic
    at cascading.cascade.BaseCascade$CascadeJob.call(BaseCascade.java:963)
    at cascading.cascade.BaseCascade$CascadeJob.call(BaseCascade.java:900)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: cascading.flow.FlowException: [race-50/first-nondeterministic] unhandled exception
    at cascading.flow.BaseFlow.complete(BaseFlow.java:1012)
    at cascading.cascade.BaseCascade$CascadeJob.call(BaseCascade.java:953)
    at cascading.cascade.BaseCascade$CascadeJob.call(BaseCascade.java:900)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: com.hazelcast.jet.impl.statemachine.InvalidEventException: Invalid Event FINALIZATION_START for state=INTERRUPTION_IN_PROGRESS for stateMachine with name=9993c01100174f9daa7f5abe8e0f93bb
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at cascading.flow.BaseFlow.run(BaseFlow.java:1252)
    at cascading.flow.BaseFlow.access$100(BaseFlow.java:82)
    at cascading.flow.BaseFlow$1.run(BaseFlow.java:928)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: com.hazelcast.jet.impl.statemachine.InvalidEventException: Invalid Event FINALIZATION_START for state=INTERRUPTION_IN_PROGRESS for stateMachine with name=9993c01100174f9daa7f5abe8e0f93bb
    at com.hazelcast.jet.impl.util.JetUtil.reThrow(JetUtil.java:181)
    at com.hazelcast.jet.impl.job.ServerJobInvocation$1.onFailure(ServerJobInvocation.java:52)
    at com.hazelcast.spi.impl.AbstractInvocationFuture$1.run(AbstractInvocationFuture.java:249)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
    at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)
Caused by: com.hazelcast.jet.impl.statemachine.InvalidEventException: Invalid Event FINALIZATION_START for state=INTERRUPTION_IN_PROGRESS for stateMachine with name=9993c01100174f9daa7f5abe8e0f93bb
    at com.hazelcast.jet.impl.statemachine.StateMachine$EventsProcessor.execute(StateMachine.java:174)
    at com.hazelcast.jet.impl.executor.Worker.execute(Worker.java:140)
    at com.hazelcast.jet.impl.executor.StateMachineWorker.run(StateMachineWorker.java:62)
    at java.lang.Thread.run(Thread.java:745)
    at ------ submitted from ------.(Unknown Source)
    at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolve(InvocationFuture.java:111)
    at com.hazelcast.spi.impl.AbstractInvocationFuture$1.run(AbstractInvocationFuture.java:246)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
    at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)```

ReadFileStreamPTest fails intermittently

The tests are currently racy as they rely on file system event timing.


expected:<3> but was:<0>
Stacktrace

java.lang.AssertionError: expected:<3> but was:<0>
	at com.hazelcast.jet.FileStreamReaderTest.lambda$when_watchType_appendedOnly$5(FileStreamReaderTest.java:107)
	at com.hazelcast.jet.FileStreamReaderTest.when_watchType_appendedOnly(FileStreamReaderTest.java:107)```

ConsumerProducerTest.testFinalization_whenEmptyProducerWithConsumer

Test timed out:

https://hazelcast-l337.ci.cloudbees.com/job/Jet-pr-builder/363/

17:55:26,722  WARN || - [StateMachine] _hzInstance_49_dev.jet.emptyProducerWithConsumer-job-state_machine-executor.1421 - Invalid Event FINALIZATION_START for state=EXECUTION_IN_PROGRESS for stateMachine with name=emptyProducerWithConsumer
com.hazelcast.jet.impl.statemachine.InvalidEventException: Invalid Event FINALIZATION_START for state=EXECUTION_IN_PROGRESS for stateMachine with name=emptyProducerWithConsumer
    at com.hazelcast.jet.impl.statemachine.StateMachine$EventsProcessor.execute(StateMachine.java:174)
    at com.hazelcast.jet.impl.executor.Worker.execute(Worker.java:140)
    at com.hazelcast.jet.impl.executor.StateMachineWorker.run(StateMachineWorker.java:62)
    at java.lang.Thread.run(Thread.java:745)
17:55:26,722 ERROR || - [JobEventOperation] hz._hzInstance_49_dev.generic-operation.thread-2 - [127.0.0.1]:5049 [dev] [3.7] Invalid Event FINALIZATION_START for state=EXECUTION_IN_PROGRESS for stateMachine with name=emptyProducerWithConsumer
com.hazelcast.jet.impl.statemachine.InvalidEventException: Invalid Event FINALIZATION_START for state=EXECUTION_IN_PROGRESS for stateMachine with name=emptyProducerWithConsumer
    at com.hazelcast.jet.impl.statemachine.StateMachine$EventsProcessor.execute(StateMachine.java:174)
    at com.hazelcast.jet.impl.executor.Worker.execute(Worker.java:140)
    at com.hazelcast.jet.impl.executor.StateMachineWorker.run(StateMachineWorker.java:62)
    at java.lang.Thread.run(Thread.java:745)

ClassNotFoundException from client side IStreamMap with filter

If this code is run from a client

		this.jetInstance.getMap("emptyMap")
			.stream()
			.filter(entry -> (entry.getKey() != null))
			.collect(DistributedCollectors.toIMap());

an exception is thrown, ClassNotFoundException for the client's main class.

Run from the client without the filter, or run from the server, all is ok

cascading.RegressionMiscPlatformTest.testTupleEntryNextTwice

https://hazelcast-l337.ci.cloudbees.com/job/Jet-pr-builder/com.hazelcast.jet$hazelcast-jet-cascading/373/

java.io.IOException: Could not find map src/test/resources/data/nums.10.txt at com.hazelcast.jet.cascading.tap.InternalMapTap.openForRead(InternalMapTap.java:81) at com.hazelcast.jet.cascading.tap.InternalMapTap.openForRead(InternalMapTap.java:55) at cascading.tap.Tap.openForRead(Tap.java:276) at cascading.RegressionMiscPlatformTest.testTupleEntryNextTwice(RegressionMiscPlatformTest.java:126)

[j.u.s] Provide a map name for DistributedCollectors.toIMap

DistributedCollectors.toIMap dumps result to map with autogenerated name.
which not very easy to reference. Of course one can map.getName() but in management center it's not very convenient.
Provide a method allows to specify map name.

Proxy thread pool creation

Everytime a new job is created and invoked, a new thread pool is created for submitting invocations. These should not need to create thread pool but rather handled differently. These threads have a TTL and eventually get killed, but when running a lot of applications one after another, it will result in a lot of unused threads.

It should be possible to avoid creating an executor here completely, and rely on async callbacks.

See:

ExecutorService executorService = newCachedThreadPool(new JetThreadFactory("job-invoker-thread-" + name, hzName));

Similar problem exists in ClientJobProxy

Dumping Stream data into hazelcast map using JET

Hi

I am trying to implement one sample application and write a processor as:

private static class StockReader extends AbstractProcessor
	{
	private final FlatMapper<Entry<Long, String>, Stock> flatMapper;

	
	

	public StockReader() {
		super();
		this.flatMapper = flatMapper(e -> traverseStream(readStock(e.getValue())));
	}

	@Override
	protected boolean tryProcess(int ordinal, Object item) throws Exception {
		// TODO Auto-generated method stub
		return flatMapper.tryProcess((Entry<Long, String>) item);
	}
	
	private static Stream<Stock> readStock(String fileName){
		 try {
                return  Files.lines(Paths.get(new URI("file:///C://Backup/stocks.csv"))).map(stock -> new Stock(stock));
            } catch (IOException | URISyntaxException e) {
                throw new RuntimeException(e);
            }
	}
}
}

Now I created a DAG implementation but it is not allowing to add the object as Map value, please suggest what I am doing wrong.

DAG dag = new DAG();
	 Vertex source = dag.newVertex("source", readMap("stockMap")).localParallelism(1);
	 Vertex docLines = dag.newVertex("doc-lines", StockReader::new).localParallelism(1);
	 Vertex combiner = dag.newVertex("combiner", collect(Collectors.toMap(random.nextInt(50),Function.identity())));
	 Vertex sink = dag.newVertex("sink", writeMap("counts"));
	 dag.edge(between(source, docLines)).edge(between(docLines,sink));

I am getting compilation error at:

Vertex combiner = dag.newVertex("combiner", collect(Collectors.toMap(random.nextInt(50),Function.identity())));

Error is showing as : The method toMap(Function<? super T,? extends K>, Function<? super T,? extends U>) in the type Collectors is not applicable for the arguments (int, Function<Object,Object>)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.