Agree. Service deployment has nothing to do with PME. We should not use the
same term for different things. вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov <[hidden email]>: > Vyacheslav, > > I'm in process of reviewing your changes. Sorry for taking so long. > I posted the first portion of review comments yesterday. > I'd like to finish looking through the code. I'll post more comments later. > > I see, that you called things analogously to partition map exchange. > I realize, that there is an analogy in used procedures, but I don't really > like the idea to use the same names for everything. > The partition map exchange is called this way because it involves an actual > exchange of information. > All nodes need to tell each other, which partitions they have, and what > their states are. > > There is no exchange in case of service deployment, so I would skip the > "exchange" part. > And *single message ->* *full message* look more like *request -> response* > in case of services. > > Suppose we abandon the PME procedure and move to something else. > Then *ServiceDeploymentExchange* name won't make sense. > And I don't want to be in a situation, when I say to my colleague a word > "exchange", > and get "which one?" in return. > So, I'm for the meaningful names rather than analogous to something else. > > What do you think? > > Denis > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur <[hidden email]>: > > > Denis, Yakov have you had a chance to review the solution? > > > > Igniters, we need to define a list of reviewers, otherwise no end in > sign. > > > > I'm ready to continue work on the Service Grid, including new features > > like hot-redeployment and versioning, also, I have ideas about new > > tools for monitoring and management which will be useful for our > > end-users. > > > > But for continuing work we need to overcome this first phase. > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur <[hidden email]> > > wrote: > > > > > > Denis, Yakov, feel free to contact me directly in case of questions. > > Thanks! > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > [hidden email]> > > wrote: > > > > > > > > Guys, > > > > > > > > I'd like to take a look at the changes before they are merged. > > > > I'll do my best to finish the review before the end of the upcoming > > week. > > > > > > > > Thanks! > > > > Denis > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov <[hidden email]>: > > > > > > > > > Hello, Vladimir. > > > > > > > > > > I'm agree with you. > > > > > > > > > > Can we write the list of reviewers for this feature? > > > > > Without a date or similar. > > > > > Just a list of experts who should review this feature. > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov пишет: > > > > > > Igniters, > > > > > > > > > > > > This is very huge thing with complex algorithms behind. We should > > not > > > > > merge > > > > > > it to the product unless several additional thorough reviews are > > ready, > > > > > > irrespectively of how long will it take. We are about quality, > not > > speed. > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda <[hidden email]>: > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > What are the cases when the service can be redeployed? > Affinity, > > > > > failure, > > > > > > > etc., right. It would be good to list all the cases on the wiki > > and > > > > > then > > > > > > > our tech writers will get everything documented. > > > > > > > > > > > > > > -- > > > > > > > Denis > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav Daradur < > > > > > [hidden email]> > > > > > > > wrote: > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > Services reassignment process takes into account previous > > assignments > > > > > > > > to avoid redundant redeployments. > > > > > > > > So, in the described case, ServiceA won't be moved from node1 > > to > > > > > node2. > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda < > [hidden email]> > > > > > wrote: > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this milestone and > > rolling out > > > > > these > > > > > > > > > > > > > > > > new > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > Speaking of the topology change events [1], does the new > > > > > architecture > > > > > > > > > > > > > > > > avoid > > > > > > > > > a running service redeployment when a new node joins? For > > instance, > > > > > > > > > > > > > > let's > > > > > > > > > say I have ServiceA running node1, then node2 joins and I > > don't > > > > > want > > > > > > > > > > > > > > the > > > > > > > > > service to be redeployed to any other node. > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav Daradur < > > > > > [hidden email] > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy Pavlov < > > > > > [hidden email] > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any attached docs. Could > > you > > > > > please > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav Daradur < > > > > > [hidden email] > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the implemented solution > > and > > > > > attached > > > > > > > > > > > > > > > > it > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. Should I post the > > document > > > > > into > > > > > > > > > > > > > > > > wiki > > > > > > > > > > or > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts review the solution > > [1] [2], > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > [1] > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > [2] https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM Vyacheslav Daradur < > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - is in Patch > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional review from other > Ignite > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] and PR [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the review? > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > [2] https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM Denis Mekhanikov < > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to specify service > > class name > > > > > > > > > > > > > > > > instead > > > > > > > > > > of > > > > > > > > > > > > its > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 Vyacheslav Daradur < > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement of serialized > > instance > > > > > makes > > > > > > > > > > > > > > > > sense > > > > > > > > > > to me > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for .NET client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 PM Dmitriy > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 6:10 AM, Nikita > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] that would replace > > > > > serialized > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > by service's class name and properties map > in > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that we should use > > > > > > > > > > > > > > > > > {String className} + {Map<String, Object> > > > > > properties} > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the following > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public methods? > > > > > > > > > > > > > > > > > I suggest to mark them as deprecated and > use > > class > > > > > name > > > > > > > > > > > > > > > > of > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > Also to add deploying methods with new > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > name, String srvcClsName, Map<String, > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, but I would like > > other > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov should comment here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, Object> properties} > > parameter > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > when > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > Is it make sense to add deploying methods > > without > > > > > it? > > > > > > > > > > > > > > For > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > name, String srvcClsName, Map<String, > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the user to pass the > > property > > > > > map, but > > > > > > > > > > > > > > > > would > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Best Regards, Vyacheslav D. > > > > > > > > -- > > Best Regards, Vyacheslav D. > > > |
Hello, Vladimir.
What is correct term? ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov [hidden email]: > Agree. Service deployment has nothing to do with PME. We should not use the > same term for different things. > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov <[hidden email]>: > > > Vyacheslav, > > > > I'm in process of reviewing your changes. Sorry for taking so long. > > I posted the first portion of review comments yesterday. > > I'd like to finish looking through the code. I'll post more comments > later. > > > > I see, that you called things analogously to partition map exchange. > > I realize, that there is an analogy in used procedures, but I don't > really > > like the idea to use the same names for everything. > > The partition map exchange is called this way because it involves an > actual > > exchange of information. > > All nodes need to tell each other, which partitions they have, and what > > their states are. > > > > There is no exchange in case of service deployment, so I would skip the > > "exchange" part. > > And *single message ->* *full message* look more like *request -> > response* > > in case of services. > > > > Suppose we abandon the PME procedure and move to something else. > > Then *ServiceDeploymentExchange* name won't make sense. > > And I don't want to be in a situation, when I say to my colleague a word > > "exchange", > > and get "which one?" in return. > > So, I'm for the meaningful names rather than analogous to something else. > > > > What do you think? > > > > Denis > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur <[hidden email]>: > > > > > Denis, Yakov have you had a chance to review the solution? > > > > > > Igniters, we need to define a list of reviewers, otherwise no end in > > sign. > > > > > > I'm ready to continue work on the Service Grid, including new features > > > like hot-redeployment and versioning, also, I have ideas about new > > > tools for monitoring and management which will be useful for our > > > end-users. > > > > > > But for continuing work we need to overcome this first phase. > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > [hidden email]> > > > wrote: > > > > > > > > Denis, Yakov, feel free to contact me directly in case of questions. > > > Thanks! > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > [hidden email]> > > > wrote: > > > > > > > > > > Guys, > > > > > > > > > > I'd like to take a look at the changes before they are merged. > > > > > I'll do my best to finish the review before the end of the upcoming > > > week. > > > > > > > > > > Thanks! > > > > > Denis > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov <[hidden email] > >: > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > Can we write the list of reviewers for this feature? > > > > > > Without a date or similar. > > > > > > Just a list of experts who should review this feature. > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov пишет: > > > > > > > Igniters, > > > > > > > > > > > > > > This is very huge thing with complex algorithms behind. We > should > > > not > > > > > > merge > > > > > > > it to the product unless several additional thorough reviews > are > > > ready, > > > > > > > irrespectively of how long will it take. We are about quality, > > not > > > speed. > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda <[hidden email]>: > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > What are the cases when the service can be redeployed? > > Affinity, > > > > > > failure, > > > > > > > > etc., right. It would be good to list all the cases on the > wiki > > > and > > > > > > then > > > > > > > > our tech writers will get everything documented. > > > > > > > > > > > > > > > > -- > > > > > > > > Denis > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav Daradur < > > > > > > [hidden email]> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > Services reassignment process takes into account previous > > > assignments > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > So, in the described case, ServiceA won't be moved from > node1 > > > to > > > > > > node2. > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda < > > [hidden email]> > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this milestone and > > > rolling out > > > > > > these > > > > > > > > > > > > > > > > > > new > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events [1], does the new > > > > > > architecture > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > a running service redeployment when a new node joins? For > > > instance, > > > > > > > > > > > > > > > > let's > > > > > > > > > > say I have ServiceA running node1, then node2 joins and I > > > don't > > > > > > want > > > > > > > > > > > > > > > > the > > > > > > > > > > service to be redeployed to any other node. > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav Daradur < > > > > > > [hidden email] > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy Pavlov < > > > > > > [hidden email] > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any attached docs. > Could > > > you > > > > > > please > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav Daradur < > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the implemented > solution > > > and > > > > > > attached > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. Should I post the > > > document > > > > > > into > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > or > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts review the > solution > > > [1] [2], > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > [2] https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM Vyacheslav Daradur > < > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - is in Patch > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional review from other > > Ignite > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] and PR [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > [2] https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM Denis > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to specify service > > > class name > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > of > > > > > > > > > > > > > its > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 Vyacheslav Daradur > < > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement of serialized > > > instance > > > > > > makes > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > to me > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for .NET client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 PM Dmitriy > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 6:10 AM, Nikita > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] that would > replace > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > by service's class name and properties > map > > in > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that we should use > > > > > > > > > > > > > > > > > > {String className} + {Map<String, Object> > > > > > > properties} > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the following > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public methods? > > > > > > > > > > > > > > > > > > I suggest to mark them as deprecated and > > use > > > class > > > > > > name > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > Also to add deploying methods with new > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > name, String srvcClsName, Map<String, > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, but I would like > > > other > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov should comment > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, Object> properties} > > > parameter > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > when > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > Is it make sense to add deploying methods > > > without > > > > > > it? > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > name, String srvcClsName, Map<String, > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the user to pass the > > > property > > > > > > map, but > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > -- > > > Best Regards, Vyacheslav D. > > > > > > |
I do not know what is correct term :-) What I said is that "exchange" is
counter intuitive here. There is no "exchange", instead nodes send information to coordinator that they finished some operation. E.g. we do the same for schema changes (index creation), and as Denis suggested, Request-Response is correct suffixes here. Message name should explain what really happened, instead of describing things which are somewhat similar in internal flow. On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov <[hidden email]> wrote: > Hello, Vladimir. > > What is correct term? > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov [hidden email]: > > > Agree. Service deployment has nothing to do with PME. We should not use > the > > same term for different things. > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov <[hidden email]>: > > > > > Vyacheslav, > > > > > > I'm in process of reviewing your changes. Sorry for taking so long. > > > I posted the first portion of review comments yesterday. > > > I'd like to finish looking through the code. I'll post more comments > > later. > > > > > > I see, that you called things analogously to partition map exchange. > > > I realize, that there is an analogy in used procedures, but I don't > > really > > > like the idea to use the same names for everything. > > > The partition map exchange is called this way because it involves an > > actual > > > exchange of information. > > > All nodes need to tell each other, which partitions they have, and what > > > their states are. > > > > > > There is no exchange in case of service deployment, so I would skip the > > > "exchange" part. > > > And *single message ->* *full message* look more like *request -> > > response* > > > in case of services. > > > > > > Suppose we abandon the PME procedure and move to something else. > > > Then *ServiceDeploymentExchange* name won't make sense. > > > And I don't want to be in a situation, when I say to my colleague a > word > > > "exchange", > > > and get "which one?" in return. > > > So, I'm for the meaningful names rather than analogous to something > else. > > > > > > What do you think? > > > > > > Denis > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur <[hidden email] > >: > > > > > > > Denis, Yakov have you had a chance to review the solution? > > > > > > > > Igniters, we need to define a list of reviewers, otherwise no end in > > > sign. > > > > > > > > I'm ready to continue work on the Service Grid, including new > features > > > > like hot-redeployment and versioning, also, I have ideas about new > > > > tools for monitoring and management which will be useful for our > > > > end-users. > > > > > > > > But for continuing work we need to overcome this first phase. > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > [hidden email]> > > > > wrote: > > > > > > > > > > Denis, Yakov, feel free to contact me directly in case of > questions. > > > > Thanks! > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > [hidden email]> > > > > wrote: > > > > > > > > > > > > Guys, > > > > > > > > > > > > I'd like to take a look at the changes before they are merged. > > > > > > I'll do my best to finish the review before the end of the > upcoming > > > > week. > > > > > > > > > > > > Thanks! > > > > > > Denis > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > [hidden email] > > >: > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > Can we write the list of reviewers for this feature? > > > > > > > Without a date or similar. > > > > > > > Just a list of experts who should review this feature. > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov пишет: > > > > > > > > Igniters, > > > > > > > > > > > > > > > > This is very huge thing with complex algorithms behind. We > > should > > > > not > > > > > > > merge > > > > > > > > it to the product unless several additional thorough reviews > > are > > > > ready, > > > > > > > > irrespectively of how long will it take. We are about > quality, > > > not > > > > speed. > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda <[hidden email] > >: > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > What are the cases when the service can be redeployed? > > > Affinity, > > > > > > > failure, > > > > > > > > > etc., right. It would be good to list all the cases on the > > wiki > > > > and > > > > > > > then > > > > > > > > > our tech writers will get everything documented. > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav Daradur < > > > > > > > [hidden email]> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into account previous > > > > assignments > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > So, in the described case, ServiceA won't be moved from > > node1 > > > > to > > > > > > > node2. > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda < > > > [hidden email]> > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this milestone and > > > > rolling out > > > > > > > these > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events [1], does the > new > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > a running service redeployment when a new node joins? > For > > > > instance, > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > say I have ServiceA running node1, then node2 joins > and I > > > > don't > > > > > > > want > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > service to be redeployed to any other node. > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav Daradur < > > > > > > > [hidden email] > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy Pavlov < > > > > > > > [hidden email] > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any attached docs. > > Could > > > > you > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav Daradur < > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the implemented > > solution > > > > and > > > > > > > attached > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. Should I post > the > > > > document > > > > > > > into > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > or > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts review the > > solution > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > [2] https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM Vyacheslav > Daradur > > < > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - is in Patch > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional review from other > > > Ignite > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] and PR [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > [2] https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM Denis > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to specify > service > > > > class name > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > of > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 Vyacheslav > Daradur > > < > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement of serialized > > > > instance > > > > > > > makes > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for .NET client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 PM Dmitriy > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 6:10 AM, Nikita > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] that would > > replace > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > by service's class name and properties > > map > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that we should use > > > > > > > > > > > > > > > > > > > {String className} + {Map<String, > Object> > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the following > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public methods? > > > > > > > > > > > > > > > > > > > I suggest to mark them as deprecated > and > > > use > > > > class > > > > > > > name > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > Also to add deploying methods with new > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > name, String srvcClsName, Map<String, > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, but I would > like > > > > other > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov should comment > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, Object> properties} > > > > parameter > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > Is it make sense to add deploying > methods > > > > without > > > > > > > it? > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > name, String srvcClsName, Map<String, > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the user to pass the > > > > property > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > -- > > > > Best Regards, Vyacheslav D. > > > > > > > > > > |
In reply to this post by Nikolay Izhikov-2
First, we must agree on names.
I think the valuable word is 'deployment', though 'exchange' may be used too because there is an exchange of deployments maps during the deployment process. To avoid intersections with PME I suggest using the following names: ServicesFullMapMessage -> ServicesFullDeploymentsMessage ServicesSingleMapMessage -> ServicesSingleDeploymentsMessage ServicesExchangeActions -> ServicesDeploymentActions ServicesDeploymentExchangeId -> ServicesDeploymentId ServicesDeploymentExchangeTask -> ServicesDeploymentTask ServicesDeploymentExchangeWorker -> ServicesDeploymentWorker ServicesDeploymentExchangeManager -> ServicesDeploymentManager On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov <[hidden email]> wrote: > > Hello, Vladimir. > > What is correct term? > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov [hidden email]: > > > Agree. Service deployment has nothing to do with PME. We should not use the > > same term for different things. > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov <[hidden email]>: > > > > > Vyacheslav, > > > > > > I'm in process of reviewing your changes. Sorry for taking so long. > > > I posted the first portion of review comments yesterday. > > > I'd like to finish looking through the code. I'll post more comments > > later. > > > > > > I see, that you called things analogously to partition map exchange. > > > I realize, that there is an analogy in used procedures, but I don't > > really > > > like the idea to use the same names for everything. > > > The partition map exchange is called this way because it involves an > > actual > > > exchange of information. > > > All nodes need to tell each other, which partitions they have, and what > > > their states are. > > > > > > There is no exchange in case of service deployment, so I would skip the > > > "exchange" part. > > > And *single message ->* *full message* look more like *request -> > > response* > > > in case of services. > > > > > > Suppose we abandon the PME procedure and move to something else. > > > Then *ServiceDeploymentExchange* name won't make sense. > > > And I don't want to be in a situation, when I say to my colleague a word > > > "exchange", > > > and get "which one?" in return. > > > So, I'm for the meaningful names rather than analogous to something else. > > > > > > What do you think? > > > > > > Denis > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur <[hidden email]>: > > > > > > > Denis, Yakov have you had a chance to review the solution? > > > > > > > > Igniters, we need to define a list of reviewers, otherwise no end in > > > sign. > > > > > > > > I'm ready to continue work on the Service Grid, including new features > > > > like hot-redeployment and versioning, also, I have ideas about new > > > > tools for monitoring and management which will be useful for our > > > > end-users. > > > > > > > > But for continuing work we need to overcome this first phase. > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > [hidden email]> > > > > wrote: > > > > > > > > > > Denis, Yakov, feel free to contact me directly in case of questions. > > > > Thanks! > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > [hidden email]> > > > > wrote: > > > > > > > > > > > > Guys, > > > > > > > > > > > > I'd like to take a look at the changes before they are merged. > > > > > > I'll do my best to finish the review before the end of the upcoming > > > > week. > > > > > > > > > > > > Thanks! > > > > > > Denis > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov <[hidden email] > > >: > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > Can we write the list of reviewers for this feature? > > > > > > > Without a date or similar. > > > > > > > Just a list of experts who should review this feature. > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov пишет: > > > > > > > > Igniters, > > > > > > > > > > > > > > > > This is very huge thing with complex algorithms behind. We > > should > > > > not > > > > > > > merge > > > > > > > > it to the product unless several additional thorough reviews > > are > > > > ready, > > > > > > > > irrespectively of how long will it take. We are about quality, > > > not > > > > speed. > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda <[hidden email]>: > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > What are the cases when the service can be redeployed? > > > Affinity, > > > > > > > failure, > > > > > > > > > etc., right. It would be good to list all the cases on the > > wiki > > > > and > > > > > > > then > > > > > > > > > our tech writers will get everything documented. > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav Daradur < > > > > > > > [hidden email]> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into account previous > > > > assignments > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > So, in the described case, ServiceA won't be moved from > > node1 > > > > to > > > > > > > node2. > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda < > > > [hidden email]> > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this milestone and > > > > rolling out > > > > > > > these > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events [1], does the new > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > a running service redeployment when a new node joins? For > > > > instance, > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > say I have ServiceA running node1, then node2 joins and I > > > > don't > > > > > > > want > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > service to be redeployed to any other node. > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav Daradur < > > > > > > > [hidden email] > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy Pavlov < > > > > > > > [hidden email] > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any attached docs. > > Could > > > > you > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav Daradur < > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the implemented > > solution > > > > and > > > > > > > attached > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. Should I post the > > > > document > > > > > > > into > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > or > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts review the > > solution > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > [2] https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM Vyacheslav Daradur > > < > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - is in Patch > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional review from other > > > Ignite > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] and PR [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > [2] https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM Denis > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to specify service > > > > class name > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > of > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 Vyacheslav Daradur > > < > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement of serialized > > > > instance > > > > > > > makes > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for .NET client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 PM Dmitriy > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 6:10 AM, Nikita > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] that would > > replace > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > by service's class name and properties > > map > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that we should use > > > > > > > > > > > > > > > > > > > {String className} + {Map<String, Object> > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the following > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public methods? > > > > > > > > > > > > > > > > > > > I suggest to mark them as deprecated and > > > use > > > > class > > > > > > > name > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > Also to add deploying methods with new > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > name, String srvcClsName, Map<String, > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, but I would like > > > > other > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov should comment > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, Object> properties} > > > > parameter > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > Is it make sense to add deploying methods > > > > without > > > > > > > it? > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > name, String srvcClsName, Map<String, > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the user to pass the > > > > property > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > -- > > > > Best Regards, Vyacheslav D. > > > > > > > > > -- Best Regards, Vyacheslav D. |
In reply to this post by Vladimir Ozerov
I think request-response is not suitable terms.
Nodes send to coordinator maps of actual service deployments which contains what count of instances of each service node hosts locally. Coordinator sends to the cluster the full map of deployments across the cluster. On Wed, Nov 21, 2018 at 11:04 AM Vladimir Ozerov <[hidden email]> wrote: > > I do not know what is correct term :-) What I said is that "exchange" is > counter intuitive here. There is no "exchange", instead nodes send > information to coordinator that they finished some operation. E.g. we do > the same for schema changes (index creation), and as Denis suggested, > Request-Response is correct suffixes here. Message name should explain what > really happened, instead of describing things which are somewhat similar in > internal flow. > > On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov <[hidden email]> > wrote: > > > Hello, Vladimir. > > > > What is correct term? > > > > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov [hidden email]: > > > > > Agree. Service deployment has nothing to do with PME. We should not use > > the > > > same term for different things. > > > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov <[hidden email]>: > > > > > > > Vyacheslav, > > > > > > > > I'm in process of reviewing your changes. Sorry for taking so long. > > > > I posted the first portion of review comments yesterday. > > > > I'd like to finish looking through the code. I'll post more comments > > > later. > > > > > > > > I see, that you called things analogously to partition map exchange. > > > > I realize, that there is an analogy in used procedures, but I don't > > > really > > > > like the idea to use the same names for everything. > > > > The partition map exchange is called this way because it involves an > > > actual > > > > exchange of information. > > > > All nodes need to tell each other, which partitions they have, and what > > > > their states are. > > > > > > > > There is no exchange in case of service deployment, so I would skip the > > > > "exchange" part. > > > > And *single message ->* *full message* look more like *request -> > > > response* > > > > in case of services. > > > > > > > > Suppose we abandon the PME procedure and move to something else. > > > > Then *ServiceDeploymentExchange* name won't make sense. > > > > And I don't want to be in a situation, when I say to my colleague a > > word > > > > "exchange", > > > > and get "which one?" in return. > > > > So, I'm for the meaningful names rather than analogous to something > > else. > > > > > > > > What do you think? > > > > > > > > Denis > > > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur <[hidden email] > > >: > > > > > > > > > Denis, Yakov have you had a chance to review the solution? > > > > > > > > > > Igniters, we need to define a list of reviewers, otherwise no end in > > > > sign. > > > > > > > > > > I'm ready to continue work on the Service Grid, including new > > features > > > > > like hot-redeployment and versioning, also, I have ideas about new > > > > > tools for monitoring and management which will be useful for our > > > > > end-users. > > > > > > > > > > But for continuing work we need to overcome this first phase. > > > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > > [hidden email]> > > > > > wrote: > > > > > > > > > > > > Denis, Yakov, feel free to contact me directly in case of > > questions. > > > > > Thanks! > > > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > > [hidden email]> > > > > > wrote: > > > > > > > > > > > > > > Guys, > > > > > > > > > > > > > > I'd like to take a look at the changes before they are merged. > > > > > > > I'll do my best to finish the review before the end of the > > upcoming > > > > > week. > > > > > > > > > > > > > > Thanks! > > > > > > > Denis > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > > [hidden email] > > > >: > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > > > Can we write the list of reviewers for this feature? > > > > > > > > Without a date or similar. > > > > > > > > Just a list of experts who should review this feature. > > > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov пишет: > > > > > > > > > Igniters, > > > > > > > > > > > > > > > > > > This is very huge thing with complex algorithms behind. We > > > should > > > > > not > > > > > > > > merge > > > > > > > > > it to the product unless several additional thorough reviews > > > are > > > > > ready, > > > > > > > > > irrespectively of how long will it take. We are about > > quality, > > > > not > > > > > speed. > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda <[hidden email] > > >: > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > What are the cases when the service can be redeployed? > > > > Affinity, > > > > > > > > failure, > > > > > > > > > > etc., right. It would be good to list all the cases on the > > > wiki > > > > > and > > > > > > > > then > > > > > > > > > > our tech writers will get everything documented. > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav Daradur < > > > > > > > > [hidden email]> > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into account previous > > > > > assignments > > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > > So, in the described case, ServiceA won't be moved from > > > node1 > > > > > to > > > > > > > > node2. > > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda < > > > > [hidden email]> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this milestone and > > > > > rolling out > > > > > > > > these > > > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events [1], does the > > new > > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > > a running service redeployment when a new node joins? > > For > > > > > instance, > > > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > > say I have ServiceA running node1, then node2 joins > > and I > > > > > don't > > > > > > > > want > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > service to be redeployed to any other node. > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav Daradur < > > > > > > > > [hidden email] > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy Pavlov < > > > > > > > > [hidden email] > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any attached docs. > > > Could > > > > > you > > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav Daradur < > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the implemented > > > solution > > > > > and > > > > > > > > attached > > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. Should I post > > the > > > > > document > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > > or > > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts review the > > > solution > > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > [2] https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM Vyacheslav > > Daradur > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - is in Patch > > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional review from other > > > > Ignite > > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] and PR [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > [2] https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM Denis > > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to specify > > service > > > > > class name > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > of > > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 Vyacheslav > > Daradur > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement of serialized > > > > > instance > > > > > > > > makes > > > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for .NET client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 PM Dmitriy > > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 6:10 AM, Nikita > > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] that would > > > replace > > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > > by service's class name and properties > > > map > > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that we should use > > > > > > > > > > > > > > > > > > > > {String className} + {Map<String, > > Object> > > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the following > > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public methods? > > > > > > > > > > > > > > > > > > > > I suggest to mark them as deprecated > > and > > > > use > > > > > class > > > > > > > > name > > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > > Also to add deploying methods with new > > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, Map<String, > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, but I would > > like > > > > > other > > > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov should comment > > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, Object> properties} > > > > > parameter > > > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > > Is it make sense to add deploying > > methods > > > > > without > > > > > > > > it? > > > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, Map<String, > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the user to pass the > > > > > property > > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > -- > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > -- Best Regards, Vyacheslav D. |
In reply to this post by Vladimir Ozerov
Hello, Vladimir.
> There is no "exchange", instead nodes send information to coordinator that they finished some operation 1. Each node sends to coordinator local deployments results. 2. Coordinator sends to each node full deployment map. This is the same process we have in PME for me. What have I miss? 21 нояб. 2018 г. 11:04 AM пользователь "Vladimir Ozerov" < [hidden email]> написал: I do not know what is correct term :-) What I said is that "exchange" is counter intuitive here. There is no "exchange", instead nodes send information to coordinator that they finished some operation. E.g. we do the same for schema changes (index creation), and as Denis suggested, Request-Response is correct suffixes here. Message name should explain what really happened, instead of describing things which are somewhat similar in internal flow. On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov <[hidden email]> wrote: > Hello, Vladimir. > > What is correct term? > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov [hidden email]: > > > Agree. Service deployment has nothing to do with PME. We should not use > the > > same term for different things. > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov <[hidden email]>: > > > > > Vyacheslav, > > > > > > I'm in process of reviewing your changes. Sorry for taking so long. > > > I posted the first portion of review comments yesterday. > > > I'd like to finish looking through the code. I'll post more comments > > later. > > > > > > I see, that you called things analogously to partition map exchange. > > > I realize, that there is an analogy in used procedures, but I don't > > really > > > like the idea to use the same names for everything. > > > The partition map exchange is called this way because it involves an > > actual > > > exchange of information. > > > All nodes need to tell each other, which partitions they have, and > > > their states are. > > > > > > There is no exchange in case of service deployment, so I would skip the > > > "exchange" part. > > > And *single message ->* *full message* look more like *request -> > > response* > > > in case of services. > > > > > > Suppose we abandon the PME procedure and move to something else. > > > Then *ServiceDeploymentExchange* name won't make sense. > > > And I don't want to be in a situation, when I say to my colleague a > word > > > "exchange", > > > and get "which one?" in return. > > > So, I'm for the meaningful names rather than analogous to something > else. > > > > > > What do you think? > > > > > > Denis > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur <[hidden email] > >: > > > > > > > Denis, Yakov have you had a chance to review the solution? > > > > > > > > Igniters, we need to define a list of reviewers, otherwise no end in > > > sign. > > > > > > > > I'm ready to continue work on the Service Grid, including new > features > > > > like hot-redeployment and versioning, also, I have ideas about new > > > > tools for monitoring and management which will be useful for our > > > > end-users. > > > > > > > > But for continuing work we need to overcome this first phase. > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > [hidden email]> > > > > wrote: > > > > > > > > > > Denis, Yakov, feel free to contact me directly in case of > questions. > > > > Thanks! > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > [hidden email]> > > > > wrote: > > > > > > > > > > > > Guys, > > > > > > > > > > > > I'd like to take a look at the changes before they are merged. > > > > > > I'll do my best to finish the review before the end of the > upcoming > > > > week. > > > > > > > > > > > > Thanks! > > > > > > Denis > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > [hidden email] > > >: > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > Can we write the list of reviewers for this feature? > > > > > > > Without a date or similar. > > > > > > > Just a list of experts who should review this feature. > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov пишет: > > > > > > > > Igniters, > > > > > > > > > > > > > > > > This is very huge thing with complex algorithms behind. We > > should > > > > not > > > > > > > merge > > > > > > > > it to the product unless several additional thorough reviews > > are > > > > ready, > > > > > > > > irrespectively of how long will it take. We are about > quality, > > > not > > > > speed. > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda <[hidden email] > >: > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > What are the cases when the service can be redeployed? > > > Affinity, > > > > > > > failure, > > > > > > > > > etc., right. It would be good to list all the cases on the > > wiki > > > > and > > > > > > > then > > > > > > > > > our tech writers will get everything documented. > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav Daradur < > > > > > > > [hidden email]> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into account > > > > assignments > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > So, in the described case, ServiceA won't be moved from > > node1 > > > > to > > > > > > > node2. > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda < > > > [hidden email]> > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this milestone and > > > > rolling out > > > > > > > these > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events [1], does the > new > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > a running service redeployment when a new node joins? > For > > > > instance, > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > say I have ServiceA running node1, then node2 joins > and I > > > > don't > > > > > > > want > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > service to be redeployed to any other node. > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav Daradur < > > > > > > > [hidden email] > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy Pavlov < > > > > > > > [hidden email] > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any attached docs. > > Could > > > > you > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav Daradur < > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the implemented > > solution > > > > and > > > > > > > attached > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. Should I post > the > > > > document > > > > > > > into > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > or > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts review the > > solution > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > [2] https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM Vyacheslav > Daradur > > < > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - is in Patch > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional review from other > > > Ignite > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] and PR [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > [2] https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM Denis > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to specify > service > > > > class name > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > of > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 Vyacheslav > Daradur > > < > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement of serialized > > > > instance > > > > > > > makes > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for .NET client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 PM Dmitriy > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 6:10 AM, Nikita > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] that would > > replace > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > by service's class name and properties > > map > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that we should use > > > > > > > > > > > > > > > > > > > {String className} + {Map<String, > Object> > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the following > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public methods? > > > > > > > > > > > > > > > > > > > I suggest to mark them as deprecated > and > > > use > > > > class > > > > > > > name > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > Also to add deploying methods with new > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > name, String srvcClsName, Map<String, > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, but I would > like > > > > other > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov should comment > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, Object> properties} > > > > parameter > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > Is it make sense to add deploying > methods > > > > without > > > > > > > it? > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > name, String srvcClsName, Map<String, > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the user to pass the > > > > property > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > -- > > > > Best Regards, Vyacheslav D. > > > > > > > > > > |
In reply to this post by daradurvs
Hi Vyacheslav,
Could you please explain in what situation coordinator needs to collect service deployments info from all nodes and share it with the cluster? I cannot remember from our design discussion when it is needed. Global state normally shared through discovery and only on node join, In this case we use "DiscoveryDataBags", not separate messages. On Wed, Nov 21, 2018 at 11:11 AM Vyacheslav Daradur <[hidden email]> wrote: > I think request-response is not suitable terms. > > Nodes send to coordinator maps of actual service deployments which > contains what count of instances of each service node hosts locally. > > Coordinator sends to the cluster the full map of deployments across the > cluster. > > On Wed, Nov 21, 2018 at 11:04 AM Vladimir Ozerov <[hidden email]> > wrote: > > > > I do not know what is correct term :-) What I said is that "exchange" is > > counter intuitive here. There is no "exchange", instead nodes send > > information to coordinator that they finished some operation. E.g. we do > > the same for schema changes (index creation), and as Denis suggested, > > Request-Response is correct suffixes here. Message name should explain > what > > really happened, instead of describing things which are somewhat similar > in > > internal flow. > > > > On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov <[hidden email]> > > wrote: > > > > > Hello, Vladimir. > > > > > > What is correct term? > > > > > > > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov [hidden email]: > > > > > > > Agree. Service deployment has nothing to do with PME. We should not > use > > > the > > > > same term for different things. > > > > > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov < > [hidden email]>: > > > > > > > > > Vyacheslav, > > > > > > > > > > I'm in process of reviewing your changes. Sorry for taking so long. > > > > > I posted the first portion of review comments yesterday. > > > > > I'd like to finish looking through the code. I'll post more > comments > > > > later. > > > > > > > > > > I see, that you called things analogously to partition map > exchange. > > > > > I realize, that there is an analogy in used procedures, but I don't > > > > really > > > > > like the idea to use the same names for everything. > > > > > The partition map exchange is called this way because it involves > an > > > > actual > > > > > exchange of information. > > > > > All nodes need to tell each other, which partitions they have, and > what > > > > > their states are. > > > > > > > > > > There is no exchange in case of service deployment, so I would > skip the > > > > > "exchange" part. > > > > > And *single message ->* *full message* look more like *request -> > > > > response* > > > > > in case of services. > > > > > > > > > > Suppose we abandon the PME procedure and move to something else. > > > > > Then *ServiceDeploymentExchange* name won't make sense. > > > > > And I don't want to be in a situation, when I say to my colleague a > > > word > > > > > "exchange", > > > > > and get "which one?" in return. > > > > > So, I'm for the meaningful names rather than analogous to something > > > else. > > > > > > > > > > What do you think? > > > > > > > > > > Denis > > > > > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur < > [hidden email] > > > >: > > > > > > > > > > > Denis, Yakov have you had a chance to review the solution? > > > > > > > > > > > > Igniters, we need to define a list of reviewers, otherwise no > end in > > > > > sign. > > > > > > > > > > > > I'm ready to continue work on the Service Grid, including new > > > features > > > > > > like hot-redeployment and versioning, also, I have ideas about > new > > > > > > tools for monitoring and management which will be useful for our > > > > > > end-users. > > > > > > > > > > > > But for continuing work we need to overcome this first phase. > > > > > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > > > [hidden email]> > > > > > > wrote: > > > > > > > > > > > > > > Denis, Yakov, feel free to contact me directly in case of > > > questions. > > > > > > Thanks! > > > > > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > > > [hidden email]> > > > > > > wrote: > > > > > > > > > > > > > > > > Guys, > > > > > > > > > > > > > > > > I'd like to take a look at the changes before they are > merged. > > > > > > > > I'll do my best to finish the review before the end of the > > > upcoming > > > > > > week. > > > > > > > > > > > > > > > > Thanks! > > > > > > > > Denis > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > > > [hidden email] > > > > >: > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > > > > > Can we write the list of reviewers for this feature? > > > > > > > > > Without a date or similar. > > > > > > > > > Just a list of experts who should review this feature. > > > > > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov пишет: > > > > > > > > > > Igniters, > > > > > > > > > > > > > > > > > > > > This is very huge thing with complex algorithms behind. > We > > > > should > > > > > > not > > > > > > > > > merge > > > > > > > > > > it to the product unless several additional thorough > reviews > > > > are > > > > > > ready, > > > > > > > > > > irrespectively of how long will it take. We are about > > > quality, > > > > > not > > > > > > speed. > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda < > [hidden email] > > > >: > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > What are the cases when the service can be redeployed? > > > > > Affinity, > > > > > > > > > failure, > > > > > > > > > > > etc., right. It would be good to list all the cases on > the > > > > wiki > > > > > > and > > > > > > > > > then > > > > > > > > > > > our tech writers will get everything documented. > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav Daradur < > > > > > > > > > [hidden email]> > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into account > previous > > > > > > assignments > > > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > > > So, in the described case, ServiceA won't be moved > from > > > > node1 > > > > > > to > > > > > > > > > node2. > > > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda < > > > > > [hidden email]> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this milestone > and > > > > > > rolling out > > > > > > > > > these > > > > > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events [1], does > the > > > new > > > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > > > a running service redeployment when a new node > joins? > > > For > > > > > > instance, > > > > > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > > > say I have ServiceA running node1, then node2 joins > > > and I > > > > > > don't > > > > > > > > > want > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > service to be redeployed to any other node. > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav Daradur < > > > > > > > > > [hidden email] > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy Pavlov < > > > > > > > > > [hidden email] > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any attached > docs. > > > > Could > > > > > > you > > > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav Daradur < > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the implemented > > > > solution > > > > > > and > > > > > > > > > attached > > > > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. Should I > post > > > the > > > > > > document > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > > > or > > > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts review the > > > > solution > > > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > [2] > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM Vyacheslav > > > Daradur > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - is in Patch > > > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed > implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional review from > other > > > > > Ignite > > > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] and PR [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > [2] > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM Denis > > > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to specify > > > service > > > > > > class name > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 Vyacheslav > > > Daradur > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement of > serialized > > > > > > instance > > > > > > > > > makes > > > > > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for .NET client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 PM Dmitriy > > > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 6:10 AM, > Nikita > > > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] that would > > > > replace > > > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > > > by service's class name and > properties > > > > map > > > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that we should > use > > > > > > > > > > > > > > > > > > > > > {String className} + {Map<String, > > > Object> > > > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the following > > > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public methods? > > > > > > > > > > > > > > > > > > > > > I suggest to mark them as > deprecated > > > and > > > > > use > > > > > > class > > > > > > > > > name > > > > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > > > Also to add deploying methods with > new > > > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > Map<String, > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, but I would > > > like > > > > > > other > > > > > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov should > comment > > > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, Object> > properties} > > > > > > parameter > > > > > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > > > Is it make sense to add deploying > > > methods > > > > > > without > > > > > > > > > it? > > > > > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > Map<String, > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the user to pass > the > > > > > > property > > > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > -- > Best Regards, Vyacheslav D. > |
During each deployment (exchange) process nodes send to the
coordinator (p2p) deployments maps, caused: - users requests (deploy/undeploy) - affinity change (if affinity services present) - topology change (if services present) - activation (if services descriptors present) Also, single node deployment results contain deployment errors which aggregate by coordinator and propagates across the cluster. And this is important for introduced service deployment failures policy. Please, see document for details: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 On Wed, Nov 21, 2018 at 11:16 AM Vladimir Ozerov <[hidden email]> wrote: > > Hi Vyacheslav, > > Could you please explain in what situation coordinator needs to collect > service deployments info from all nodes and share it with the cluster? I > cannot remember from our design discussion when it is needed. Global state > normally shared through discovery and only on node join, In this case we > use "DiscoveryDataBags", not separate messages. > > On Wed, Nov 21, 2018 at 11:11 AM Vyacheslav Daradur <[hidden email]> > wrote: > > > I think request-response is not suitable terms. > > > > Nodes send to coordinator maps of actual service deployments which > > contains what count of instances of each service node hosts locally. > > > > Coordinator sends to the cluster the full map of deployments across the > > cluster. > > > > On Wed, Nov 21, 2018 at 11:04 AM Vladimir Ozerov <[hidden email]> > > wrote: > > > > > > I do not know what is correct term :-) What I said is that "exchange" is > > > counter intuitive here. There is no "exchange", instead nodes send > > > information to coordinator that they finished some operation. E.g. we do > > > the same for schema changes (index creation), and as Denis suggested, > > > Request-Response is correct suffixes here. Message name should explain > > what > > > really happened, instead of describing things which are somewhat similar > > in > > > internal flow. > > > > > > On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov <[hidden email]> > > > wrote: > > > > > > > Hello, Vladimir. > > > > > > > > What is correct term? > > > > > > > > > > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov [hidden email]: > > > > > > > > > Agree. Service deployment has nothing to do with PME. We should not > > use > > > > the > > > > > same term for different things. > > > > > > > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov < > > [hidden email]>: > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > I'm in process of reviewing your changes. Sorry for taking so long. > > > > > > I posted the first portion of review comments yesterday. > > > > > > I'd like to finish looking through the code. I'll post more > > comments > > > > > later. > > > > > > > > > > > > I see, that you called things analogously to partition map > > exchange. > > > > > > I realize, that there is an analogy in used procedures, but I don't > > > > > really > > > > > > like the idea to use the same names for everything. > > > > > > The partition map exchange is called this way because it involves > > an > > > > > actual > > > > > > exchange of information. > > > > > > All nodes need to tell each other, which partitions they have, and > > what > > > > > > their states are. > > > > > > > > > > > > There is no exchange in case of service deployment, so I would > > skip the > > > > > > "exchange" part. > > > > > > And *single message ->* *full message* look more like *request -> > > > > > response* > > > > > > in case of services. > > > > > > > > > > > > Suppose we abandon the PME procedure and move to something else. > > > > > > Then *ServiceDeploymentExchange* name won't make sense. > > > > > > And I don't want to be in a situation, when I say to my colleague a > > > > word > > > > > > "exchange", > > > > > > and get "which one?" in return. > > > > > > So, I'm for the meaningful names rather than analogous to something > > > > else. > > > > > > > > > > > > What do you think? > > > > > > > > > > > > Denis > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur < > > [hidden email] > > > > >: > > > > > > > > > > > > > Denis, Yakov have you had a chance to review the solution? > > > > > > > > > > > > > > Igniters, we need to define a list of reviewers, otherwise no > > end in > > > > > > sign. > > > > > > > > > > > > > > I'm ready to continue work on the Service Grid, including new > > > > features > > > > > > > like hot-redeployment and versioning, also, I have ideas about > > new > > > > > > > tools for monitoring and management which will be useful for our > > > > > > > end-users. > > > > > > > > > > > > > > But for continuing work we need to overcome this first phase. > > > > > > > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > > > > [hidden email]> > > > > > > > wrote: > > > > > > > > > > > > > > > > Denis, Yakov, feel free to contact me directly in case of > > > > questions. > > > > > > > Thanks! > > > > > > > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > > > > [hidden email]> > > > > > > > wrote: > > > > > > > > > > > > > > > > > > Guys, > > > > > > > > > > > > > > > > > > I'd like to take a look at the changes before they are > > merged. > > > > > > > > > I'll do my best to finish the review before the end of the > > > > upcoming > > > > > > > week. > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > > > > [hidden email] > > > > > >: > > > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > > > > > > > Can we write the list of reviewers for this feature? > > > > > > > > > > Without a date or similar. > > > > > > > > > > Just a list of experts who should review this feature. > > > > > > > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov пишет: > > > > > > > > > > > Igniters, > > > > > > > > > > > > > > > > > > > > > > This is very huge thing with complex algorithms behind. > > We > > > > > should > > > > > > > not > > > > > > > > > > merge > > > > > > > > > > > it to the product unless several additional thorough > > reviews > > > > > are > > > > > > > ready, > > > > > > > > > > > irrespectively of how long will it take. We are about > > > > quality, > > > > > > not > > > > > > > speed. > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda < > > [hidden email] > > > > >: > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > What are the cases when the service can be redeployed? > > > > > > Affinity, > > > > > > > > > > failure, > > > > > > > > > > > > etc., right. It would be good to list all the cases on > > the > > > > > wiki > > > > > > > and > > > > > > > > > > then > > > > > > > > > > > > our tech writers will get everything documented. > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav Daradur < > > > > > > > > > > [hidden email]> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into account > > previous > > > > > > > assignments > > > > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > > > > So, in the described case, ServiceA won't be moved > > from > > > > > node1 > > > > > > > to > > > > > > > > > > node2. > > > > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda < > > > > > > [hidden email]> > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this milestone > > and > > > > > > > rolling out > > > > > > > > > > these > > > > > > > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events [1], does > > the > > > > new > > > > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > > > > a running service redeployment when a new node > > joins? > > > > For > > > > > > > instance, > > > > > > > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > > > > say I have ServiceA running node1, then node2 joins > > > > and I > > > > > > > don't > > > > > > > > > > want > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > service to be redeployed to any other node. > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav Daradur < > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy Pavlov < > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any attached > > docs. > > > > > Could > > > > > > > you > > > > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav Daradur < > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the implemented > > > > > solution > > > > > > > and > > > > > > > > > > attached > > > > > > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. Should I > > post > > > > the > > > > > > > document > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > > > > or > > > > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts review the > > > > > solution > > > > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > [2] > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM Vyacheslav > > > > Daradur > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - is in Patch > > > > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed > > implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional review from > > other > > > > > > Ignite > > > > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] and PR [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > [2] > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM Denis > > > > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to specify > > > > service > > > > > > > class name > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 Vyacheslav > > > > Daradur > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement of > > serialized > > > > > > > instance > > > > > > > > > > makes > > > > > > > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for .NET client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 PM Dmitriy > > > > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 6:10 AM, > > Nikita > > > > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] that would > > > > > replace > > > > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > > > > by service's class name and > > properties > > > > > map > > > > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that we should > > use > > > > > > > > > > > > > > > > > > > > > > {String className} + {Map<String, > > > > Object> > > > > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the following > > > > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public methods? > > > > > > > > > > > > > > > > > > > > > > I suggest to mark them as > > deprecated > > > > and > > > > > > use > > > > > > > class > > > > > > > > > > name > > > > > > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > > > > Also to add deploying methods with > > new > > > > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > > Map<String, > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, but I would > > > > like > > > > > > > other > > > > > > > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov should > > comment > > > > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, Object> > > properties} > > > > > > > parameter > > > > > > > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > > > > Is it make sense to add deploying > > > > methods > > > > > > > without > > > > > > > > > > it? > > > > > > > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > > Map<String, > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the user to pass > > the > > > > > > > property > > > > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > Best Regards, Vyacheslav D. > > -- Best Regards, Vyacheslav D. |
In reply to this post by Vladimir Ozerov
Vyacheslav,
Actually, the service assignment is implemented in a way, that allows every node calculate the assignment itself, so no information needs to be shared. The only data, that is sent between nodes is deployment results, and I don't see an analogy with exchange here. Denis ср, 21 нояб. 2018 г. в 11:16, Vladimir Ozerov <[hidden email]>: > Hi Vyacheslav, > > Could you please explain in what situation coordinator needs to collect > service deployments info from all nodes and share it with the cluster? I > cannot remember from our design discussion when it is needed. Global state > normally shared through discovery and only on node join, In this case we > use "DiscoveryDataBags", not separate messages. > > On Wed, Nov 21, 2018 at 11:11 AM Vyacheslav Daradur <[hidden email]> > wrote: > > > I think request-response is not suitable terms. > > > > Nodes send to coordinator maps of actual service deployments which > > contains what count of instances of each service node hosts locally. > > > > Coordinator sends to the cluster the full map of deployments across the > > cluster. > > > > On Wed, Nov 21, 2018 at 11:04 AM Vladimir Ozerov <[hidden email]> > > wrote: > > > > > > I do not know what is correct term :-) What I said is that "exchange" > is > > > counter intuitive here. There is no "exchange", instead nodes send > > > information to coordinator that they finished some operation. E.g. we > do > > > the same for schema changes (index creation), and as Denis suggested, > > > Request-Response is correct suffixes here. Message name should explain > > what > > > really happened, instead of describing things which are somewhat > similar > > in > > > internal flow. > > > > > > On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov <[hidden email]> > > > wrote: > > > > > > > Hello, Vladimir. > > > > > > > > What is correct term? > > > > > > > > > > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov [hidden email]: > > > > > > > > > Agree. Service deployment has nothing to do with PME. We should not > > use > > > > the > > > > > same term for different things. > > > > > > > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov < > > [hidden email]>: > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > I'm in process of reviewing your changes. Sorry for taking so > long. > > > > > > I posted the first portion of review comments yesterday. > > > > > > I'd like to finish looking through the code. I'll post more > > comments > > > > > later. > > > > > > > > > > > > I see, that you called things analogously to partition map > > exchange. > > > > > > I realize, that there is an analogy in used procedures, but I > don't > > > > > really > > > > > > like the idea to use the same names for everything. > > > > > > The partition map exchange is called this way because it involves > > an > > > > > actual > > > > > > exchange of information. > > > > > > All nodes need to tell each other, which partitions they have, > and > > what > > > > > > their states are. > > > > > > > > > > > > There is no exchange in case of service deployment, so I would > > skip the > > > > > > "exchange" part. > > > > > > And *single message ->* *full message* look more like *request -> > > > > > response* > > > > > > in case of services. > > > > > > > > > > > > Suppose we abandon the PME procedure and move to something else. > > > > > > Then *ServiceDeploymentExchange* name won't make sense. > > > > > > And I don't want to be in a situation, when I say to my > colleague a > > > > word > > > > > > "exchange", > > > > > > and get "which one?" in return. > > > > > > So, I'm for the meaningful names rather than analogous to > something > > > > else. > > > > > > > > > > > > What do you think? > > > > > > > > > > > > Denis > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur < > > [hidden email] > > > > >: > > > > > > > > > > > > > Denis, Yakov have you had a chance to review the solution? > > > > > > > > > > > > > > Igniters, we need to define a list of reviewers, otherwise no > > end in > > > > > > sign. > > > > > > > > > > > > > > I'm ready to continue work on the Service Grid, including new > > > > features > > > > > > > like hot-redeployment and versioning, also, I have ideas about > > new > > > > > > > tools for monitoring and management which will be useful for > our > > > > > > > end-users. > > > > > > > > > > > > > > But for continuing work we need to overcome this first phase. > > > > > > > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > > > > [hidden email]> > > > > > > > wrote: > > > > > > > > > > > > > > > > Denis, Yakov, feel free to contact me directly in case of > > > > questions. > > > > > > > Thanks! > > > > > > > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > > > > [hidden email]> > > > > > > > wrote: > > > > > > > > > > > > > > > > > > Guys, > > > > > > > > > > > > > > > > > > I'd like to take a look at the changes before they are > > merged. > > > > > > > > > I'll do my best to finish the review before the end of the > > > > upcoming > > > > > > > week. > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > > > > [hidden email] > > > > > >: > > > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > > > > > > > Can we write the list of reviewers for this feature? > > > > > > > > > > Without a date or similar. > > > > > > > > > > Just a list of experts who should review this feature. > > > > > > > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov пишет: > > > > > > > > > > > Igniters, > > > > > > > > > > > > > > > > > > > > > > This is very huge thing with complex algorithms behind. > > We > > > > > should > > > > > > > not > > > > > > > > > > merge > > > > > > > > > > > it to the product unless several additional thorough > > reviews > > > > > are > > > > > > > ready, > > > > > > > > > > > irrespectively of how long will it take. We are about > > > > quality, > > > > > > not > > > > > > > speed. > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda < > > [hidden email] > > > > >: > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > What are the cases when the service can be > redeployed? > > > > > > Affinity, > > > > > > > > > > failure, > > > > > > > > > > > > etc., right. It would be good to list all the cases > on > > the > > > > > wiki > > > > > > > and > > > > > > > > > > then > > > > > > > > > > > > our tech writers will get everything documented. > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav Daradur < > > > > > > > > > > [hidden email]> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into account > > previous > > > > > > > assignments > > > > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > > > > So, in the described case, ServiceA won't be moved > > from > > > > > node1 > > > > > > > to > > > > > > > > > > node2. > > > > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda < > > > > > > [hidden email]> > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this milestone > > and > > > > > > > rolling out > > > > > > > > > > these > > > > > > > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events [1], does > > the > > > > new > > > > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > > > > a running service redeployment when a new node > > joins? > > > > For > > > > > > > instance, > > > > > > > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > > > > say I have ServiceA running node1, then node2 > joins > > > > and I > > > > > > > don't > > > > > > > > > > want > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > service to be redeployed to any other node. > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav > Daradur < > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy Pavlov < > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any attached > > docs. > > > > > Could > > > > > > > you > > > > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav > Daradur < > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the implemented > > > > > solution > > > > > > > and > > > > > > > > > > attached > > > > > > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. Should I > > post > > > > the > > > > > > > document > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > > > > or > > > > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts review the > > > > > solution > > > > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > [2] > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM Vyacheslav > > > > Daradur > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - is in > Patch > > > > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed > > implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional review from > > other > > > > > > Ignite > > > > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] and PR > [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > [2] > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM Denis > > > > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to specify > > > > service > > > > > > > class name > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 Vyacheslav > > > > Daradur > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement of > > serialized > > > > > > > instance > > > > > > > > > > makes > > > > > > > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for .NET > client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 PM > Dmitriy > > > > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 6:10 AM, > > Nikita > > > > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] that > would > > > > > replace > > > > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > > > > by service's class name and > > properties > > > > > map > > > > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that we should > > use > > > > > > > > > > > > > > > > > > > > > > {String className} + {Map<String, > > > > Object> > > > > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the following > > > > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public methods? > > > > > > > > > > > > > > > > > > > > > > I suggest to mark them as > > deprecated > > > > and > > > > > > use > > > > > > > class > > > > > > > > > > name > > > > > > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > > > > Also to add deploying methods > with > > new > > > > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > > Map<String, > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, but I > would > > > > like > > > > > > > other > > > > > > > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov should > > comment > > > > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, Object> > > properties} > > > > > > > parameter > > > > > > > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > > > > Is it make sense to add deploying > > > > methods > > > > > > > without > > > > > > > > > > it? > > > > > > > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > > Map<String, > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the user to pass > > the > > > > > > > property > > > > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > Best Regards, Vyacheslav D. > > > |
Denis, I suggested new names above in the thread.
Please, look at PME document [1] is should be quiet actual to show the same flow. [1] https://cwiki.apache.org/confluence/display/IGNITE/%28Partition+Map%29+Exchange+-+under+the+hood On Wed, Nov 21, 2018 at 11:43 AM Denis Mekhanikov <[hidden email]> wrote: > > Vyacheslav, > > Actually, the service assignment is implemented in a way, > that allows every node calculate the assignment itself, so no information > needs to be shared. > The only data, that is sent between nodes is deployment results, > and I don't see an analogy with exchange here. > > Denis > > ср, 21 нояб. 2018 г. в 11:16, Vladimir Ozerov <[hidden email]>: > > > Hi Vyacheslav, > > > > Could you please explain in what situation coordinator needs to collect > > service deployments info from all nodes and share it with the cluster? I > > cannot remember from our design discussion when it is needed. Global state > > normally shared through discovery and only on node join, In this case we > > use "DiscoveryDataBags", not separate messages. > > > > On Wed, Nov 21, 2018 at 11:11 AM Vyacheslav Daradur <[hidden email]> > > wrote: > > > > > I think request-response is not suitable terms. > > > > > > Nodes send to coordinator maps of actual service deployments which > > > contains what count of instances of each service node hosts locally. > > > > > > Coordinator sends to the cluster the full map of deployments across the > > > cluster. > > > > > > On Wed, Nov 21, 2018 at 11:04 AM Vladimir Ozerov <[hidden email]> > > > wrote: > > > > > > > > I do not know what is correct term :-) What I said is that "exchange" > > is > > > > counter intuitive here. There is no "exchange", instead nodes send > > > > information to coordinator that they finished some operation. E.g. we > > do > > > > the same for schema changes (index creation), and as Denis suggested, > > > > Request-Response is correct suffixes here. Message name should explain > > > what > > > > really happened, instead of describing things which are somewhat > > similar > > > in > > > > internal flow. > > > > > > > > On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov <[hidden email]> > > > > wrote: > > > > > > > > > Hello, Vladimir. > > > > > > > > > > What is correct term? > > > > > > > > > > > > > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov [hidden email]: > > > > > > > > > > > Agree. Service deployment has nothing to do with PME. We should not > > > use > > > > > the > > > > > > same term for different things. > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov < > > > [hidden email]>: > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > I'm in process of reviewing your changes. Sorry for taking so > > long. > > > > > > > I posted the first portion of review comments yesterday. > > > > > > > I'd like to finish looking through the code. I'll post more > > > comments > > > > > > later. > > > > > > > > > > > > > > I see, that you called things analogously to partition map > > > exchange. > > > > > > > I realize, that there is an analogy in used procedures, but I > > don't > > > > > > really > > > > > > > like the idea to use the same names for everything. > > > > > > > The partition map exchange is called this way because it involves > > > an > > > > > > actual > > > > > > > exchange of information. > > > > > > > All nodes need to tell each other, which partitions they have, > > and > > > what > > > > > > > their states are. > > > > > > > > > > > > > > There is no exchange in case of service deployment, so I would > > > skip the > > > > > > > "exchange" part. > > > > > > > And *single message ->* *full message* look more like *request -> > > > > > > response* > > > > > > > in case of services. > > > > > > > > > > > > > > Suppose we abandon the PME procedure and move to something else. > > > > > > > Then *ServiceDeploymentExchange* name won't make sense. > > > > > > > And I don't want to be in a situation, when I say to my > > colleague a > > > > > word > > > > > > > "exchange", > > > > > > > and get "which one?" in return. > > > > > > > So, I'm for the meaningful names rather than analogous to > > something > > > > > else. > > > > > > > > > > > > > > What do you think? > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur < > > > [hidden email] > > > > > >: > > > > > > > > > > > > > > > Denis, Yakov have you had a chance to review the solution? > > > > > > > > > > > > > > > > Igniters, we need to define a list of reviewers, otherwise no > > > end in > > > > > > > sign. > > > > > > > > > > > > > > > > I'm ready to continue work on the Service Grid, including new > > > > > features > > > > > > > > like hot-redeployment and versioning, also, I have ideas about > > > new > > > > > > > > tools for monitoring and management which will be useful for > > our > > > > > > > > end-users. > > > > > > > > > > > > > > > > But for continuing work we need to overcome this first phase. > > > > > > > > > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > > > > > [hidden email]> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > Denis, Yakov, feel free to contact me directly in case of > > > > > questions. > > > > > > > > Thanks! > > > > > > > > > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > > > > > [hidden email]> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > Guys, > > > > > > > > > > > > > > > > > > > > I'd like to take a look at the changes before they are > > > merged. > > > > > > > > > > I'll do my best to finish the review before the end of the > > > > > upcoming > > > > > > > > week. > > > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > > > > > [hidden email] > > > > > > >: > > > > > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > > > > > > > > > Can we write the list of reviewers for this feature? > > > > > > > > > > > Without a date or similar. > > > > > > > > > > > Just a list of experts who should review this feature. > > > > > > > > > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov пишет: > > > > > > > > > > > > Igniters, > > > > > > > > > > > > > > > > > > > > > > > > This is very huge thing with complex algorithms behind. > > > We > > > > > > should > > > > > > > > not > > > > > > > > > > > merge > > > > > > > > > > > > it to the product unless several additional thorough > > > reviews > > > > > > are > > > > > > > > ready, > > > > > > > > > > > > irrespectively of how long will it take. We are about > > > > > quality, > > > > > > > not > > > > > > > > speed. > > > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda < > > > [hidden email] > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > What are the cases when the service can be > > redeployed? > > > > > > > Affinity, > > > > > > > > > > > failure, > > > > > > > > > > > > > etc., right. It would be good to list all the cases > > on > > > the > > > > > > wiki > > > > > > > > and > > > > > > > > > > > then > > > > > > > > > > > > > our tech writers will get everything documented. > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav Daradur < > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into account > > > previous > > > > > > > > assignments > > > > > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > > > > > So, in the described case, ServiceA won't be moved > > > from > > > > > > node1 > > > > > > > > to > > > > > > > > > > > node2. > > > > > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda < > > > > > > > [hidden email]> > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this milestone > > > and > > > > > > > > rolling out > > > > > > > > > > > these > > > > > > > > > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events [1], does > > > the > > > > > new > > > > > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > > > > > a running service redeployment when a new node > > > joins? > > > > > For > > > > > > > > instance, > > > > > > > > > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > > > > > say I have ServiceA running node1, then node2 > > joins > > > > > and I > > > > > > > > don't > > > > > > > > > > > want > > > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > service to be redeployed to any other node. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav > > Daradur < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy Pavlov < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any attached > > > docs. > > > > > > Could > > > > > > > > you > > > > > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav > > Daradur < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the implemented > > > > > > solution > > > > > > > > and > > > > > > > > > > > attached > > > > > > > > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. Should I > > > post > > > > > the > > > > > > > > document > > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > > > > > or > > > > > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts review the > > > > > > solution > > > > > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > [2] > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM Vyacheslav > > > > > Daradur > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - is in > > Patch > > > > > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed > > > implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional review from > > > other > > > > > > > Ignite > > > > > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] and PR > > [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > [2] > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM Denis > > > > > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to specify > > > > > service > > > > > > > > class name > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 Vyacheslav > > > > > Daradur > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement of > > > serialized > > > > > > > > instance > > > > > > > > > > > makes > > > > > > > > > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for .NET > > client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 PM > > Dmitriy > > > > > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 6:10 AM, > > > Nikita > > > > > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] that > > would > > > > > > replace > > > > > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > > > > > by service's class name and > > > properties > > > > > > map > > > > > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that we should > > > use > > > > > > > > > > > > > > > > > > > > > > > {String className} + {Map<String, > > > > > Object> > > > > > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the following > > > > > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public methods? > > > > > > > > > > > > > > > > > > > > > > > I suggest to mark them as > > > deprecated > > > > > and > > > > > > > use > > > > > > > > class > > > > > > > > > > > name > > > > > > > > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > > > > > Also to add deploying methods > > with > > > new > > > > > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > > > Map<String, > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, but I > > would > > > > > like > > > > > > > > other > > > > > > > > > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov should > > > comment > > > > > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, Object> > > > properties} > > > > > > > > parameter > > > > > > > > > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > > > > > Is it make sense to add deploying > > > > > methods > > > > > > > > without > > > > > > > > > > > it? > > > > > > > > > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > > > Map<String, > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the user to pass > > > the > > > > > > > > property > > > > > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Best Regards, Vyacheslav D. > > > > > -- Best Regards, Vyacheslav D. |
Vyacheslav,
I looked at the document and failed to find explanation why full maps are needed. Could you point me to a place where it is explained? I ask this because my impression from last discussion was that it is never needed. Service status change is initiated by user action, then all nodes perform respective action locally, then they reply to coordinator, then coordinator reply to the client, no need a kind of "full" map over discovery again. The only situation when another message over ring is required, is when some node failed to execute local operation (for whatever reason) and corrective action is required. Am I missing something? On Wed, Nov 21, 2018 at 11:50 AM Vyacheslav Daradur <[hidden email]> wrote: > Denis, I suggested new names above in the thread. > > Please, look at PME document [1] is should be quiet actual to show the > same flow. > > [1] > https://cwiki.apache.org/confluence/display/IGNITE/%28Partition+Map%29+Exchange+-+under+the+hood > > On Wed, Nov 21, 2018 at 11:43 AM Denis Mekhanikov <[hidden email]> > wrote: > > > > Vyacheslav, > > > > Actually, the service assignment is implemented in a way, > > that allows every node calculate the assignment itself, so no information > > needs to be shared. > > The only data, that is sent between nodes is deployment results, > > and I don't see an analogy with exchange here. > > > > Denis > > > > ср, 21 нояб. 2018 г. в 11:16, Vladimir Ozerov <[hidden email]>: > > > > > Hi Vyacheslav, > > > > > > Could you please explain in what situation coordinator needs to collect > > > service deployments info from all nodes and share it with the cluster? > I > > > cannot remember from our design discussion when it is needed. Global > state > > > normally shared through discovery and only on node join, In this case > we > > > use "DiscoveryDataBags", not separate messages. > > > > > > On Wed, Nov 21, 2018 at 11:11 AM Vyacheslav Daradur < > [hidden email]> > > > wrote: > > > > > > > I think request-response is not suitable terms. > > > > > > > > Nodes send to coordinator maps of actual service deployments which > > > > contains what count of instances of each service node hosts locally. > > > > > > > > Coordinator sends to the cluster the full map of deployments across > the > > > > cluster. > > > > > > > > On Wed, Nov 21, 2018 at 11:04 AM Vladimir Ozerov < > [hidden email]> > > > > wrote: > > > > > > > > > > I do not know what is correct term :-) What I said is that > "exchange" > > > is > > > > > counter intuitive here. There is no "exchange", instead nodes send > > > > > information to coordinator that they finished some operation. E.g. > we > > > do > > > > > the same for schema changes (index creation), and as Denis > suggested, > > > > > Request-Response is correct suffixes here. Message name should > explain > > > > what > > > > > really happened, instead of describing things which are somewhat > > > similar > > > > in > > > > > internal flow. > > > > > > > > > > On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov < > [hidden email]> > > > > > wrote: > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > What is correct term? > > > > > > > > > > > > > > > > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov [hidden email] > : > > > > > > > > > > > > > Agree. Service deployment has nothing to do with PME. We > should not > > > > use > > > > > > the > > > > > > > same term for different things. > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov < > > > > [hidden email]>: > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > I'm in process of reviewing your changes. Sorry for taking so > > > long. > > > > > > > > I posted the first portion of review comments yesterday. > > > > > > > > I'd like to finish looking through the code. I'll post more > > > > comments > > > > > > > later. > > > > > > > > > > > > > > > > I see, that you called things analogously to partition map > > > > exchange. > > > > > > > > I realize, that there is an analogy in used procedures, but I > > > don't > > > > > > > really > > > > > > > > like the idea to use the same names for everything. > > > > > > > > The partition map exchange is called this way because it > involves > > > > an > > > > > > > actual > > > > > > > > exchange of information. > > > > > > > > All nodes need to tell each other, which partitions they > have, > > > and > > > > what > > > > > > > > their states are. > > > > > > > > > > > > > > > > There is no exchange in case of service deployment, so I > would > > > > skip the > > > > > > > > "exchange" part. > > > > > > > > And *single message ->* *full message* look more like > *request -> > > > > > > > response* > > > > > > > > in case of services. > > > > > > > > > > > > > > > > Suppose we abandon the PME procedure and move to something > else. > > > > > > > > Then *ServiceDeploymentExchange* name won't make sense. > > > > > > > > And I don't want to be in a situation, when I say to my > > > colleague a > > > > > > word > > > > > > > > "exchange", > > > > > > > > and get "which one?" in return. > > > > > > > > So, I'm for the meaningful names rather than analogous to > > > something > > > > > > else. > > > > > > > > > > > > > > > > What do you think? > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur < > > > > [hidden email] > > > > > > >: > > > > > > > > > > > > > > > > > Denis, Yakov have you had a chance to review the solution? > > > > > > > > > > > > > > > > > > Igniters, we need to define a list of reviewers, otherwise > no > > > > end in > > > > > > > > sign. > > > > > > > > > > > > > > > > > > I'm ready to continue work on the Service Grid, including > new > > > > > > features > > > > > > > > > like hot-redeployment and versioning, also, I have ideas > about > > > > new > > > > > > > > > tools for monitoring and management which will be useful > for > > > our > > > > > > > > > end-users. > > > > > > > > > > > > > > > > > > But for continuing work we need to overcome this first > phase. > > > > > > > > > > > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > > > > > > [hidden email]> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > Denis, Yakov, feel free to contact me directly in case of > > > > > > questions. > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > > > > > > [hidden email]> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > Guys, > > > > > > > > > > > > > > > > > > > > > > I'd like to take a look at the changes before they are > > > > merged. > > > > > > > > > > > I'll do my best to finish the review before the end of > the > > > > > > upcoming > > > > > > > > > week. > > > > > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > > > > > > [hidden email] > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > > > > > > > > > > > Can we write the list of reviewers for this feature? > > > > > > > > > > > > Without a date or similar. > > > > > > > > > > > > Just a list of experts who should review this > feature. > > > > > > > > > > > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov > пишет: > > > > > > > > > > > > > Igniters, > > > > > > > > > > > > > > > > > > > > > > > > > > This is very huge thing with complex algorithms > behind. > > > > We > > > > > > > should > > > > > > > > > not > > > > > > > > > > > > merge > > > > > > > > > > > > > it to the product unless several additional > thorough > > > > reviews > > > > > > > are > > > > > > > > > ready, > > > > > > > > > > > > > irrespectively of how long will it take. We are > about > > > > > > quality, > > > > > > > > not > > > > > > > > > speed. > > > > > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda < > > > > [hidden email] > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > What are the cases when the service can be > > > redeployed? > > > > > > > > Affinity, > > > > > > > > > > > > failure, > > > > > > > > > > > > > > etc., right. It would be good to list all the > cases > > > on > > > > the > > > > > > > wiki > > > > > > > > > and > > > > > > > > > > > > then > > > > > > > > > > > > > > our tech writers will get everything documented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav > Daradur < > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into > account > > > > previous > > > > > > > > > assignments > > > > > > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > > > > > > So, in the described case, ServiceA won't be > moved > > > > from > > > > > > > node1 > > > > > > > > > to > > > > > > > > > > > > node2. > > > > > > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda < > > > > > > > > [hidden email]> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this > milestone > > > > and > > > > > > > > > rolling out > > > > > > > > > > > > these > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events [1], > does > > > > the > > > > > > new > > > > > > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > > > > > > a running service redeployment when a new > node > > > > joins? > > > > > > For > > > > > > > > > instance, > > > > > > > > > > > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > > > > > > say I have ServiceA running node1, then node2 > > > joins > > > > > > and I > > > > > > > > > don't > > > > > > > > > > > > want > > > > > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > service to be redeployed to any other node. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav > > > Daradur < > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy > Pavlov < > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any > attached > > > > docs. > > > > > > > Could > > > > > > > > > you > > > > > > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav > > > Daradur < > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the > implemented > > > > > > > solution > > > > > > > > > and > > > > > > > > > > > > attached > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. > Should I > > > > post > > > > > > the > > > > > > > > > document > > > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > > > > > > or > > > > > > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts > review the > > > > > > > solution > > > > > > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > [2] > > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM > Vyacheslav > > > > > > Daradur > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - is in > > > Patch > > > > > > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed > > > > implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional review > from > > > > other > > > > > > > > Ignite > > > > > > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] and PR > > > [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the > review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > > [2] > > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM > Denis > > > > > > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to > specify > > > > > > service > > > > > > > > > class name > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 > Vyacheslav > > > > > > Daradur > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement of > > > > serialized > > > > > > > > > instance > > > > > > > > > > > > makes > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for .NET > > > client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 PM > > > Dmitriy > > > > > > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 6:10 > AM, > > > > Nikita > > > > > > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] that > > > would > > > > > > > replace > > > > > > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > > > > > > by service's class name and > > > > properties > > > > > > > map > > > > > > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that we > should > > > > use > > > > > > > > > > > > > > > > > > > > > > > > {String className} + > {Map<String, > > > > > > Object> > > > > > > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the > following > > > > > > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public methods? > > > > > > > > > > > > > > > > > > > > > > > > I suggest to mark them as > > > > deprecated > > > > > > and > > > > > > > > use > > > > > > > > > class > > > > > > > > > > > > name > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > > > > > > Also to add deploying methods > > > with > > > > new > > > > > > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > > > > > > public > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > > > > Map<String, > > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, but I > > > would > > > > > > like > > > > > > > > > other > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov should > > > > comment > > > > > > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, Object> > > > > properties} > > > > > > > > > parameter > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > > > > > > Is it make sense to add > deploying > > > > > > methods > > > > > > > > > without > > > > > > > > > > > > it? > > > > > > > > > > > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > > > > Map<String, > > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the user to > pass > > > > the > > > > > > > > > property > > > > > > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > -- > Best Regards, Vyacheslav D. > |
The full map is needed:
1) to propagate deployment results which could be different from locally calculated in case of any errors; 2) to transfer deployment errors across the cluster; 3) to undeploy exceeded the number of service instances if needed; 4) to get know other nodes that deployment process was finished, this need to avoid calling services which have not been deployed yet (or can't be deployed). We can't just store pending requests because of time to deploy one service instances which may be significant. On Wed, Nov 21, 2018 at 12:45 PM Vladimir Ozerov <[hidden email]> wrote: > > Vyacheslav, > > I looked at the document and failed to find explanation why full maps are > needed. Could you point me to a place where it is explained? > I ask this because my impression from last discussion was that it is never > needed. Service status change is initiated by user action, then all nodes > perform respective action locally, then they reply to coordinator, then > coordinator reply to the client, no need a kind of "full" map over > discovery again. The only situation when another message over ring is > required, is when some node failed to execute local operation (for whatever > reason) and corrective action is required. > > Am I missing something? > > On Wed, Nov 21, 2018 at 11:50 AM Vyacheslav Daradur <[hidden email]> > wrote: > > > Denis, I suggested new names above in the thread. > > > > Please, look at PME document [1] is should be quiet actual to show the > > same flow. > > > > [1] > > https://cwiki.apache.org/confluence/display/IGNITE/%28Partition+Map%29+Exchange+-+under+the+hood > > > > On Wed, Nov 21, 2018 at 11:43 AM Denis Mekhanikov <[hidden email]> > > wrote: > > > > > > Vyacheslav, > > > > > > Actually, the service assignment is implemented in a way, > > > that allows every node calculate the assignment itself, so no information > > > needs to be shared. > > > The only data, that is sent between nodes is deployment results, > > > and I don't see an analogy with exchange here. > > > > > > Denis > > > > > > ср, 21 нояб. 2018 г. в 11:16, Vladimir Ozerov <[hidden email]>: > > > > > > > Hi Vyacheslav, > > > > > > > > Could you please explain in what situation coordinator needs to collect > > > > service deployments info from all nodes and share it with the cluster? > > I > > > > cannot remember from our design discussion when it is needed. Global > > state > > > > normally shared through discovery and only on node join, In this case > > we > > > > use "DiscoveryDataBags", not separate messages. > > > > > > > > On Wed, Nov 21, 2018 at 11:11 AM Vyacheslav Daradur < > > [hidden email]> > > > > wrote: > > > > > > > > > I think request-response is not suitable terms. > > > > > > > > > > Nodes send to coordinator maps of actual service deployments which > > > > > contains what count of instances of each service node hosts locally. > > > > > > > > > > Coordinator sends to the cluster the full map of deployments across > > the > > > > > cluster. > > > > > > > > > > On Wed, Nov 21, 2018 at 11:04 AM Vladimir Ozerov < > > [hidden email]> > > > > > wrote: > > > > > > > > > > > > I do not know what is correct term :-) What I said is that > > "exchange" > > > > is > > > > > > counter intuitive here. There is no "exchange", instead nodes send > > > > > > information to coordinator that they finished some operation. E.g. > > we > > > > do > > > > > > the same for schema changes (index creation), and as Denis > > suggested, > > > > > > Request-Response is correct suffixes here. Message name should > > explain > > > > > what > > > > > > really happened, instead of describing things which are somewhat > > > > similar > > > > > in > > > > > > internal flow. > > > > > > > > > > > > On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov < > > [hidden email]> > > > > > > wrote: > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > What is correct term? > > > > > > > > > > > > > > > > > > > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov [hidden email] > > : > > > > > > > > > > > > > > > Agree. Service deployment has nothing to do with PME. We > > should not > > > > > use > > > > > > > the > > > > > > > > same term for different things. > > > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov < > > > > > [hidden email]>: > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > I'm in process of reviewing your changes. Sorry for taking so > > > > long. > > > > > > > > > I posted the first portion of review comments yesterday. > > > > > > > > > I'd like to finish looking through the code. I'll post more > > > > > comments > > > > > > > > later. > > > > > > > > > > > > > > > > > > I see, that you called things analogously to partition map > > > > > exchange. > > > > > > > > > I realize, that there is an analogy in used procedures, but I > > > > don't > > > > > > > > really > > > > > > > > > like the idea to use the same names for everything. > > > > > > > > > The partition map exchange is called this way because it > > involves > > > > > an > > > > > > > > actual > > > > > > > > > exchange of information. > > > > > > > > > All nodes need to tell each other, which partitions they > > have, > > > > and > > > > > what > > > > > > > > > their states are. > > > > > > > > > > > > > > > > > > There is no exchange in case of service deployment, so I > > would > > > > > skip the > > > > > > > > > "exchange" part. > > > > > > > > > And *single message ->* *full message* look more like > > *request -> > > > > > > > > response* > > > > > > > > > in case of services. > > > > > > > > > > > > > > > > > > Suppose we abandon the PME procedure and move to something > > else. > > > > > > > > > Then *ServiceDeploymentExchange* name won't make sense. > > > > > > > > > And I don't want to be in a situation, when I say to my > > > > colleague a > > > > > > > word > > > > > > > > > "exchange", > > > > > > > > > and get "which one?" in return. > > > > > > > > > So, I'm for the meaningful names rather than analogous to > > > > something > > > > > > > else. > > > > > > > > > > > > > > > > > > What do you think? > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur < > > > > > [hidden email] > > > > > > > >: > > > > > > > > > > > > > > > > > > > Denis, Yakov have you had a chance to review the solution? > > > > > > > > > > > > > > > > > > > > Igniters, we need to define a list of reviewers, otherwise > > no > > > > > end in > > > > > > > > > sign. > > > > > > > > > > > > > > > > > > > > I'm ready to continue work on the Service Grid, including > > new > > > > > > > features > > > > > > > > > > like hot-redeployment and versioning, also, I have ideas > > about > > > > > new > > > > > > > > > > tools for monitoring and management which will be useful > > for > > > > our > > > > > > > > > > end-users. > > > > > > > > > > > > > > > > > > > > But for continuing work we need to overcome this first > > phase. > > > > > > > > > > > > > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > > > > > > > [hidden email]> > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > Denis, Yakov, feel free to contact me directly in case of > > > > > > > questions. > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > > > > > > > [hidden email]> > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > Guys, > > > > > > > > > > > > > > > > > > > > > > > > I'd like to take a look at the changes before they are > > > > > merged. > > > > > > > > > > > > I'll do my best to finish the review before the end of > > the > > > > > > > upcoming > > > > > > > > > > week. > > > > > > > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > > > > > > > [hidden email] > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > > > > > > > > > > > > > Can we write the list of reviewers for this feature? > > > > > > > > > > > > > Without a date or similar. > > > > > > > > > > > > > Just a list of experts who should review this > > feature. > > > > > > > > > > > > > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov > > пишет: > > > > > > > > > > > > > > Igniters, > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is very huge thing with complex algorithms > > behind. > > > > > We > > > > > > > > should > > > > > > > > > > not > > > > > > > > > > > > > merge > > > > > > > > > > > > > > it to the product unless several additional > > thorough > > > > > reviews > > > > > > > > are > > > > > > > > > > ready, > > > > > > > > > > > > > > irrespectively of how long will it take. We are > > about > > > > > > > quality, > > > > > > > > > not > > > > > > > > > > speed. > > > > > > > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda < > > > > > [hidden email] > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What are the cases when the service can be > > > > redeployed? > > > > > > > > > Affinity, > > > > > > > > > > > > > failure, > > > > > > > > > > > > > > > etc., right. It would be good to list all the > > cases > > > > on > > > > > the > > > > > > > > wiki > > > > > > > > > > and > > > > > > > > > > > > > then > > > > > > > > > > > > > > > our tech writers will get everything documented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav > > Daradur < > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into > > account > > > > > previous > > > > > > > > > > assignments > > > > > > > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > > > > > > > So, in the described case, ServiceA won't be > > moved > > > > > from > > > > > > > > node1 > > > > > > > > > > to > > > > > > > > > > > > > node2. > > > > > > > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda < > > > > > > > > > [hidden email]> > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this > > milestone > > > > > and > > > > > > > > > > rolling out > > > > > > > > > > > > > these > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events [1], > > does > > > > > the > > > > > > > new > > > > > > > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > > > > > > > a running service redeployment when a new > > node > > > > > joins? > > > > > > > For > > > > > > > > > > instance, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > > > > > > > say I have ServiceA running node1, then node2 > > > > joins > > > > > > > and I > > > > > > > > > > don't > > > > > > > > > > > > > want > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > service to be redeployed to any other node. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav > > > > Daradur < > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy > > Pavlov < > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any > > attached > > > > > docs. > > > > > > > > Could > > > > > > > > > > you > > > > > > > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav > > > > Daradur < > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the > > implemented > > > > > > > > solution > > > > > > > > > > and > > > > > > > > > > > > > attached > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. > > Should I > > > > > post > > > > > > > the > > > > > > > > > > document > > > > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > > > > > > > or > > > > > > > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts > > review the > > > > > > > > solution > > > > > > > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > > [2] > > > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM > > Vyacheslav > > > > > > > Daradur > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - is in > > > > Patch > > > > > > > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed > > > > > implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional review > > from > > > > > other > > > > > > > > > Ignite > > > > > > > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] and PR > > > > [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the > > review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > > > [2] > > > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM > > Denis > > > > > > > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to > > specify > > > > > > > service > > > > > > > > > > class name > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 > > Vyacheslav > > > > > > > Daradur > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement of > > > > > serialized > > > > > > > > > > instance > > > > > > > > > > > > > makes > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for .NET > > > > client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 PM > > > > Dmitriy > > > > > > > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 6:10 > > AM, > > > > > Nikita > > > > > > > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] that > > > > would > > > > > > > > replace > > > > > > > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > > > > > > > by service's class name and > > > > > properties > > > > > > > > map > > > > > > > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that we > > should > > > > > use > > > > > > > > > > > > > > > > > > > > > > > > > {String className} + > > {Map<String, > > > > > > > Object> > > > > > > > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the > > following > > > > > > > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public methods? > > > > > > > > > > > > > > > > > > > > > > > > > I suggest to mark them as > > > > > deprecated > > > > > > > and > > > > > > > > > use > > > > > > > > > > class > > > > > > > > > > > > > name > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > > > > > > > Also to add deploying methods > > > > with > > > > > new > > > > > > > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > > > > > > > public > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > > > > > Map<String, > > > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, but I > > > > would > > > > > > > like > > > > > > > > > > other > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov should > > > > > comment > > > > > > > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, Object> > > > > > properties} > > > > > > > > > > parameter > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > > > > > > > Is it make sense to add > > deploying > > > > > > > methods > > > > > > > > > > without > > > > > > > > > > > > > it? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > > > > > Map<String, > > > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the user to > > pass > > > > > the > > > > > > > > > > property > > > > > > > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > -- > > Best Regards, Vyacheslav D. > > -- Best Regards, Vyacheslav D. |
Hi Vyacheslav,
Still not clear enough for me. I do not see a reason to send another over a ring in case of successful execution. The only reason is an error on a node which require correction (re-deploy to other node, full service undeploy, etc). I think it makes sense to organize another call to discuss current architecture. Otherwise we may spend too much time on emails. Vladimir. On Wed, Nov 21, 2018 at 12:57 PM Vyacheslav Daradur <[hidden email]> wrote: > The full map is needed: > 1) to propagate deployment results which could be different from > locally calculated in case of any errors; > 2) to transfer deployment errors across the cluster; > 3) to undeploy exceeded the number of service instances if needed; > 4) to get know other nodes that deployment process was finished, this > need to avoid calling services which have not been deployed yet (or > can't be deployed). We can't just store pending requests because of > time to deploy one service instances which may be significant. > On Wed, Nov 21, 2018 at 12:45 PM Vladimir Ozerov <[hidden email]> > wrote: > > > > Vyacheslav, > > > > I looked at the document and failed to find explanation why full maps are > > needed. Could you point me to a place where it is explained? > > I ask this because my impression from last discussion was that it is > never > > needed. Service status change is initiated by user action, then all nodes > > perform respective action locally, then they reply to coordinator, then > > coordinator reply to the client, no need a kind of "full" map over > > discovery again. The only situation when another message over ring is > > required, is when some node failed to execute local operation (for > whatever > > reason) and corrective action is required. > > > > Am I missing something? > > > > On Wed, Nov 21, 2018 at 11:50 AM Vyacheslav Daradur <[hidden email] > > > > wrote: > > > > > Denis, I suggested new names above in the thread. > > > > > > Please, look at PME document [1] is should be quiet actual to show the > > > same flow. > > > > > > [1] > > > > https://cwiki.apache.org/confluence/display/IGNITE/%28Partition+Map%29+Exchange+-+under+the+hood > > > > > > On Wed, Nov 21, 2018 at 11:43 AM Denis Mekhanikov < > [hidden email]> > > > wrote: > > > > > > > > Vyacheslav, > > > > > > > > Actually, the service assignment is implemented in a way, > > > > that allows every node calculate the assignment itself, so no > information > > > > needs to be shared. > > > > The only data, that is sent between nodes is deployment results, > > > > and I don't see an analogy with exchange here. > > > > > > > > Denis > > > > > > > > ср, 21 нояб. 2018 г. в 11:16, Vladimir Ozerov <[hidden email] > >: > > > > > > > > > Hi Vyacheslav, > > > > > > > > > > Could you please explain in what situation coordinator needs to > collect > > > > > service deployments info from all nodes and share it with the > cluster? > > > I > > > > > cannot remember from our design discussion when it is needed. > Global > > > state > > > > > normally shared through discovery and only on node join, In this > case > > > we > > > > > use "DiscoveryDataBags", not separate messages. > > > > > > > > > > On Wed, Nov 21, 2018 at 11:11 AM Vyacheslav Daradur < > > > [hidden email]> > > > > > wrote: > > > > > > > > > > > I think request-response is not suitable terms. > > > > > > > > > > > > Nodes send to coordinator maps of actual service deployments > which > > > > > > contains what count of instances of each service node hosts > locally. > > > > > > > > > > > > Coordinator sends to the cluster the full map of deployments > across > > > the > > > > > > cluster. > > > > > > > > > > > > On Wed, Nov 21, 2018 at 11:04 AM Vladimir Ozerov < > > > [hidden email]> > > > > > > wrote: > > > > > > > > > > > > > > I do not know what is correct term :-) What I said is that > > > "exchange" > > > > > is > > > > > > > counter intuitive here. There is no "exchange", instead nodes > send > > > > > > > information to coordinator that they finished some operation. > E.g. > > > we > > > > > do > > > > > > > the same for schema changes (index creation), and as Denis > > > suggested, > > > > > > > Request-Response is correct suffixes here. Message name should > > > explain > > > > > > what > > > > > > > really happened, instead of describing things which are > somewhat > > > > > similar > > > > > > in > > > > > > > internal flow. > > > > > > > > > > > > > > On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov < > > > [hidden email]> > > > > > > > wrote: > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > What is correct term? > > > > > > > > > > > > > > > > > > > > > > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov > [hidden email] > > > : > > > > > > > > > > > > > > > > > Agree. Service deployment has nothing to do with PME. We > > > should not > > > > > > use > > > > > > > > the > > > > > > > > > same term for different things. > > > > > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov < > > > > > > [hidden email]>: > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > I'm in process of reviewing your changes. Sorry for > taking so > > > > > long. > > > > > > > > > > I posted the first portion of review comments yesterday. > > > > > > > > > > I'd like to finish looking through the code. I'll post > more > > > > > > comments > > > > > > > > > later. > > > > > > > > > > > > > > > > > > > > I see, that you called things analogously to partition > map > > > > > > exchange. > > > > > > > > > > I realize, that there is an analogy in used procedures, > but I > > > > > don't > > > > > > > > > really > > > > > > > > > > like the idea to use the same names for everything. > > > > > > > > > > The partition map exchange is called this way because it > > > involves > > > > > > an > > > > > > > > > actual > > > > > > > > > > exchange of information. > > > > > > > > > > All nodes need to tell each other, which partitions they > > > have, > > > > > and > > > > > > what > > > > > > > > > > their states are. > > > > > > > > > > > > > > > > > > > > There is no exchange in case of service deployment, so I > > > would > > > > > > skip the > > > > > > > > > > "exchange" part. > > > > > > > > > > And *single message ->* *full message* look more like > > > *request -> > > > > > > > > > response* > > > > > > > > > > in case of services. > > > > > > > > > > > > > > > > > > > > Suppose we abandon the PME procedure and move to > something > > > else. > > > > > > > > > > Then *ServiceDeploymentExchange* name won't make sense. > > > > > > > > > > And I don't want to be in a situation, when I say to my > > > > > colleague a > > > > > > > > word > > > > > > > > > > "exchange", > > > > > > > > > > and get "which one?" in return. > > > > > > > > > > So, I'm for the meaningful names rather than analogous to > > > > > something > > > > > > > > else. > > > > > > > > > > > > > > > > > > > > What do you think? > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur < > > > > > > [hidden email] > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > Denis, Yakov have you had a chance to review the > solution? > > > > > > > > > > > > > > > > > > > > > > Igniters, we need to define a list of reviewers, > otherwise > > > no > > > > > > end in > > > > > > > > > > sign. > > > > > > > > > > > > > > > > > > > > > > I'm ready to continue work on the Service Grid, > including > > > new > > > > > > > > features > > > > > > > > > > > like hot-redeployment and versioning, also, I have > ideas > > > about > > > > > > new > > > > > > > > > > > tools for monitoring and management which will be > useful > > > for > > > > > our > > > > > > > > > > > end-users. > > > > > > > > > > > > > > > > > > > > > > But for continuing work we need to overcome this first > > > phase. > > > > > > > > > > > > > > > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > > > > > > > > [hidden email]> > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > Denis, Yakov, feel free to contact me directly in > case of > > > > > > > > questions. > > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > > > > > > > > [hidden email]> > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > Guys, > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to take a look at the changes before they > are > > > > > > merged. > > > > > > > > > > > > > I'll do my best to finish the review before the > end of > > > the > > > > > > > > upcoming > > > > > > > > > > > week. > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > > > > > > > > [hidden email] > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Can we write the list of reviewers for this > feature? > > > > > > > > > > > > > > Without a date or similar. > > > > > > > > > > > > > > Just a list of experts who should review this > > > feature. > > > > > > > > > > > > > > > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov > > > пишет: > > > > > > > > > > > > > > > Igniters, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is very huge thing with complex algorithms > > > behind. > > > > > > We > > > > > > > > > should > > > > > > > > > > > not > > > > > > > > > > > > > > merge > > > > > > > > > > > > > > > it to the product unless several additional > > > thorough > > > > > > reviews > > > > > > > > > are > > > > > > > > > > > ready, > > > > > > > > > > > > > > > irrespectively of how long will it take. We are > > > about > > > > > > > > quality, > > > > > > > > > > not > > > > > > > > > > > speed. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda < > > > > > > [hidden email] > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What are the cases when the service can be > > > > > redeployed? > > > > > > > > > > Affinity, > > > > > > > > > > > > > > failure, > > > > > > > > > > > > > > > > etc., right. It would be good to list all the > > > cases > > > > > on > > > > > > the > > > > > > > > > wiki > > > > > > > > > > > and > > > > > > > > > > > > > > then > > > > > > > > > > > > > > > > our tech writers will get everything > documented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav > > > Daradur < > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into > > > account > > > > > > previous > > > > > > > > > > > assignments > > > > > > > > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > > > > > > > > So, in the described case, ServiceA won't > be > > > moved > > > > > > from > > > > > > > > > node1 > > > > > > > > > > > to > > > > > > > > > > > > > > node2. > > > > > > > > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis Magda > < > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this > > > milestone > > > > > > and > > > > > > > > > > > rolling out > > > > > > > > > > > > > > these > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events > [1], > > > does > > > > > > the > > > > > > > > new > > > > > > > > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > > > > > > > > a running service redeployment when a new > > > node > > > > > > joins? > > > > > > > > For > > > > > > > > > > > instance, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > > > > > > > > say I have ServiceA running node1, then > node2 > > > > > joins > > > > > > > > and I > > > > > > > > > > > don't > > > > > > > > > > > > > > want > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > service to be redeployed to any other > node. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM Vyacheslav > > > > > Daradur < > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in > wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM Dmitriy > > > Pavlov < > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any > > > attached > > > > > > docs. > > > > > > > > > Could > > > > > > > > > > > you > > > > > > > > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 Vyacheslav > > > > > Daradur < > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the > > > implemented > > > > > > > > > solution > > > > > > > > > > > and > > > > > > > > > > > > > > attached > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. > > > Should I > > > > > > post > > > > > > > > the > > > > > > > > > > > document > > > > > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > > > > > > > > or > > > > > > > > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts > > > review the > > > > > > > > > solution > > > > > > > > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > > > [2] > > > > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM > > > Vyacheslav > > > > > > > > Daradur > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - > is in > > > > > Patch > > > > > > > > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed > > > > > > implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional > review > > > from > > > > > > other > > > > > > > > > > Ignite > > > > > > > > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] > and PR > > > > > [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do the > > > review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > > > > [2] > > > > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 AM > > > Denis > > > > > > > > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net to > > > specify > > > > > > > > service > > > > > > > > > > > class name > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a > problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 > > > Vyacheslav > > > > > > > > Daradur > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the replacement > of > > > > > > serialized > > > > > > > > > > > instance > > > > > > > > > > > > > > makes > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for > .NET > > > > > client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at 4:07 > PM > > > > > Dmitriy > > > > > > > > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at > 6:10 > > > AM, > > > > > > Nikita > > > > > > > > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task [1] > that > > > > > would > > > > > > > > > replace > > > > > > > > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > > > > > > > > by service's class name > and > > > > > > properties > > > > > > > > > map > > > > > > > > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that > we > > > should > > > > > > use > > > > > > > > > > > > > > > > > > > > > > > > > > {String className} + > > > {Map<String, > > > > > > > > Object> > > > > > > > > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the > > > following > > > > > > > > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public > methods? > > > > > > > > > > > > > > > > > > > > > > > > > > I suggest to mark them as > > > > > > deprecated > > > > > > > > and > > > > > > > > > > use > > > > > > > > > > > class > > > > > > > > > > > > > > name > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > > > > > > > > Also to add deploying > methods > > > > > with > > > > > > new > > > > > > > > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > > > > > > Map<String, > > > > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, > but I > > > > > would > > > > > > > > like > > > > > > > > > > > other > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov > should > > > > > > comment > > > > > > > > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, > Object> > > > > > > properties} > > > > > > > > > > > parameter > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > > > > > > > > Is it make sense to add > > > deploying > > > > > > > > methods > > > > > > > > > > > without > > > > > > > > > > > > > > it? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > name, String srvcClsName, > > > > > > Map<String, > > > > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the > user to > > > pass > > > > > > the > > > > > > > > > > > property > > > > > > > > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > -- > > > Best Regards, Vyacheslav D. > > > > > > > -- > Best Regards, Vyacheslav D. > |
Hi Vyacheslav, Vladimir,
Could you please invite me, if you will set up a call. ср, 21 нояб. 2018 г. в 13:08, Vladimir Ozerov <[hidden email]>: > Hi Vyacheslav, > > Still not clear enough for me. I do not see a reason to send another over a > ring in case of successful execution. The only reason is an error on a node > which require correction (re-deploy to other node, full service undeploy, > etc). > I think it makes sense to organize another call to discuss current > architecture. Otherwise we may spend too much time on emails. > > Vladimir. > > On Wed, Nov 21, 2018 at 12:57 PM Vyacheslav Daradur <[hidden email]> > wrote: > > > The full map is needed: > > 1) to propagate deployment results which could be different from > > locally calculated in case of any errors; > > 2) to transfer deployment errors across the cluster; > > 3) to undeploy exceeded the number of service instances if needed; > > 4) to get know other nodes that deployment process was finished, this > > need to avoid calling services which have not been deployed yet (or > > can't be deployed). We can't just store pending requests because of > > time to deploy one service instances which may be significant. > > On Wed, Nov 21, 2018 at 12:45 PM Vladimir Ozerov <[hidden email]> > > wrote: > > > > > > Vyacheslav, > > > > > > I looked at the document and failed to find explanation why full maps > are > > > needed. Could you point me to a place where it is explained? > > > I ask this because my impression from last discussion was that it is > > never > > > needed. Service status change is initiated by user action, then all > nodes > > > perform respective action locally, then they reply to coordinator, then > > > coordinator reply to the client, no need a kind of "full" map over > > > discovery again. The only situation when another message over ring is > > > required, is when some node failed to execute local operation (for > > whatever > > > reason) and corrective action is required. > > > > > > Am I missing something? > > > > > > On Wed, Nov 21, 2018 at 11:50 AM Vyacheslav Daradur < > [hidden email] > > > > > > wrote: > > > > > > > Denis, I suggested new names above in the thread. > > > > > > > > Please, look at PME document [1] is should be quiet actual to show > the > > > > same flow. > > > > > > > > [1] > > > > > > > https://cwiki.apache.org/confluence/display/IGNITE/%28Partition+Map%29+Exchange+-+under+the+hood > > > > > > > > On Wed, Nov 21, 2018 at 11:43 AM Denis Mekhanikov < > > [hidden email]> > > > > wrote: > > > > > > > > > > Vyacheslav, > > > > > > > > > > Actually, the service assignment is implemented in a way, > > > > > that allows every node calculate the assignment itself, so no > > information > > > > > needs to be shared. > > > > > The only data, that is sent between nodes is deployment results, > > > > > and I don't see an analogy with exchange here. > > > > > > > > > > Denis > > > > > > > > > > ср, 21 нояб. 2018 г. в 11:16, Vladimir Ozerov < > [hidden email] > > >: > > > > > > > > > > > Hi Vyacheslav, > > > > > > > > > > > > Could you please explain in what situation coordinator needs to > > collect > > > > > > service deployments info from all nodes and share it with the > > cluster? > > > > I > > > > > > cannot remember from our design discussion when it is needed. > > Global > > > > state > > > > > > normally shared through discovery and only on node join, In this > > case > > > > we > > > > > > use "DiscoveryDataBags", not separate messages. > > > > > > > > > > > > On Wed, Nov 21, 2018 at 11:11 AM Vyacheslav Daradur < > > > > [hidden email]> > > > > > > wrote: > > > > > > > > > > > > > I think request-response is not suitable terms. > > > > > > > > > > > > > > Nodes send to coordinator maps of actual service deployments > > which > > > > > > > contains what count of instances of each service node hosts > > locally. > > > > > > > > > > > > > > Coordinator sends to the cluster the full map of deployments > > across > > > > the > > > > > > > cluster. > > > > > > > > > > > > > > On Wed, Nov 21, 2018 at 11:04 AM Vladimir Ozerov < > > > > [hidden email]> > > > > > > > wrote: > > > > > > > > > > > > > > > > I do not know what is correct term :-) What I said is that > > > > "exchange" > > > > > > is > > > > > > > > counter intuitive here. There is no "exchange", instead nodes > > send > > > > > > > > information to coordinator that they finished some operation. > > E.g. > > > > we > > > > > > do > > > > > > > > the same for schema changes (index creation), and as Denis > > > > suggested, > > > > > > > > Request-Response is correct suffixes here. Message name > should > > > > explain > > > > > > > what > > > > > > > > really happened, instead of describing things which are > > somewhat > > > > > > similar > > > > > > > in > > > > > > > > internal flow. > > > > > > > > > > > > > > > > On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov < > > > > [hidden email]> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > What is correct term? > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov > > [hidden email] > > > > : > > > > > > > > > > > > > > > > > > > Agree. Service deployment has nothing to do with PME. We > > > > should not > > > > > > > use > > > > > > > > > the > > > > > > > > > > same term for different things. > > > > > > > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov < > > > > > > > [hidden email]>: > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > I'm in process of reviewing your changes. Sorry for > > taking so > > > > > > long. > > > > > > > > > > > I posted the first portion of review comments > yesterday. > > > > > > > > > > > I'd like to finish looking through the code. I'll post > > more > > > > > > > comments > > > > > > > > > > later. > > > > > > > > > > > > > > > > > > > > > > I see, that you called things analogously to partition > > map > > > > > > > exchange. > > > > > > > > > > > I realize, that there is an analogy in used procedures, > > but I > > > > > > don't > > > > > > > > > > really > > > > > > > > > > > like the idea to use the same names for everything. > > > > > > > > > > > The partition map exchange is called this way because > it > > > > involves > > > > > > > an > > > > > > > > > > actual > > > > > > > > > > > exchange of information. > > > > > > > > > > > All nodes need to tell each other, which partitions > they > > > > have, > > > > > > and > > > > > > > what > > > > > > > > > > > their states are. > > > > > > > > > > > > > > > > > > > > > > There is no exchange in case of service deployment, so > I > > > > would > > > > > > > skip the > > > > > > > > > > > "exchange" part. > > > > > > > > > > > And *single message ->* *full message* look more like > > > > *request -> > > > > > > > > > > response* > > > > > > > > > > > in case of services. > > > > > > > > > > > > > > > > > > > > > > Suppose we abandon the PME procedure and move to > > something > > > > else. > > > > > > > > > > > Then *ServiceDeploymentExchange* name won't make sense. > > > > > > > > > > > And I don't want to be in a situation, when I say to my > > > > > > colleague a > > > > > > > > > word > > > > > > > > > > > "exchange", > > > > > > > > > > > and get "which one?" in return. > > > > > > > > > > > So, I'm for the meaningful names rather than analogous > to > > > > > > something > > > > > > > > > else. > > > > > > > > > > > > > > > > > > > > > > What do you think? > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur < > > > > > > > [hidden email] > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > Denis, Yakov have you had a chance to review the > > solution? > > > > > > > > > > > > > > > > > > > > > > > > Igniters, we need to define a list of reviewers, > > otherwise > > > > no > > > > > > > end in > > > > > > > > > > > sign. > > > > > > > > > > > > > > > > > > > > > > > > I'm ready to continue work on the Service Grid, > > including > > > > new > > > > > > > > > features > > > > > > > > > > > > like hot-redeployment and versioning, also, I have > > ideas > > > > about > > > > > > > new > > > > > > > > > > > > tools for monitoring and management which will be > > useful > > > > for > > > > > > our > > > > > > > > > > > > end-users. > > > > > > > > > > > > > > > > > > > > > > > > But for continuing work we need to overcome this > first > > > > phase. > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > > > > > > > > > [hidden email]> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > Denis, Yakov, feel free to contact me directly in > > case of > > > > > > > > > questions. > > > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > Guys, > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to take a look at the changes before > they > > are > > > > > > > merged. > > > > > > > > > > > > > > I'll do my best to finish the review before the > > end of > > > > the > > > > > > > > > upcoming > > > > > > > > > > > > week. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Can we write the list of reviewers for this > > feature? > > > > > > > > > > > > > > > Without a date or similar. > > > > > > > > > > > > > > > Just a list of experts who should review this > > > > feature. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov > > > > пишет: > > > > > > > > > > > > > > > > Igniters, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is very huge thing with complex > algorithms > > > > behind. > > > > > > > We > > > > > > > > > > should > > > > > > > > > > > > not > > > > > > > > > > > > > > > merge > > > > > > > > > > > > > > > > it to the product unless several additional > > > > thorough > > > > > > > reviews > > > > > > > > > > are > > > > > > > > > > > > ready, > > > > > > > > > > > > > > > > irrespectively of how long will it take. We > are > > > > about > > > > > > > > > quality, > > > > > > > > > > > not > > > > > > > > > > > > speed. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda < > > > > > > > [hidden email] > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What are the cases when the service can be > > > > > > redeployed? > > > > > > > > > > > Affinity, > > > > > > > > > > > > > > > failure, > > > > > > > > > > > > > > > > > etc., right. It would be good to list all > the > > > > cases > > > > > > on > > > > > > > the > > > > > > > > > > wiki > > > > > > > > > > > > and > > > > > > > > > > > > > > > then > > > > > > > > > > > > > > > > > our tech writers will get everything > > documented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav > > > > Daradur < > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into > > > > account > > > > > > > previous > > > > > > > > > > > > assignments > > > > > > > > > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > > > > > > > > > So, in the described case, ServiceA won't > > be > > > > moved > > > > > > > from > > > > > > > > > > node1 > > > > > > > > > > > > to > > > > > > > > > > > > > > > node2. > > > > > > > > > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis > Magda > > < > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this > > > > milestone > > > > > > > and > > > > > > > > > > > > rolling out > > > > > > > > > > > > > > > these > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events > > [1], > > > > does > > > > > > > the > > > > > > > > > new > > > > > > > > > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > > > > > > > > > a running service redeployment when a > new > > > > node > > > > > > > joins? > > > > > > > > > For > > > > > > > > > > > > instance, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > > > > > > > > > say I have ServiceA running node1, then > > node2 > > > > > > joins > > > > > > > > > and I > > > > > > > > > > > > don't > > > > > > > > > > > > > > > want > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > service to be redeployed to any other > > node. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM > Vyacheslav > > > > > > Daradur < > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in > > wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM > Dmitriy > > > > Pavlov < > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any > > > > attached > > > > > > > docs. > > > > > > > > > > Could > > > > > > > > > > > > you > > > > > > > > > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 > Vyacheslav > > > > > > Daradur < > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the > > > > implemented > > > > > > > > > > solution > > > > > > > > > > > > and > > > > > > > > > > > > > > > attached > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. > > > > Should I > > > > > > > post > > > > > > > > > the > > > > > > > > > > > > document > > > > > > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > > > > > > > > > or > > > > > > > > > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts > > > > review the > > > > > > > > > > solution > > > > > > > > > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > > > > [2] > > > > > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM > > > > Vyacheslav > > > > > > > > > Daradur > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - > > is in > > > > > > Patch > > > > > > > > > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed > > > > > > > implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional > > review > > > > from > > > > > > > other > > > > > > > > > > > Ignite > > > > > > > > > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] > > and PR > > > > > > [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do > the > > > > review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > > > > > [2] > > > > > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 > AM > > > > Denis > > > > > > > > > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net > to > > > > specify > > > > > > > > > service > > > > > > > > > > > > class name > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a > > problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 > > > > Vyacheslav > > > > > > > > > Daradur > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the > replacement > > of > > > > > > > serialized > > > > > > > > > > > > instance > > > > > > > > > > > > > > > makes > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for > > .NET > > > > > > client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at > 4:07 > > PM > > > > > > Dmitriy > > > > > > > > > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at > > 6:10 > > > > AM, > > > > > > > Nikita > > > > > > > > > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task > [1] > > that > > > > > > would > > > > > > > > > > replace > > > > > > > > > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > > > > > > > > > by service's class name > > and > > > > > > > properties > > > > > > > > > > map > > > > > > > > > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that > > we > > > > should > > > > > > > use > > > > > > > > > > > > > > > > > > > > > > > > > > > {String className} + > > > > {Map<String, > > > > > > > > > Object> > > > > > > > > > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the > > > > following > > > > > > > > > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public > > methods? > > > > > > > > > > > > > > > > > > > > > > > > > > > I suggest to mark them > as > > > > > > > deprecated > > > > > > > > > and > > > > > > > > > > > use > > > > > > > > > > > > class > > > > > > > > > > > > > > > name > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > > > > > > > > > Also to add deploying > > methods > > > > > > with > > > > > > > new > > > > > > > > > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > > name, String > srvcClsName, > > > > > > > Map<String, > > > > > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, > > but I > > > > > > would > > > > > > > > > like > > > > > > > > > > > > other > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov > > should > > > > > > > comment > > > > > > > > > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, > > Object> > > > > > > > properties} > > > > > > > > > > > > parameter > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > > > > > > > > > Is it make sense to add > > > > deploying > > > > > > > > > methods > > > > > > > > > > > > without > > > > > > > > > > > > > > > it? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > > name, String > srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > > name, String > srvcClsName, > > > > > > > Map<String, > > > > > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the > > user to > > > > pass > > > > > > > the > > > > > > > > > > > > property > > > > > > > > > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > -- > > Best Regards, Vyacheslav D. > > > |
We had the private talk with Nikolay Izhikov, Vladimir Ozerov, Alexey
Goncharuk, Yakov Zhdanov, Denis Mekhanikov, Dmitriy Pavlov and I would like to share the summary with the community: The architecture of the implemented deployment process looks good in general, but the following points should be improved: * The new implementation of service processor implementation should be moved to a new class; * A new system property should be introduced to allow users to switch to old implementation in case of errors; * Introduced service deployment failures policy should be removed from current PR and should be implemented as a different task with detailed discussion on dev list to avoid unexpected behavior; * The word "exchange" should be removed from classes names to avoid confusion with PME classes. * Single/full messages should include containing only deployment process-related information only (instead of all service) to reduce messages size; Thanks all! I'll let you know once I fix the notes. On Wed, Nov 21, 2018 at 4:28 PM Dmitriy Pavlov <[hidden email]> wrote: > > Hi Vyacheslav, Vladimir, > > Could you please invite me, if you will set up a call. > > ср, 21 нояб. 2018 г. в 13:08, Vladimir Ozerov <[hidden email]>: > > > Hi Vyacheslav, > > > > Still not clear enough for me. I do not see a reason to send another over a > > ring in case of successful execution. The only reason is an error on a node > > which require correction (re-deploy to other node, full service undeploy, > > etc). > > I think it makes sense to organize another call to discuss current > > architecture. Otherwise we may spend too much time on emails. > > > > Vladimir. > > > > On Wed, Nov 21, 2018 at 12:57 PM Vyacheslav Daradur <[hidden email]> > > wrote: > > > > > The full map is needed: > > > 1) to propagate deployment results which could be different from > > > locally calculated in case of any errors; > > > 2) to transfer deployment errors across the cluster; > > > 3) to undeploy exceeded the number of service instances if needed; > > > 4) to get know other nodes that deployment process was finished, this > > > need to avoid calling services which have not been deployed yet (or > > > can't be deployed). We can't just store pending requests because of > > > time to deploy one service instances which may be significant. > > > On Wed, Nov 21, 2018 at 12:45 PM Vladimir Ozerov <[hidden email]> > > > wrote: > > > > > > > > Vyacheslav, > > > > > > > > I looked at the document and failed to find explanation why full maps > > are > > > > needed. Could you point me to a place where it is explained? > > > > I ask this because my impression from last discussion was that it is > > > never > > > > needed. Service status change is initiated by user action, then all > > nodes > > > > perform respective action locally, then they reply to coordinator, then > > > > coordinator reply to the client, no need a kind of "full" map over > > > > discovery again. The only situation when another message over ring is > > > > required, is when some node failed to execute local operation (for > > > whatever > > > > reason) and corrective action is required. > > > > > > > > Am I missing something? > > > > > > > > On Wed, Nov 21, 2018 at 11:50 AM Vyacheslav Daradur < > > [hidden email] > > > > > > > > wrote: > > > > > > > > > Denis, I suggested new names above in the thread. > > > > > > > > > > Please, look at PME document [1] is should be quiet actual to show > > the > > > > > same flow. > > > > > > > > > > [1] > > > > > > > > > > https://cwiki.apache.org/confluence/display/IGNITE/%28Partition+Map%29+Exchange+-+under+the+hood > > > > > > > > > > On Wed, Nov 21, 2018 at 11:43 AM Denis Mekhanikov < > > > [hidden email]> > > > > > wrote: > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > Actually, the service assignment is implemented in a way, > > > > > > that allows every node calculate the assignment itself, so no > > > information > > > > > > needs to be shared. > > > > > > The only data, that is sent between nodes is deployment results, > > > > > > and I don't see an analogy with exchange here. > > > > > > > > > > > > Denis > > > > > > > > > > > > ср, 21 нояб. 2018 г. в 11:16, Vladimir Ozerov < > > [hidden email] > > > >: > > > > > > > > > > > > > Hi Vyacheslav, > > > > > > > > > > > > > > Could you please explain in what situation coordinator needs to > > > collect > > > > > > > service deployments info from all nodes and share it with the > > > cluster? > > > > > I > > > > > > > cannot remember from our design discussion when it is needed. > > > Global > > > > > state > > > > > > > normally shared through discovery and only on node join, In this > > > case > > > > > we > > > > > > > use "DiscoveryDataBags", not separate messages. > > > > > > > > > > > > > > On Wed, Nov 21, 2018 at 11:11 AM Vyacheslav Daradur < > > > > > [hidden email]> > > > > > > > wrote: > > > > > > > > > > > > > > > I think request-response is not suitable terms. > > > > > > > > > > > > > > > > Nodes send to coordinator maps of actual service deployments > > > which > > > > > > > > contains what count of instances of each service node hosts > > > locally. > > > > > > > > > > > > > > > > Coordinator sends to the cluster the full map of deployments > > > across > > > > > the > > > > > > > > cluster. > > > > > > > > > > > > > > > > On Wed, Nov 21, 2018 at 11:04 AM Vladimir Ozerov < > > > > > [hidden email]> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > I do not know what is correct term :-) What I said is that > > > > > "exchange" > > > > > > > is > > > > > > > > > counter intuitive here. There is no "exchange", instead nodes > > > send > > > > > > > > > information to coordinator that they finished some operation. > > > E.g. > > > > > we > > > > > > > do > > > > > > > > > the same for schema changes (index creation), and as Denis > > > > > suggested, > > > > > > > > > Request-Response is correct suffixes here. Message name > > should > > > > > explain > > > > > > > > what > > > > > > > > > really happened, instead of describing things which are > > > somewhat > > > > > > > similar > > > > > > > > in > > > > > > > > > internal flow. > > > > > > > > > > > > > > > > > > On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov < > > > > > [hidden email]> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > > > What is correct term? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov > > > [hidden email] > > > > > : > > > > > > > > > > > > > > > > > > > > > Agree. Service deployment has nothing to do with PME. We > > > > > should not > > > > > > > > use > > > > > > > > > > the > > > > > > > > > > > same term for different things. > > > > > > > > > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov < > > > > > > > > [hidden email]>: > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > I'm in process of reviewing your changes. Sorry for > > > taking so > > > > > > > long. > > > > > > > > > > > > I posted the first portion of review comments > > yesterday. > > > > > > > > > > > > I'd like to finish looking through the code. I'll post > > > more > > > > > > > > comments > > > > > > > > > > > later. > > > > > > > > > > > > > > > > > > > > > > > > I see, that you called things analogously to partition > > > map > > > > > > > > exchange. > > > > > > > > > > > > I realize, that there is an analogy in used procedures, > > > but I > > > > > > > don't > > > > > > > > > > > really > > > > > > > > > > > > like the idea to use the same names for everything. > > > > > > > > > > > > The partition map exchange is called this way because > > it > > > > > involves > > > > > > > > an > > > > > > > > > > > actual > > > > > > > > > > > > exchange of information. > > > > > > > > > > > > All nodes need to tell each other, which partitions > > they > > > > > have, > > > > > > > and > > > > > > > > what > > > > > > > > > > > > their states are. > > > > > > > > > > > > > > > > > > > > > > > > There is no exchange in case of service deployment, so > > I > > > > > would > > > > > > > > skip the > > > > > > > > > > > > "exchange" part. > > > > > > > > > > > > And *single message ->* *full message* look more like > > > > > *request -> > > > > > > > > > > > response* > > > > > > > > > > > > in case of services. > > > > > > > > > > > > > > > > > > > > > > > > Suppose we abandon the PME procedure and move to > > > something > > > > > else. > > > > > > > > > > > > Then *ServiceDeploymentExchange* name won't make sense. > > > > > > > > > > > > And I don't want to be in a situation, when I say to my > > > > > > > colleague a > > > > > > > > > > word > > > > > > > > > > > > "exchange", > > > > > > > > > > > > and get "which one?" in return. > > > > > > > > > > > > So, I'm for the meaningful names rather than analogous > > to > > > > > > > something > > > > > > > > > > else. > > > > > > > > > > > > > > > > > > > > > > > > What do you think? > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur < > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > Denis, Yakov have you had a chance to review the > > > solution? > > > > > > > > > > > > > > > > > > > > > > > > > > Igniters, we need to define a list of reviewers, > > > otherwise > > > > > no > > > > > > > > end in > > > > > > > > > > > > sign. > > > > > > > > > > > > > > > > > > > > > > > > > > I'm ready to continue work on the Service Grid, > > > including > > > > > new > > > > > > > > > > features > > > > > > > > > > > > > like hot-redeployment and versioning, also, I have > > > ideas > > > > > about > > > > > > > > new > > > > > > > > > > > > > tools for monitoring and management which will be > > > useful > > > > > for > > > > > > > our > > > > > > > > > > > > > end-users. > > > > > > > > > > > > > > > > > > > > > > > > > > But for continuing work we need to overcome this > > first > > > > > phase. > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis, Yakov, feel free to contact me directly in > > > case of > > > > > > > > > > questions. > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Guys, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to take a look at the changes before > > they > > > are > > > > > > > > merged. > > > > > > > > > > > > > > > I'll do my best to finish the review before the > > > end of > > > > > the > > > > > > > > > > upcoming > > > > > > > > > > > > > week. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > > > > > > > > > > [hidden email] > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Can we write the list of reviewers for this > > > feature? > > > > > > > > > > > > > > > > Without a date or similar. > > > > > > > > > > > > > > > > Just a list of experts who should review this > > > > > feature. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov > > > > > пишет: > > > > > > > > > > > > > > > > > Igniters, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is very huge thing with complex > > algorithms > > > > > behind. > > > > > > > > We > > > > > > > > > > > should > > > > > > > > > > > > > not > > > > > > > > > > > > > > > > merge > > > > > > > > > > > > > > > > > it to the product unless several additional > > > > > thorough > > > > > > > > reviews > > > > > > > > > > > are > > > > > > > > > > > > > ready, > > > > > > > > > > > > > > > > > irrespectively of how long will it take. We > > are > > > > > about > > > > > > > > > > quality, > > > > > > > > > > > > not > > > > > > > > > > > > > speed. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda < > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What are the cases when the service can be > > > > > > > redeployed? > > > > > > > > > > > > Affinity, > > > > > > > > > > > > > > > > failure, > > > > > > > > > > > > > > > > > > etc., right. It would be good to list all > > the > > > > > cases > > > > > > > on > > > > > > > > the > > > > > > > > > > > wiki > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > then > > > > > > > > > > > > > > > > > > our tech writers will get everything > > > documented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav > > > > > Daradur < > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into > > > > > account > > > > > > > > previous > > > > > > > > > > > > > assignments > > > > > > > > > > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > > > > > > > > > > So, in the described case, ServiceA won't > > > be > > > > > moved > > > > > > > > from > > > > > > > > > > > node1 > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > node2. > > > > > > > > > > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis > > Magda > > > < > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this > > > > > milestone > > > > > > > > and > > > > > > > > > > > > > rolling out > > > > > > > > > > > > > > > > these > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events > > > [1], > > > > > does > > > > > > > > the > > > > > > > > > > new > > > > > > > > > > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > > > > > > > > > > a running service redeployment when a > > new > > > > > node > > > > > > > > joins? > > > > > > > > > > For > > > > > > > > > > > > > instance, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > > > > > > > > > > say I have ServiceA running node1, then > > > node2 > > > > > > > joins > > > > > > > > > > and I > > > > > > > > > > > > > don't > > > > > > > > > > > > > > > > want > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > service to be redeployed to any other > > > node. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM > > Vyacheslav > > > > > > > Daradur < > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in > > > wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM > > Dmitriy > > > > > Pavlov < > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any > > > > > attached > > > > > > > > docs. > > > > > > > > > > > Could > > > > > > > > > > > > > you > > > > > > > > > > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 > > Vyacheslav > > > > > > > Daradur < > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the > > > > > implemented > > > > > > > > > > > solution > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > attached > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. > > > > > Should I > > > > > > > > post > > > > > > > > > > the > > > > > > > > > > > > > document > > > > > > > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > > > > > > > > > > or > > > > > > > > > > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts > > > > > review the > > > > > > > > > > > solution > > > > > > > > > > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > > > > > [2] > > > > > > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM > > > > > Vyacheslav > > > > > > > > > > Daradur > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - > > > is in > > > > > > > Patch > > > > > > > > > > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed > > > > > > > > implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional > > > review > > > > > from > > > > > > > > other > > > > > > > > > > > > Ignite > > > > > > > > > > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] > > > and PR > > > > > > > [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do > > the > > > > > review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > > > > > > [2] > > > > > > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 > > AM > > > > > Denis > > > > > > > > > > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net > > to > > > > > specify > > > > > > > > > > service > > > > > > > > > > > > > class name > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a > > > problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 > > > > > Vyacheslav > > > > > > > > > > Daradur > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the > > replacement > > > of > > > > > > > > serialized > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > makes > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for > > > .NET > > > > > > > client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at > > 4:07 > > > PM > > > > > > > Dmitriy > > > > > > > > > > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at > > > 6:10 > > > > > AM, > > > > > > > > Nikita > > > > > > > > > > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task > > [1] > > > that > > > > > > > would > > > > > > > > > > > replace > > > > > > > > > > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > > > > > > > > > > by service's class name > > > and > > > > > > > > properties > > > > > > > > > > > map > > > > > > > > > > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that > > > we > > > > > should > > > > > > > > use > > > > > > > > > > > > > > > > > > > > > > > > > > > > {String className} + > > > > > {Map<String, > > > > > > > > > > Object> > > > > > > > > > > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the > > > > > following > > > > > > > > > > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public > > > methods? > > > > > > > > > > > > > > > > > > > > > > > > > > > > I suggest to mark them > > as > > > > > > > > deprecated > > > > > > > > > > and > > > > > > > > > > > > use > > > > > > > > > > > > > class > > > > > > > > > > > > > > > > name > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Also to add deploying > > > methods > > > > > > > with > > > > > > > > new > > > > > > > > > > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > > > name, String > > srvcClsName, > > > > > > > > Map<String, > > > > > > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, > > > but I > > > > > > > would > > > > > > > > > > like > > > > > > > > > > > > > other > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov > > > should > > > > > > > > comment > > > > > > > > > > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, > > > Object> > > > > > > > > properties} > > > > > > > > > > > > > parameter > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > > > > > > > > > > Is it make sense to add > > > > > deploying > > > > > > > > > > methods > > > > > > > > > > > > > without > > > > > > > > > > > > > > > > it? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > > > name, String > > srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > > > name, String > > srvcClsName, > > > > > > > > Map<String, > > > > > > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the > > > user to > > > > > pass > > > > > > > > the > > > > > > > > > > > > > property > > > > > > > > > > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > -- > > > Best Regards, Vyacheslav D. > > > > > -- Best Regards, Vyacheslav D. |
Hi, Igniters!
I fixed the notes and tests seem good. So, let's continue the review [1] [2], any feedback is welcome! [1] https://github.com/apache/ignite/pull/4434 [2] https://issues.apache.org/jira/browse/IGNITE-9607 On Tue, Nov 27, 2018 at 5:16 PM Vyacheslav Daradur <[hidden email]> wrote: > > We had the private talk with Nikolay Izhikov, Vladimir Ozerov, Alexey > Goncharuk, Yakov Zhdanov, Denis Mekhanikov, Dmitriy Pavlov and I would > like to share the summary with the community: > > The architecture of the implemented deployment process looks good in > general, but the following points should be improved: > * The new implementation of service processor implementation should be > moved to a new class; > * A new system property should be introduced to allow users to switch > to old implementation in case of errors; > * Introduced service deployment failures policy should be removed from > current PR and should be implemented as a different task with detailed > discussion on dev list to avoid unexpected behavior; > * The word "exchange" should be removed from classes names to avoid > confusion with PME classes. > * Single/full messages should include containing only deployment > process-related information only (instead of all service) to reduce > messages size; > > Thanks all! I'll let you know once I fix the notes. > > On Wed, Nov 21, 2018 at 4:28 PM Dmitriy Pavlov <[hidden email]> wrote: > > > > Hi Vyacheslav, Vladimir, > > > > Could you please invite me, if you will set up a call. > > > > ср, 21 нояб. 2018 г. в 13:08, Vladimir Ozerov <[hidden email]>: > > > > > Hi Vyacheslav, > > > > > > Still not clear enough for me. I do not see a reason to send another over a > > > ring in case of successful execution. The only reason is an error on a node > > > which require correction (re-deploy to other node, full service undeploy, > > > etc). > > > I think it makes sense to organize another call to discuss current > > > architecture. Otherwise we may spend too much time on emails. > > > > > > Vladimir. > > > > > > On Wed, Nov 21, 2018 at 12:57 PM Vyacheslav Daradur <[hidden email]> > > > wrote: > > > > > > > The full map is needed: > > > > 1) to propagate deployment results which could be different from > > > > locally calculated in case of any errors; > > > > 2) to transfer deployment errors across the cluster; > > > > 3) to undeploy exceeded the number of service instances if needed; > > > > 4) to get know other nodes that deployment process was finished, this > > > > need to avoid calling services which have not been deployed yet (or > > > > can't be deployed). We can't just store pending requests because of > > > > time to deploy one service instances which may be significant. > > > > On Wed, Nov 21, 2018 at 12:45 PM Vladimir Ozerov <[hidden email]> > > > > wrote: > > > > > > > > > > Vyacheslav, > > > > > > > > > > I looked at the document and failed to find explanation why full maps > > > are > > > > > needed. Could you point me to a place where it is explained? > > > > > I ask this because my impression from last discussion was that it is > > > > never > > > > > needed. Service status change is initiated by user action, then all > > > nodes > > > > > perform respective action locally, then they reply to coordinator, then > > > > > coordinator reply to the client, no need a kind of "full" map over > > > > > discovery again. The only situation when another message over ring is > > > > > required, is when some node failed to execute local operation (for > > > > whatever > > > > > reason) and corrective action is required. > > > > > > > > > > Am I missing something? > > > > > > > > > > On Wed, Nov 21, 2018 at 11:50 AM Vyacheslav Daradur < > > > [hidden email] > > > > > > > > > > wrote: > > > > > > > > > > > Denis, I suggested new names above in the thread. > > > > > > > > > > > > Please, look at PME document [1] is should be quiet actual to show > > > the > > > > > > same flow. > > > > > > > > > > > > [1] > > > > > > > > > > > > > https://cwiki.apache.org/confluence/display/IGNITE/%28Partition+Map%29+Exchange+-+under+the+hood > > > > > > > > > > > > On Wed, Nov 21, 2018 at 11:43 AM Denis Mekhanikov < > > > > [hidden email]> > > > > > > wrote: > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > Actually, the service assignment is implemented in a way, > > > > > > > that allows every node calculate the assignment itself, so no > > > > information > > > > > > > needs to be shared. > > > > > > > The only data, that is sent between nodes is deployment results, > > > > > > > and I don't see an analogy with exchange here. > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > ср, 21 нояб. 2018 г. в 11:16, Vladimir Ozerov < > > > [hidden email] > > > > >: > > > > > > > > > > > > > > > Hi Vyacheslav, > > > > > > > > > > > > > > > > Could you please explain in what situation coordinator needs to > > > > collect > > > > > > > > service deployments info from all nodes and share it with the > > > > cluster? > > > > > > I > > > > > > > > cannot remember from our design discussion when it is needed. > > > > Global > > > > > > state > > > > > > > > normally shared through discovery and only on node join, In this > > > > case > > > > > > we > > > > > > > > use "DiscoveryDataBags", not separate messages. > > > > > > > > > > > > > > > > On Wed, Nov 21, 2018 at 11:11 AM Vyacheslav Daradur < > > > > > > [hidden email]> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > I think request-response is not suitable terms. > > > > > > > > > > > > > > > > > > Nodes send to coordinator maps of actual service deployments > > > > which > > > > > > > > > contains what count of instances of each service node hosts > > > > locally. > > > > > > > > > > > > > > > > > > Coordinator sends to the cluster the full map of deployments > > > > across > > > > > > the > > > > > > > > > cluster. > > > > > > > > > > > > > > > > > > On Wed, Nov 21, 2018 at 11:04 AM Vladimir Ozerov < > > > > > > [hidden email]> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > I do not know what is correct term :-) What I said is that > > > > > > "exchange" > > > > > > > > is > > > > > > > > > > counter intuitive here. There is no "exchange", instead nodes > > > > send > > > > > > > > > > information to coordinator that they finished some operation. > > > > E.g. > > > > > > we > > > > > > > > do > > > > > > > > > > the same for schema changes (index creation), and as Denis > > > > > > suggested, > > > > > > > > > > Request-Response is correct suffixes here. Message name > > > should > > > > > > explain > > > > > > > > > what > > > > > > > > > > really happened, instead of describing things which are > > > > somewhat > > > > > > > > similar > > > > > > > > > in > > > > > > > > > > internal flow. > > > > > > > > > > > > > > > > > > > > On Wed, Nov 21, 2018 at 10:49 AM Nikolay Izhikov < > > > > > > [hidden email]> > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > > > > > What is correct term? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 21 нояб. 2018 г., 10:29 Vladimir Ozerov > > > > [hidden email] > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > Agree. Service deployment has nothing to do with PME. We > > > > > > should not > > > > > > > > > use > > > > > > > > > > > the > > > > > > > > > > > > same term for different things. > > > > > > > > > > > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 17:19, Denis Mekhanikov < > > > > > > > > > [hidden email]>: > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > I'm in process of reviewing your changes. Sorry for > > > > taking so > > > > > > > > long. > > > > > > > > > > > > > I posted the first portion of review comments > > > yesterday. > > > > > > > > > > > > > I'd like to finish looking through the code. I'll post > > > > more > > > > > > > > > comments > > > > > > > > > > > > later. > > > > > > > > > > > > > > > > > > > > > > > > > > I see, that you called things analogously to partition > > > > map > > > > > > > > > exchange. > > > > > > > > > > > > > I realize, that there is an analogy in used procedures, > > > > but I > > > > > > > > don't > > > > > > > > > > > > really > > > > > > > > > > > > > like the idea to use the same names for everything. > > > > > > > > > > > > > The partition map exchange is called this way because > > > it > > > > > > involves > > > > > > > > > an > > > > > > > > > > > > actual > > > > > > > > > > > > > exchange of information. > > > > > > > > > > > > > All nodes need to tell each other, which partitions > > > they > > > > > > have, > > > > > > > > and > > > > > > > > > what > > > > > > > > > > > > > their states are. > > > > > > > > > > > > > > > > > > > > > > > > > > There is no exchange in case of service deployment, so > > > I > > > > > > would > > > > > > > > > skip the > > > > > > > > > > > > > "exchange" part. > > > > > > > > > > > > > And *single message ->* *full message* look more like > > > > > > *request -> > > > > > > > > > > > > response* > > > > > > > > > > > > > in case of services. > > > > > > > > > > > > > > > > > > > > > > > > > > Suppose we abandon the PME procedure and move to > > > > something > > > > > > else. > > > > > > > > > > > > > Then *ServiceDeploymentExchange* name won't make sense. > > > > > > > > > > > > > And I don't want to be in a situation, when I say to my > > > > > > > > colleague a > > > > > > > > > > > word > > > > > > > > > > > > > "exchange", > > > > > > > > > > > > > and get "which one?" in return. > > > > > > > > > > > > > So, I'm for the meaningful names rather than analogous > > > to > > > > > > > > something > > > > > > > > > > > else. > > > > > > > > > > > > > > > > > > > > > > > > > > What do you think? > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > вт, 20 нояб. 2018 г. в 12:09, Vyacheslav Daradur < > > > > > > > > > [hidden email] > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis, Yakov have you had a chance to review the > > > > solution? > > > > > > > > > > > > > > > > > > > > > > > > > > > > Igniters, we need to define a list of reviewers, > > > > otherwise > > > > > > no > > > > > > > > > end in > > > > > > > > > > > > > sign. > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm ready to continue work on the Service Grid, > > > > including > > > > > > new > > > > > > > > > > > features > > > > > > > > > > > > > > like hot-redeployment and versioning, also, I have > > > > ideas > > > > > > about > > > > > > > > > new > > > > > > > > > > > > > > tools for monitoring and management which will be > > > > useful > > > > > > for > > > > > > > > our > > > > > > > > > > > > > > end-users. > > > > > > > > > > > > > > > > > > > > > > > > > > > > But for continuing work we need to overcome this > > > first > > > > > > phase. > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Nov 13, 2018 at 1:09 PM Vyacheslav Daradur < > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis, Yakov, feel free to contact me directly in > > > > case of > > > > > > > > > > > questions. > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sun, Nov 11, 2018 at 10:09 PM Denis Mekhanikov < > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Guys, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to take a look at the changes before > > > they > > > > are > > > > > > > > > merged. > > > > > > > > > > > > > > > > I'll do my best to finish the review before the > > > > end of > > > > > > the > > > > > > > > > > > upcoming > > > > > > > > > > > > > > week. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 14:25, Nikolay Izhikov < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Vladimir. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm agree with you. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Can we write the list of reviewers for this > > > > feature? > > > > > > > > > > > > > > > > > Without a date or similar. > > > > > > > > > > > > > > > > > Just a list of experts who should review this > > > > > > feature. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > В Сб, 10/11/2018 в 14:01 +0300, Vladimir Ozerov > > > > > > пишет: > > > > > > > > > > > > > > > > > > Igniters, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is very huge thing with complex > > > algorithms > > > > > > behind. > > > > > > > > > We > > > > > > > > > > > > should > > > > > > > > > > > > > > not > > > > > > > > > > > > > > > > > merge > > > > > > > > > > > > > > > > > > it to the product unless several additional > > > > > > thorough > > > > > > > > > reviews > > > > > > > > > > > > are > > > > > > > > > > > > > > ready, > > > > > > > > > > > > > > > > > > irrespectively of how long will it take. We > > > are > > > > > > about > > > > > > > > > > > quality, > > > > > > > > > > > > > not > > > > > > > > > > > > > > speed. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > сб, 10 нояб. 2018 г. в 1:30, Denis Magda < > > > > > > > > > [hidden email] > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What are the cases when the service can be > > > > > > > > redeployed? > > > > > > > > > > > > > Affinity, > > > > > > > > > > > > > > > > > failure, > > > > > > > > > > > > > > > > > > > etc., right. It would be good to list all > > > the > > > > > > cases > > > > > > > > on > > > > > > > > > the > > > > > > > > > > > > wiki > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > then > > > > > > > > > > > > > > > > > > > our tech writers will get everything > > > > documented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Nov 8, 2018 at 11:06 PM Vyacheslav > > > > > > Daradur < > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Services reassignment process takes into > > > > > > account > > > > > > > > > previous > > > > > > > > > > > > > > assignments > > > > > > > > > > > > > > > > > > > > to avoid redundant redeployments. > > > > > > > > > > > > > > > > > > > > So, in the described case, ServiceA won't > > > > be > > > > > > moved > > > > > > > > > from > > > > > > > > > > > > node1 > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > node2. > > > > > > > > > > > > > > > > > > > > On Fri, Nov 9, 2018 at 4:41 AM Denis > > > Magda > > > > < > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Vyacheslav, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > First of all, thanks for archiving this > > > > > > milestone > > > > > > > > > and > > > > > > > > > > > > > > rolling out > > > > > > > > > > > > > > > > > these > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > > > > > > > > > > > capabilities. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Speaking of the topology change events > > > > [1], > > > > > > does > > > > > > > > > the > > > > > > > > > > > new > > > > > > > > > > > > > > > > > architecture > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > avoid > > > > > > > > > > > > > > > > > > > > > a running service redeployment when a > > > new > > > > > > node > > > > > > > > > joins? > > > > > > > > > > > For > > > > > > > > > > > > > > instance, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > let's > > > > > > > > > > > > > > > > > > > > > say I have ServiceA running node1, then > > > > node2 > > > > > > > > joins > > > > > > > > > > > and I > > > > > > > > > > > > > > don't > > > > > > > > > > > > > > > > > want > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > service to be redeployed to any other > > > > node. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584#ServiceGridredesign.Phase1.Implementationdetails.-Topologychange > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 7:04 AM > > > Vyacheslav > > > > > > > > Daradur < > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitriy, I published documentation in > > > > wiki: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=95654584 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you! > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 7, 2018 at 5:10 PM > > > Dmitriy > > > > > > Pavlov < > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi I think wiki is better than any > > > > > > attached > > > > > > > > > docs. > > > > > > > > > > > > Could > > > > > > > > > > > > > > you > > > > > > > > > > > > > > > > > please > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > create a > > > > > > > > > > > > > > > > > > > > > > > page? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ср, 7 нояб. 2018 г., 14:39 > > > Vyacheslav > > > > > > > > Daradur < > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I prepared a description of the > > > > > > implemented > > > > > > > > > > > > solution > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > attached > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > > > > > > > > to the issue [1]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This should help during a review. > > > > > > Should I > > > > > > > > > post > > > > > > > > > > > the > > > > > > > > > > > > > > document > > > > > > > > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wiki > > > > > > > > > > > > > > > > > > > > > > or > > > > > > > > > > > > > > > > > > > > > > > > IEP? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to ask Ignite's experts > > > > > > review the > > > > > > > > > > > > solution > > > > > > > > > > > > > > [1] [2], > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > please? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > > > > > > [2] > > > > > > > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Oct 31, 2018 at 5:04 PM > > > > > > Vyacheslav > > > > > > > > > > > Daradur > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Igniters! Good news! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Service Grid Redesign Phase 1 - > > > > is in > > > > > > > > Patch > > > > > > > > > > > > > > Available now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Nikolay Izhikov has reviewed > > > > > > > > > implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However, we need additional > > > > review > > > > > > from > > > > > > > > > other > > > > > > > > > > > > > Ignite > > > > > > > > > > > > > > > > > experts. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is an umbrella ticket [1] > > > > and PR > > > > > > > > [2]. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could someone step in and do > > > the > > > > > > review? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [1] > > > > > > > > > > > > > > https://issues.apache.org/jira/browse/IGNITE-9607 > > > > > > > > > > > > > > > > > > > > > > > > > [2] > > > > > > > > > https://github.com/apache/ignite/pull/4434 > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018 at 11:44 > > > AM > > > > > > Denis > > > > > > > > > > > > Mekhanikov < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pavel, could you assist? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Does it make sense for .Net > > > to > > > > > > specify > > > > > > > > > > > service > > > > > > > > > > > > > > class name > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > > > > > > its > > > > > > > > > > > > > > > > > > > > > > > > > > implementation? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think, it shouldn't be a > > > > problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Denis > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Aug 18, 2018, 11:33 > > > > > > Vyacheslav > > > > > > > > > > > Daradur > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think that the > > > replacement > > > > of > > > > > > > > > serialized > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > makes > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sense > > > > > > > > > > > > > > > > > > > > > > to me > > > > > > > > > > > > > > > > > > > > > > > > > > > for Java part. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But how it should work for > > > > .NET > > > > > > > > client? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at > > > 4:07 > > > > PM > > > > > > > > Dmitriy > > > > > > > > > > > > > > Setrakyan < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 14, 2018 at > > > > 6:10 > > > > > > AM, > > > > > > > > > Nikita > > > > > > > > > > > > > > Amelchev < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hello, Igniters. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am working on task > > > [1] > > > > that > > > > > > > > would > > > > > > > > > > > > replace > > > > > > > > > > > > > > > > > serialized > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > service's > > > > > > > > > > > > > > > > > > > > > > > > > > > instance > > > > > > > > > > > > > > > > > > > > > > > > > > > > > by service's class name > > > > and > > > > > > > > > properties > > > > > > > > > > > > map > > > > > > > > > > > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > {ServiceConfiguration}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The task describes that > > > > we > > > > > > should > > > > > > > > > use > > > > > > > > > > > > > > > > > > > > > > > > > > > > > {String className} + > > > > > > {Map<String, > > > > > > > > > > > Object> > > > > > > > > > > > > > > > > > properties} > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instead > > > > > > > > > > > > > > > > > > > > > > > > {Service > > > > > > > > > > > > > > > > > > > > > > > > > > > > > srvc}. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'd like to clarify the > > > > > > following > > > > > > > > > > > > > questions: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1. What about public > > > > methods? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I suggest to mark them > > > as > > > > > > > > > deprecated > > > > > > > > > > > and > > > > > > > > > > > > > use > > > > > > > > > > > > > > class > > > > > > > > > > > > > > > > > name > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > > > > > > provided > > > > > > > > > > > > > > > > > > > > > > > > > > > > > instance. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Also to add deploying > > > > methods > > > > > > > > with > > > > > > > > > new > > > > > > > > > > > > > > parameters: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @Deprecated > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > > > > name, Service svc) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > > > > name, String > > > srvcClsName, > > > > > > > > > Map<String, > > > > > > > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think this makes sense, > > > > but I > > > > > > > > would > > > > > > > > > > > like > > > > > > > > > > > > > > other > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > committers to > > > > > > > > > > > > > > > > > > > > > > > > confirm. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Perhaps Vladimir Ozerov > > > > should > > > > > > > > > comment > > > > > > > > > > > > here. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2. Is {Map<String, > > > > Object> > > > > > > > > > properties} > > > > > > > > > > > > > > parameter > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > mandatory > > > > > > > > > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > > > > > > > > > > deploying a > > > > > > > > > > > > > > > > > > > > > > > > > > > > > service? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Is it make sense to add > > > > > > deploying > > > > > > > > > > > methods > > > > > > > > > > > > > > without > > > > > > > > > > > > > > > > > it? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > For > > > > > > > > > > > > > > > > > > > > > > > > example: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > > > > name, String > > > srvcClsName) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > public > > > > > > IgniteInternalFuture<?> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > deployNodeSingleton(ClusterGroup > > > > > > > > > > > > > > > > > > > > > > > > prj, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > String > > > > > > > > > > > > > > > > > > > > > > > > > > > > > name, String > > > srvcClsName, > > > > > > > > > Map<String, > > > > > > > > > > > > > > Object> prop) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I would always ask the > > > > user to > > > > > > pass > > > > > > > > > the > > > > > > > > > > > > > > property > > > > > > > > > > > > > > > > > map, but > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > would > > > > > > > > > > > > > > > > > > > > > > > > allow it > > > > > > > > > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > > > > > > > > be null. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > > > > > > > > > > > > -- > > > > Best Regards, Vyacheslav D. > > > > > > > > > > > -- > Best Regards, Vyacheslav D. -- Best Regards, Vyacheslav D. |
Hi, Vyacheslav!
I'm thinking about to use Services API to implement Web Agent as a cluster singleton service. It will improve Web Console UX, because it will not needed to start separate java program. Just start cluster with Web agent enabled on cluster configuration. But in order to do this, I need that services should: 1) Work when cluster NOT ACTIVE. 2) Auto restart with cluster (when cluster was restarted). Could we support mentioned features on "Service Grid redesign - phase 2" ? Please let me know. -- Alexey Kuznetsov |
Alexey,
I don't see any problem in letting services work on a deactivated cluster. All services need is discovery messages and compute tasks. Both of these features are available at all times. But it should be configurable. Services may need caches for their work, so it's better to undeploy such services on cluster deactivation. We may introduce a new property in ServiceConfiguration. I think, this topic deserves a separate discussion. Could you start another thread? Denis чт, 6 дек. 2018 г. в 13:27, Alexey Kuznetsov <[hidden email]>: > Hi, Vyacheslav! > > I'm thinking about to use Services API to implement Web Agent as a cluster > singleton service. > It will improve Web Console UX, because it will not needed to start > separate java program. > Just start cluster with Web agent enabled on cluster configuration. > > But in order to do this, I need that services should: > 1) Work when cluster NOT ACTIVE. > 2) Auto restart with cluster (when cluster was restarted). > > Could we support mentioned features on "Service Grid redesign - phase 2" ? > > Please let me know. > > -- > Alexey Kuznetsov > |
Guys,
I've been looking through the PR by Vyacheslav for past few weeks. Slava, great job! You've done an impressive amount of work. I posted my comments to the PR and had a few calls with Slava. I am close to finishing my review. There are some points, that I'd like to settle in this discussion to avoid controversy. *1. Testing of the cache-based implementation of the service grid.* I think, we should make a test suite, that will test the old implementation until we remove it from the project. *2. DynamicServiceChangeRequest.* I think, this class should be splat into two. I don't see any point in having a single class with "*flags"* field, that shows, what action it actually represents. Usage of *deploy(), markDeploy(...), undeploy(), markUndeploy(...)* looks wrong. Why not have a separate message type for each action instead? *3. Naming.* I suggest renaming the following classes: *ServicesDeploymentManager*, *ServicesDeploymentTask *and all other classes with Services word in them. I think, they would look better if we use a singular word *Service *instead. Same for *Deployments*. I propose the following class names: *ServicesDeploymentManager -> ServiceDeploymentManager* *ServicesDeploymentActions -> ServiceDeploymentActions* *ServicesDeploymentTask -> ServiceDeploymentTask* *ServicesCommonDiscoveryData -> ServiceCommonDiscoveryData* *ServicesJoinNodeDiscoveryData -> ServiceJoiningNodeDiscoveryData* *DynamicServicesChangeRequestBatchMessage -> DynamicServiceChangeRequest* *ServicesSingleDeploymentsMessage -> ServiceDeploymentResponse* *ServicesFullDeploymentsMessage -> ServiceDeploymentFinishMessage* *ServiceSingleDeploymentsResults -> ServiceSingleDeploymentResult* *ServiceFullDeploymentsResults -> ServiceFullDeploymentResult* Let's do this as the final step of the code review to avoid repeated renaming. Denis чт, 6 дек. 2018 г. в 15:21, Denis Mekhanikov <[hidden email]>: > Alexey, > > I don't see any problem in letting services work on a deactivated cluster. > All services need is discovery messages and compute tasks. > Both of these features are available at all times. > > But it should be configurable. Services may need caches for their work, > so it's better to undeploy such services on cluster deactivation. > We may introduce a new property in ServiceConfiguration. > > I think, this topic deserves a separate discussion. > Could you start another thread? > > Denis > > чт, 6 дек. 2018 г. в 13:27, Alexey Kuznetsov <[hidden email]>: > >> Hi, Vyacheslav! >> >> I'm thinking about to use Services API to implement Web Agent as a cluster >> singleton service. >> It will improve Web Console UX, because it will not needed to start >> separate java program. >> Just start cluster with Web agent enabled on cluster configuration. >> >> But in order to do this, I need that services should: >> 1) Work when cluster NOT ACTIVE. >> 2) Auto restart with cluster (when cluster was restarted). >> >> Could we support mentioned features on "Service Grid redesign - phase 2" ? >> >> Please let me know. >> >> -- >> Alexey Kuznetsov >> > |
Hello, Denis.
Great news. > *1. Testing of the cache-based implementation of the service grid.* > I think, we should make a test suite, that will test the old implementation> until we> remove it from the project. Aggree. Let's do it. > *2. DynamicServiceChangeRequest.* > I think, this class should be splat into two. Agree. Lets's do it. > *ServicesDeploymentManager*, *ServicesDeploymentTask *and all other classes> with Services word in them. > I think, they would look better if we use a singular word *Service *instead. > Same for *Deployments*. Personally, I want that names as clearly as possible reflects class content for reader. If we deploy *several* services then it has to be Service*S*. Same for deployment - if this message will initiate single deployment process then it should use deployment. otherwise - deployments. So my opinion - it's better to keep current naming. В Чт, 13/12/2018 в 19:36 +0300, Denis Mekhanikov пишет: > Guys, > > I've been looking through the PR by Vyacheslav for past few weeks. > Slava, great job! You've done an impressive amount of work. > > I posted my comments to the PR and had a few calls with Slava. > I am close to finishing my review. > There are some points, that I'd like to settle in this discussion to avoid > controversy. > > *1. Testing of the cache-based implementation of the service grid.* > I think, we should make a test suite, that will test the old implementation > until we > remove it from the project. > > *2. DynamicServiceChangeRequest.* > I think, this class should be splat into two. > I don't see any point in having a single class with "*flags"* field, that > shows, what action it actually represents. > Usage of *deploy(), markDeploy(...), undeploy(), markUndeploy(...)* looks > wrong. > Why not have a separate message type for each action instead? > > *3. Naming.* > I suggest renaming the following classes: > *ServicesDeploymentManager*, *ServicesDeploymentTask *and all other classes > with Services word in them. > I think, they would look better if we use a singular word *Service *instead. > Same for *Deployments*. > I propose the following class names: > > *ServicesDeploymentManager -> ServiceDeploymentManager* > *ServicesDeploymentActions -> ServiceDeploymentActions* > *ServicesDeploymentTask -> ServiceDeploymentTask* > *ServicesCommonDiscoveryData -> ServiceCommonDiscoveryData* > *ServicesJoinNodeDiscoveryData -> ServiceJoiningNodeDiscoveryData* > > *DynamicServicesChangeRequestBatchMessage -> DynamicServiceChangeRequest* > *ServicesSingleDeploymentsMessage -> ServiceDeploymentResponse* > *ServicesFullDeploymentsMessage -> ServiceDeploymentFinishMessage* > > *ServiceSingleDeploymentsResults -> ServiceSingleDeploymentResult* > *ServiceFullDeploymentsResults -> ServiceFullDeploymentResult* > > Let's do this as the final step of the code review to avoid repeated > renaming. > > Denis > > чт, 6 дек. 2018 г. в 15:21, Denis Mekhanikov <[hidden email]>: > > > Alexey, > > > > I don't see any problem in letting services work on a deactivated cluster. > > All services need is discovery messages and compute tasks. > > Both of these features are available at all times. > > > > But it should be configurable. Services may need caches for their work, > > so it's better to undeploy such services on cluster deactivation. > > We may introduce a new property in ServiceConfiguration. > > > > I think, this topic deserves a separate discussion. > > Could you start another thread? > > > > Denis > > > > чт, 6 дек. 2018 г. в 13:27, Alexey Kuznetsov <[hidden email]>: > > > > > Hi, Vyacheslav! > > > > > > I'm thinking about to use Services API to implement Web Agent as a cluster > > > singleton service. > > > It will improve Web Console UX, because it will not needed to start > > > separate java program. > > > Just start cluster with Web agent enabled on cluster configuration. > > > > > > But in order to do this, I need that services should: > > > 1) Work when cluster NOT ACTIVE. > > > 2) Auto restart with cluster (when cluster was restarted). > > > > > > Could we support mentioned features on "Service Grid redesign - phase 2" ? > > > > > > Please let me know. > > > > > > -- > > > Alexey Kuznetsov > > > |
Free forum by Nabble | Edit this page |