Skip to content

Jet 4.3 fails when Kryo enabled #44

@TomaszGaweda

Description

@TomaszGaweda

Consider following test:

import com.hazelcast.config.GlobalSerializerConfig;
import com.hazelcast.config.SerializationConfig;
import com.hazelcast.jet.Jet;
import com.hazelcast.jet.config.JetConfig;
import com.hazelcast.jet.pipeline.Pipeline;
import com.hazelcast.jet.pipeline.Sinks;
import com.hazelcast.jet.pipeline.Sources;
import info.jerrinot.subzero.Serializer;
import org.junit.jupiter.api.Test;

class ReproTest {

	@Test
	void repro() {
		var jc = new JetConfig();
		jc.getProperties().setProperty("hazelcast.logging.type", "slf4j");
		jc.getProperties().setProperty("hazelcast.phone.home.enabled", "false");

		var hazelcastConf = jc.getHazelcastConfig();
		hazelcastConf.setClusterName("serialization-test");
		hazelcastConf.setSerializationConfig(kryoSerializationConfiguration());

		var jet = Jet.newJetInstance(jc);

		var pipeline = Pipeline.create()
				.readFrom(Sources.list("abc"))
				.writeTo(Sinks.noop())
		.getPipeline();

		jet.newJob(pipeline).join();
	}


	private static SerializationConfig kryoSerializationConfiguration() {
		return new SerializationConfig()
				.setGlobalSerializerConfig(new GlobalSerializerConfig()
						.setClassName(Serializer.class.getName())
						.setOverrideJavaSerialization(true)
				);
	}

}

It works fine on Jet 4.2, fails on Jet 4.3. Serializer.class is SubZero's class.
Environment: Windows 10, Java 14.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions