Yashasvi Kotamraju created IGNITE-8788:
------------------------------------------
Summary: Getting NullPointerException during commit into cassandra, after reconnecting to ignite server
Key: IGNITE-8788
URL:
https://issues.apache.org/jira/browse/IGNITE-8788 Project: Ignite
Issue Type: Bug
Components: cassandra
Reporter: Yashasvi Kotamraju
Assignee: Igor Rudyak
When ignite client reconnects to restarted ignite server, while commiting data into cassandra NullPointerException is observed for random runs.
caused by: java.lang.NullPointerException
at
org.apache.ignite.cache.store.cassandra.persistence.PojoField.getValueFromObject(PojoField.java:167)
at
org.apache.ignite.cache.store.cassandra.persistence.PersistenceController.bindValues(PersistenceController.java:450)
at
org.apache.ignite.cache.store.cassandra.persistence.PersistenceController.bindKeyValue(PersistenceController.java:202)
at
org.apache.ignite.cache.store.cassandra.session.transaction.WriteMutation.bindStatement(WriteMutation.java:58)
at
org.apache.ignite.cache.store.cassandra.session.CassandraSessionImpl.execute(CassandraSessionImpl.java:499)
After going through the source code
there is a suspicion that its a java serialization issue in ignite cassandra
module
In org.apache.ignite.cache.store.cassandra.persistence.PojoField.java, there
is a PojoFieldAccessor instance variable which is transient type, so it will
not be part of serialization and if PojoField object is serialized and then
deserialized it would have PojoFieldAccessor as null. And in the Exception
we are seeing the same, NullPointerException when getValue(..) is called on
null PojoFieldAccessor in PojoField.getValueFromObject() method . So when
ever PojoField object is serialized and then deserialized we might be
observing the issue.
Reproducer can be found at:
http://apache-ignite-users.70518.x6.nabble.com/Getting-NullPointerException-during-commit-into-cassandra-after-reconnecting-to-ignite-server-td22005.html
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)