Clearing of injected resources on node stop

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Clearing of injected resources on node stop

Dmitriy_Sorokin
Hi folks!

At the moment every resources injected by GridResourceProcessor on node
start, also is clearing  on node stop, but before the stopping of
executors. That behavior on node stopping sometimes causes NPEs at calls
which performed in threads of StripedExecutor, for example, see [1].

Does anybody remember the motivation of cleaning injected resources?

Also, can anybody to tell what is bad things can happen if we won't clean
(nullify) injected logger resources?

[1] https://issues.apache.org/jira/browse/IGNITE-1606


Dmitriy Sorokin
Reply | Threaded
Open this post in threaded view
|

Re: Clearing of injected resources on node stop

Alexei Scherbakov
I agree this behavior is strange and causes NPEs, saw it myself in tests.

Probably this is required for correct re-initialization of injected
resources after node restart.

Looks like clearing can be removed if node starts successfully after
stopping. Could you write a test to check ?

Another possible fix - remove resource injection for build-in SPIs. Do we
really need it at all ?

пт, 25 окт. 2019 г. в 17:58, Дмитрий Сорокин <[hidden email]>:

> Hi folks!
>
> At the moment every resources injected by GridResourceProcessor on node
> start, also is clearing  on node stop, but before the stopping of
> executors. That behavior on node stopping sometimes causes NPEs at calls
> which performed in threads of StripedExecutor, for example, see [1].
>
> Does anybody remember the motivation of cleaning injected resources?
>
> Also, can anybody to tell what is bad things can happen if we won't clean
> (nullify) injected logger resources?
>
> [1] https://issues.apache.org/jira/browse/IGNITE-1606
>
> —
> Dmitriy Sorokin
>


--

Best regards,
Alexei Scherbakov