I am writing an application that includes a custom object. One of the fields is of type Instant and seems to not agree with the version of Kryo that is used in Apex (see exception below). I now that kryo 4.X supports serializing Instant fields, but for the life of me, cannot seem to find a way to either get Apex to use a newer version of Kryo. Can anyone help? Perhaps setting a different streamcodec that uses the newer version of kryo would work, but I cannot seem to find an example of how to set a different streamcodec despite references to the two (Kryo and Java) that ship with Apex.
ERROR com.datatorrent.stram.codec.DefaultStatefulStreamCodec - Catastrophic Error: Execution halted due to Kryo exception! com.esotericsoftware.kryo.KryoException: Class cannot be created (missing no-arg constructor): java.time.Instant Serialization trace: systemTime (com.punchcyber.streaming.pipeline.apex.datatypes.evtx.EvtxEvent) at com.esotericsoftware.kryo.Kryo$DefaultInstantiatorStrategy. newInstantiatorOf(Kryo.java:1228) at com.esotericsoftware.kryo.Kryo.newInstantiator(Kryo.java:1049) at com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:1058) at com.esotericsoftware.kryo.serializers.FieldSerializer. create(FieldSerializer.java:547) at com.esotericsoftware.kryo.serializers.FieldSerializer. read(FieldSerializer.java:523) at com.esotericsoftware.kryo.Kryo.readObjectOrNull(Kryo.java:730) at com.esotericsoftware.kryo.serializers.ObjectField.read( ObjectField.java:113) at com.esotericsoftware.kryo.serializers.FieldSerializer. read(FieldSerializer.java:528) at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:761) at com.datatorrent.stram.codec.DefaultStatefulStreamCodec.fromDataStatePair( DefaultStatefulStreamCodec.java:98) at com.datatorrent.stram.stream.BufferServerSubscriber$BufferReservoir. processPayload(BufferServerSubscriber.java:391) at com.datatorrent.stram.stream.BufferServerSubscriber$ BufferReservoir.sweep(BufferServerSubscriber.java:339) at com.datatorrent.stram.engine.GenericNode.run(GenericNode.java:269) at com.datatorrent.stram.engine.StreamingContainer$2.run( StreamingContainer.java:1429) -- M. Aaron Bossert (571) 242-4021 Punch Cyber Analytics Group