Re: Node and cluster life-cycle in ignite-3

2021-06-03 Thread Alexander Lapin
Alexei, In general I agree with the given proposal. However I'd also like to clarify a few things: 1. start() is called in "depends on" relation order. 2. It might have sense to add a runLevel parameter to start(): start(int runLevel). 3. Seems that we don't need an afterStart() method. Cause we

Re: Node and cluster life-cycle in ignite-3

2021-06-03 Thread Alexei Scherbakov
I've made a small mistake above, the correct sentence is void stop(); // Stop a component. Invoked in "depends on" relation order. In the example above, RaftGroup is stopped before the Network. чт, 3 июн. 2021 г. в 17:36, Alexei Scherbakov : > Sergey, I'm ok with the runlevel approach. > >

Re: Node and cluster life-cycle in ignite-3

2021-06-03 Thread Alexei Scherbakov
Sergey, I'm ok with the runlevel approach. I've thought about the node/components lifecycle, here my ideas: 1. The Component interface. Each manageable component must implement it. 2. Define components hierarchy. Each component can depend on others - this produces component hierarchy defined by

Re: Node and cluster life-cycle in ignite-3

2021-06-03 Thread Valentin Kulichenko
Hi Sergey, Sounds interesting, I do agree that it might be beneficial to improve the lifecycle management in 3.0 - 2.x version is far from perfect. Regarding your questions: 1. Can this be done via the metastore? 2. I think we should list the run levels that we think should be there, and then

Node and cluster life-cycle in ignite-3

2021-06-01 Thread Sergey Chugunov
Hello Igniters, I would like to start a discussion on evolving IEP-73 [1]. Now it covers a narrow topic about components dependencies but it makes sense to cover in the IEP a broader question: how different components should be initialized to support different modes of an individual node or a