None none created IGNITE-13372: ---------------------------------- Summary: Operations block when cluster becomes inactive. Key: IGNITE-13372 URL: https://issues.apache.org/jira/browse/IGNITE-13372 Project: Ignite Issue Type: Improvement Affects Versions: 2.8, 2.7 Environment: 3 server nodes using I.P discovery and multiple client nodes (client =true) Server nodes are 32GB total of which each is configure with 6GB heap and 10GB native persistence. Reporter: None none
Operations block indefinitely when the cluster state becomes inactive. Initial discussion is here: [http://apache-ignite-users.70518.x6.nabble.com/Operation-block-on-Cluster-recovery-rebalance-td33579.html] # Start a server cluster with persistence. # Start thick client (client = true) application with Ignition.start(), create IgniteCache instance. # IgniteCache instance is initialized once at beginning of application and shared between "threads". This particular application is a REST API and uses the IgniteCache instance when HTTP request is made. ## When HTTP request comes in first execute cache.query() ## If successful do cache.put() ## Reply back to client. # Shut off some nodes and bring back some to ensure that the cluster is in inactive state. # As the application continues to operate and since the IgniteCache instance was initialized once at the beginning of the application, the operation blocks indefinitely and renders the application unresponsive. # As per the discussion thread it was advised to listen for node events and re-initialize the IgniteCache instance. This is not user friendly or intuitive as the client should handle all failover scenarios it's better that the operation fail with exception so at least the application can respond and the IgniteCache instance should somehow recover when the cluster is back to active. -- This message was sent by Atlassian Jira (v8.3.4#803005)