On Mon, Oct 6, 2014 at 11:17 PM, Rajkumar Rajaratnam <rajkum...@wso2.com> wrote:
> Hi > > On Mon, Oct 6, 2014 at 11:13 PM, Isuru Haththotuwa <isu...@apache.org> > wrote: > >> >> >> On Mon, Oct 6, 2014 at 10:52 PM, Rajkumar Rajaratnam <rajkum...@wso2.com> >> wrote: >> >>> Hi, >>> >>> When we are using ScheduledExecutorService, thread pool size is fixed. >>> There are only 2 factory methods to create ScheduledThreadPools, one with >>> single thread and one with fixed number of threads. >>> >>> In our scenario, we can't predict the number clusters in advance. We >>> have two options. >>> >>> 1. We can create ScheduledThreadPool with fixed number of threads. If >>> there are less number of tasks, it works fine. If there are many tasks and >>> each tasks takes time, then tasks will be queued. It means that we are not >>> monitoring the cluster on time! >>> >>> 2. We can create ScheduledThreadPool with one thread, per cluster. If >>> there are 10 cluster, there will be 10 ScheduledThreadPool, each with one >>> thread. This way, we ensure that we are monitoring the cluster on time and >>> there are no idle threads. Because when the cluster is removed, we shutdown >>> the scheduler also. >>> >>> IMO, it is crucial to monitor the cluster on time, than reusing threads? >>> >> Isn't it possible to keep a dynamically growing Thread Pool? See [1]. >> > > Hmm... We are using ScheduledExecutorService. Because we are scheduling > tasks. AFAIK, We can't use cached thread pools to create > ScheduledExecutorService. > I see. Yes, there seem there is no scheduled cached thread pool in the Java Executors class. In this case, option #2 would be better IMHO. > >> [1]. >> http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executors.html#newCachedThreadPool(java.util.concurrent.ThreadFactory) >> >>> >>> wdyt? >>> >>> Thanks >>> >>> On Sun, Oct 5, 2014 at 7:56 PM, Isuru Haththotuwa <isu...@apache.org> >>> wrote: >>> >>>> >>>> >>>> On Sun, Oct 5, 2014 at 11:50 AM, Rajkumar Rajaratnam < >>>> rajkum...@wso2.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> I have done the changes as in the previous mail. >>>>> >>>>> I am proposing one more changes to cluster monitors. >>>>> >>>>> Shall we use java executor services instead of thread sleep? >>>>> >>>> +1 >>>> >>>>> >>>>> For example, we are sleeping the thread in cluster monitors to monitor >>>>> the cluster periodically. >>>>> >>>>> Instead, if we use ScheduledExecutorService, the logic would be more >>>>> cleaner, readable, understandable and maintainable. >>>>> >>>>> wdyt? >>>>> >>>>> Thanks. >>>>> >>>>> On Thu, Oct 2, 2014 at 8:59 PM, Rajkumar Rajaratnam < >>>>> rajkum...@wso2.com> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> As discussed in the hangout, in AutoscalerHealthStatEventReceiver[1] >>>>>> we are checking the cluster types, and doing things accordingly like >>>>>> below. >>>>>> >>>>>> if(monitor.getClusterType() == >>>>>> ClusterType.VMServiceCluster >>>>>> || monitor.getClusterType() == >>>>>> ClusterType.VMLbCluster) { >>>>>> //do stuff >>>>>> } else if(monitor.getClusterType() == >>>>>> ClusterType.KubernetesServiceCluster) { >>>>>> //do stuff >>>>>> } >>>>>> >>>>>> IMO, better we introduce abstract methods, handleEventX(), >>>>>> in AbstractClusterMonitor per events. >>>>>> >>>>>> For example, >>>>>> >>>>>> handleAverageLoadAverageEvent(AverageLoadAverageEvent >>>>>> avgLoadAverageEvent); >>>>>> >>>>>> Then we can handle this event accordingly by overriding this method >>>>>> in relevant concrete monitors. >>>>>> >>>>>> It will eliminate all if/else checking in the autoscaler event >>>>>> receiver. Also we simply delegate the event to the relevant cluster >>>>>> monitor >>>>>> so that they can do what ever they want to do with the event, rather than >>>>>> doing stuffs at events receivers. >>>>>> >>>>>> wdyt? >>>>>> >>>>>> 1. >>>>>> https://github.com/apache/stratos/blob/master/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/health/AutoscalerHealthStatEventReceiver.java >>>>>> >>>>>> Thanks >>>>>> >>>>>> On Tue, Sep 23, 2014 at 11:43 PM, Rajkumar Rajaratnam < >>>>>> rajkum...@wso2.com> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> *Review notes* >>>>>>> >>>>>>> - use the word kubernetes instead of docker when naming classes >>>>>>> - arguments should be less than or equal to 4 (we need to add it >>>>>>> to coding practices!?) >>>>>>> - add licence header >>>>>>> - map variables names should have a clue about the map (say, >>>>>>> clusterIdToClusterMonitorMap) >>>>>>> - some classes and methods missing comments >>>>>>> - use complete topology event only once >>>>>>> - use event names for variables instead of using 'e' (say, >>>>>>> ClusterCreatedEvent) >>>>>>> - find abstraction in the things we do upon receiving health >>>>>>> stats events (set load avg value), to eliminate if/else >>>>>>> >>>>>>> Find the hangout video at [1] >>>>>>> >>>>>>> 1. https://www.youtube.com/watch?v=X0Jh_JCL7ZI >>>>>>> >>>>>>> Thanks. >>>>>>> >>>>>>> On Tue, Sep 23, 2014 at 7:27 PM, Chamila De Alwis <chami...@wso2.com >>>>>>> > wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> Please find the hangout at >>>>>>>> https://plus.google.com/hangouts/_/hoaevent/AP36tYfCemYdNWEw38lnSZqhRCIA8rqA-FTHXaP0zw9juKeBvPIxiQ?authuser=0&hl=en >>>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>> Chamila de Alwis >>>>>>>> Software Engineer | WSO2 | +94772207163 >>>>>>>> Blog: code.chamiladealwis.com >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Sep 23, 2014 at 11:15 AM, Rajkumar Rajaratnam < >>>>>>>> rajkum...@wso2.com> wrote: >>>>>>>> >>>>>>>>> Hi Imesh, >>>>>>>>> >>>>>>>>> You can find more information on the mail thread "Stratos Cluster >>>>>>>>> Monitoring" >>>>>>>>> >>>>>>>>> Thanks. >>>>>>>>> >>>>>>>>> On Tue, Sep 23, 2014 at 10:38 AM, Imesh Gunaratne < >>>>>>>>> im...@apache.org> wrote: >>>>>>>>> >>>>>>>>>> Hi Rajkumar, >>>>>>>>>> >>>>>>>>>> Can you please point me to a mail thread/wiki page where we have >>>>>>>>>> more information on this improvement? >>>>>>>>>> >>>>>>>>>> Thanks >>>>>>>>>> >>>>>>>>>> On Mon, Sep 22, 2014 at 11:00 AM, Lakmal Warusawithana < >>>>>>>>>> lak...@wso2.com> wrote: >>>>>>>>>> >>>>>>>>>>> +1 >>>>>>>>>>> >>>>>>>>>>> On Mon, Sep 22, 2014 at 4:51 PM, Rajkumar Rajaratnam < >>>>>>>>>>> rajkum...@wso2.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi all, >>>>>>>>>>>> >>>>>>>>>>>> Can we have $Subject tomorrow (Tue, September 23) at 7:30 PM >>>>>>>>>>>> GMT+5:30 ? >>>>>>>>>>>> >>>>>>>>>>>> We will be reviewing about the changes done to existing cluster >>>>>>>>>>>> monitor hierarchy to allow any 'entity' cluster monitors to be >>>>>>>>>>>> plugged in >>>>>>>>>>>> and the initial version of docker cluster monitoring. >>>>>>>>>>>> >>>>>>>>>>>> Thanks. >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Rajkumar Rajaratnam >>>>>>>>>>>> Software Engineer | WSO2, Inc. >>>>>>>>>>>> Mobile +94777568639 | +94783498120 >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Lakmal Warusawithana >>>>>>>>>>> Vice President, Apache Stratos >>>>>>>>>>> Director - Cloud Architecture; WSO2 Inc. >>>>>>>>>>> Mobile : +94714289692 >>>>>>>>>>> Blog : http://lakmalsview.blogspot.com/ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Imesh Gunaratne >>>>>>>>>> >>>>>>>>>> Technical Lead, WSO2 >>>>>>>>>> Committer & PMC Member, Apache Stratos >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Rajkumar Rajaratnam >>>>>>>>> Software Engineer | WSO2, Inc. >>>>>>>>> Mobile +94777568639 | +94783498120 >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Rajkumar Rajaratnam >>>>>>> Software Engineer | WSO2, Inc. >>>>>>> Mobile +94777568639 | +94783498120 >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Rajkumar Rajaratnam >>>>>> Software Engineer | WSO2, Inc. >>>>>> Mobile +94777568639 | +94783498120 >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Rajkumar Rajaratnam >>>>> Software Engineer | WSO2, Inc. >>>>> Mobile +94777568639 | +94783498120 >>>>> >>>>> -- >>>>> <%2B94783498120> >>>>> Thanks and Regards, >>>>> >>>>> Isuru H. >>>>> <%2B94783498120> >>>>> +94 716 358 048 <%2B94783498120>* <http://wso2.com/>* >>>>> >>>>> >>>>> * <http://wso2.com/>* >>>>> >>>>> >>>>> >>> >>> >>> -- >>> Rajkumar Rajaratnam >>> Software Engineer | WSO2, Inc. >>> Mobile +94777568639 | +94783498120 >>> >>> -- >>> <%2B94783498120> >>> Thanks and Regards, >>> >>> Isuru H. >>> <%2B94783498120> >>> +94 716 358 048 <%2B94783498120>* <http://wso2.com/>* >>> >>> >>> * <http://wso2.com/>* >>> >>> >>> > > > -- > Rajkumar Rajaratnam > Software Engineer | WSO2, Inc. > Mobile +94777568639 | +94783498120 > > -- > <%2B94783498120> > Thanks and Regards, > > Isuru H. > <%2B94783498120> > +94 716 358 048 <%2B94783498120>* <http://wso2.com/>* > > > * <http://wso2.com/>* > > >