[ https://issues.apache.org/jira/browse/EAGLE-1091?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16511951#comment-16511951 ]
zhiwen wang edited comment on EAGLE-1091 at 6/14/18 3:34 AM: ------------------------------------------------------------- exception throw from there: public class StringSerializer implements Serializer<String> { @Override public void serialize(String value, DataOutput dataOutput) throws IOException { dataOutput.writeUTF(value); } @Override public String deserialize(DataInput dataInput) throws IOException \{ return dataInput.readUTF(); } } and i fix by ignored value which length more than 64kb,such as , if(value.getBytes().length >= 64*1024) \{ dataOutput.writeUTF(""); } else \{ dataOutput.writeUTF(value); } anyone got best way? was (Author: fanfan): exception throw from there: public class StringSerializer implements Serializer<String> { @Override public void serialize(String value, DataOutput dataOutput) throws IOException { dataOutput.writeUTF(value); } @Override public String deserialize(DataInput dataInput) throws IOException \{ return dataInput.readUTF(); } } and i fix by ignored value which length more than 64kb,such as , if(value.getBytes().length >= 64*1024) \{ dataOutput.writeUTF(""); } else \{ dataOutput.writeUTF(value); } anyone got best way? > serialize exception while processing field which length more than 64k > --------------------------------------------------------------------- > > Key: EAGLE-1091 > URL: https://issues.apache.org/jira/browse/EAGLE-1091 > Project: Eagle > Issue Type: Bug > Components: Core::Alert Engine > Affects Versions: v0.5.0, v0.5.1 > Reporter: zhiwen wang > Assignee: Edward Zhang > Priority: Major > > java.lang.AssertionError: java.io.UTFDataFormatException: encoded string too > long: 228413 bytes > at > com.google.common.io.ByteStreams$ByteArrayDataOutputStream.writeUTF(ByteStreams.java:530) > ~[stormjar.jar:?] > at > org.apache.eagle.alert.engine.serialization.impl.StringSerializer.serialize(StringSerializer.java:28) > ~[stormjar.jar:?] > at > org.apache.eagle.alert.engine.serialization.impl.StringSerializer.serialize(StringSerializer.java:25) > ~[stormjar.jar:?] > at > org.apache.eagle.alert.engine.serialization.impl.StreamEventSerializer.serialize(StreamEventSerializer.java:79) > ~[stormjar.jar:?] > at > org.apache.eagle.alert.engine.serialization.impl.PartitionedEventSerializerImpl.serialize(PartitionedEventSerializerImpl.java:74) > ~[stormjar.jar:?] > at > org.apache.eagle.alert.engine.serialization.impl.PartitionedEventSerializerImpl.serialize(PartitionedEventSerializerImpl.java:81) > ~[stormjar.jar:?] > at > org.apache.eagle.alert.engine.spout.SpoutOutputCollectorWrapper.emit(SpoutOutputCollectorWrapper.java:156) > ~[stormjar.jar:?] > at org.apache.storm.kafka.PartitionManager.next(PartitionManager.java:160) > ~[stormjar.jar:?] > at org.apache.storm.kafka.KafkaSpout.nextTuple(KafkaSpout.java:135) > ~[stormjar.jar:?] > at > org.apache.eagle.alert.engine.spout.CorrelationSpout.nextTuple(CorrelationSpout.java:174) > ~[stormjar.jar:?] > at > org.apache.storm.daemon.executor$fn__6505$fn__6520$fn__6551.invoke(executor.clj:651) > ~[storm-core-1.0.1.2.5.5.0-157.jar:1.0.1.2.5.5.0-157] > at org.apache.storm.util$async_loop$fn__554.invoke(util.clj:484) > [storm-core-1.0.1.2.5.5.0-157.jar:1.0.1.2.5.5.0-157] > at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:?] > at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131] > Caused by: java.io.UTFDataFormatException: encoded string too long: 228413 > bytes > at java.io.DataOutputStream.writeUTF(DataOutputStream.java:364) > ~[?:1.8.0_131] > at java.io.DataOutputStream.writeUTF(DataOutputStream.java:323) > ~[?:1.8.0_131] > at > com.google.common.io.ByteStreams$ByteArrayDataOutputStream.writeUTF(ByteStreams.java:528) > ~[stormjar.jar:?] > ... 13 more -- This message was sent by Atlassian JIRA (v7.6.3#76005)