You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Igor Kamyshnikov (JIRA)" <ji...@apache.org> on 2018/09/29 11:34:00 UTC

[jira] [Commented] (IGNITE-8788) Getting NullPointerException during commit into cassandra, after reconnecting to ignite server

    [ https://issues.apache.org/jira/browse/IGNITE-8788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16632961#comment-16632961 ] 

Igor Kamyshnikov commented on IGNITE-8788:
------------------------------------------

There is one other aspect of this issue.

Let's assume that ignite server config has Cassandra caches A and B. And ignite client config has A, B and C. If such ignite client joins the cluster it infects it: no other clients would be able to join this cluster even if they have just A and B caches defined in their configs (their Ignition.start threads will hang). New Ignite server nodes would not be able to join the cluster as well (dying with the exception mentioned in the ticket). And even if that "bad" client leaves the cluster, the cluster cannot be joined by new correct clients and servers.

 

 

> 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
>            Priority: Major
>
> 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)