Ivan Fedorenkov created IGNITE-14965:
----------------------------------------

             Summary: Ignite is in invalid state when trying to use Ignite as a 
Spring bean
                 Key: IGNITE-14965
                 URL: https://issues.apache.org/jira/browse/IGNITE-14965
             Project: Ignite
          Issue Type: Bug
          Components: spring
    Affects Versions: 2.10
            Reporter: Ivan Fedorenkov


The following use-case leads to temporary invalid state errors at the grid 
startup time:

Ignite node has an Ignite Service with Ignite DI being used to inject into that 
service a Spring-managed bean, which in its turn depends on the Ignite 
instance, namely the IgniteSpringBean instance. Invoke any method of the bean 
that uses the Ignite instance from the execute method of the service.

Result: IllegalStateException "Ignite is in invalid state to perform this 
operation".

The root cause is that Ignite Services initialization and execution may happen 
before IgniteSpringBean#afterSingletonInstantiated returns and the inner g 
variable gets initialized. Please note that even if the g variable gets 
initialized before any Ignite Service starts executing, a spring-managed bean 
may still get the exception as the inner g variable is not volatile and other 
threads may observe the outdated value for some small amount of time.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to