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)