Hello! Can you post a small reproducer project which will demonstrate this behavior?
Regards, -- Ilya Kasnacheev ср, 28 нояб. 2018 г. в 00:03, rishi007bansod <rishi007ban...@gmail.com>: > I am trying to use java.util.Date type field in my Ignite Key and Value > objects. But when I start caching data in same Ignite cache using Java > code, > I get following error. > > *[12:43:01,485][SEVERE][pool-8-thread-1][] Message is ignored due to an > error [msg=MessageAndMetadata(test1,2,Message(magic = 1, attributes = 0, > CreateTime = -1, crc = 3705259101, key = java.nio.HeapByteBuffer[pos=0 > lim=4 > cap=3288], payload = java.nio.HeapByteBuffer[pos=0 lim=3280 > cap=3280]),302,kafka.serializer.DefaultDecoder@2d50c6a2 > ,kafka.serializer.DefaultDecoder@1ff7596c,-1,CreateTime)] > class org.apache.ignite.binary.BinaryObjectException: Binary type has > different field types [typeName=test.demo.DataKey, fieldName=tstamp, > fieldTypeName1=String, fieldTypeName2=Date] > at > > org.apache.ignite.internal.binary.BinaryUtils.mergeMetadata(BinaryUtils.java:1027) > at > > org.apache.ignite.internal.processors.cache.binary.BinaryMetadataTransport$MetadataUpdateProposedListener.onCustomEvent(BinaryMetadataTransport.java:293) > at > > org.apache.ignite.internal.processors.cache.binary.BinaryMetadataTransport$MetadataUpdateProposedListener.onCustomEvent(BinaryMetadataTransport.java:258) > at > > org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery0(GridDiscoveryManager.java:707) > at > > org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery(GridDiscoveryManager.java:589) > at > > org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.notifyDiscoveryListener(ServerImpl.java:5479) > at > > org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processCustomMessage(ServerImpl.java:5305) > at > > org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2765) > at > > org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2536) > at > > org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(ServerImpl.java:6775) > at > > org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2621) > at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)* > > > > Where DataKey is Ignite cache Key which is defined as follows, > > > *package test.demo; > import java.util.Date; > > public class DataKey{ > > private Long sess_id ; > > private Long s_id; > > private Long version; > > private Date tstamp; > > > public DataKey(Long sess_id, Long s_id, Long version, > Date tstamp) { > super(); > this.sess_id = sess_id; > this.s_id = s_id; > this.version = version; > this.tstamp = tstamp; > } > > > @Override > public int hashCode() { > final int prime = 31; > int result = 1; > result = prime * result > + ((s_id == null) ? 0 : s_id.hashCode()); > result = prime * result > + ((sess_id == null) ? 0 : sess_id.hashCode()); > result = prime * result > + ((tstamp == null) ? 0 : tstamp.hashCode()); > result = prime * result + ((version == null) ? 0 : > version.hashCode()); > return result; > } > > > @Override > public boolean equals(Object obj) { > if (this == obj) > return true; > if (obj == null) > return false; > if (getClass() != obj.getClass()) > return false; > DataKey other = (DataKey) obj; > if (s_id == null) { > if (other.s_id != null) > return false; > } else if (!s_id.equals(other.s_id)) > return false; > if (sess_id == null) { > if (other.sess_id != null) > return false; > } else if (!sess_id.equals(other.sess_id)) > return false; > if (tstamp == null) { > if (other.tstamp != null) > return false; > } else if (!tstamp.equals(other.tstamp)) > return false; > if (version == null) { > if (other.version != null) > return false; > } else if (!version.equals(other.version)) > return false; > return true; > } > }* > > As mentioned in link > > http://apache-ignite-users.70518.x6.nabble.com/Binary-type-has-different-fields-error-td21540.html > < > http://apache-ignite-users.70518.x6.nabble.com/Binary-type-has-different-fields-error-td21540.html> > > , I even deleted contents from $IGNITE_HOME/work/ directory and restarted > the node. But still error is there. What is causing this error? Also same > error occurs if java.util.Date type field is only used in cache value(not > in > key). > > > > -- > Sent from: http://apache-ignite-users.70518.x6.nabble.com/ >