Hi, Tested RoleBased Throttling on a two node APIM cluster after applying new changes. Counts are properly getting replicated across all the nodes.
On Tue, Sep 15, 2015 at 5:05 PM, Amila De Silva <ami...@wso2.com> wrote: > Hi, > > Created the PR[1], by merging latest throttling fixes with > synapse-commons. After doing the changes, was able to successfully build > wso2-synapse and carbon-mediation with unit tests. Ran all the integration > tests in product-esb, after building the product on top of latest synapse > and carbon-mediation changes. > > Please review and merge the PR. > > [1] https://github.com/wso2/wso2-synapse/pull/360 > > On Mon, Sep 14, 2015 at 5:07 PM, Amila De Silva <ami...@wso2.com> wrote: > >> Hi Isuru, >> >> There aren't any changes to be merged on MEPClient and >> SynapseCallbackReceiver. Changes that need merging are done on classes >> residing under [1]. >> >> Let me clarify a bit what these changes are; >> >> While fixing some throttling issues in AM 1.6.0, certain changes were >> done on the part that replicates throttling counters. Earlier these >> counters were replicated using a ClusterMessage, but after the fixes >> counters are replicated using Hazelcast AtomicLongs. The fixes were >> done on org.wso2.carbon.throttle.core_4.2.0, which is maintained in svn >> and after fixes were done, throttle.core needs depending on >> com.hazelcast.wso2 component. >> >> When moving synapse code on to Git, throttle.core has been absorbed into >> synapse, and now it is kept under [1]. Parallel to the changes mentioned >> above, some other fixes have been done on the throttling & synapse (which >> now is on Git) and it's those changes that make synapse depend on throttle >> core. The change is MEPClient and SynapseCallbackReceiver using a reference >> of ConcurrentAccessController (you can find the specific code changes at >> [2]) >> >> >> [1] >> https://github.com/wso2/wso2-synapse/tree/master/modules/commons/src/main/java/org/apache/synapse/commons/throttle >> [2] >> https://github.com/wso2/wso2-synapse/blob/master/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java#L497-L515 >> >> >> >> On Mon, Sep 14, 2015 at 3:54 PM, Isuru Udana <isu...@wso2.com> wrote: >> >>> Hi AmilaD, >>> >>> Can you please point us the changes need to be merged in synapse (in >>> MEPClient and SynapseCallbackReceiver) ? >>> >>> On Mon, Sep 14, 2015 at 2:58 PM, Amila De Silva <ami...@wso2.com> wrote: >>> >>>> Hi All, >>>> >>>> While carrying out this task, came to a point where certain classes >>>> cannot be moved out of synapse. >>>> >>>> For some of the improvements done recently, ConcurrentAccessController >>>> (which is one of the classes that originally resided in throttle core) has >>>> been used from SynapseCallbackReceiver and Axis2FlexibleMEPClient. So now >>>> either ConcurrentAccessController has to reside inside synapse, or else it >>>> has to go into another different component on which synapse would have to >>>> depend on. The whole point of moving throttling related code out of synapse >>>> is to prevent synapse depending on any carbon components. >>>> >>>> Since synapse depending on Hazelcast is not something that can be >>>> eliminated completely, is it fine to keep throttle.core inside synapse and >>>> merge new changes? When merging throttling fixes, either we have to >>>> introduce a service component to synapse, which would >>>> consume hazelcast.instance.service or we have to provide a method to set >>>> the HazelcastInstance that will be used for replicating throttling counts. >>>> >>>> On Fri, Sep 11, 2015 at 9:01 PM, Amila De Silva <ami...@wso2.com> >>>> wrote: >>>> >>>>> Hi Chanaka, >>>>> >>>>> Since throttle core can be used on its own, thought of creating a >>>>> separate feature out of that - so a new place to put throttle component. >>>>> If >>>>> we put it under mediation-throttle, that would imply two components have >>>>> to >>>>> be used together, isn't it? >>>>> >>>>> On Fri, Sep 11, 2015 at 6:45 PM, Chanaka Fernando <chana...@wso2.com> >>>>> wrote: >>>>> >>>>>> Hi Amila, >>>>>> >>>>>> You can find [1] which already has the throttle policy editor related >>>>>> packages and named as mediation-throttle. You can move the throttle-core >>>>>> packages to this component. >>>>>> >>>>>> [1] >>>>>> https://github.com/wso2/carbon-mediation/tree/master/components/mediation-throttle >>>>>> >>>>>> On Fri, Sep 11, 2015 at 6:23 PM, Sanjeewa Malalgoda < >>>>>> sanje...@wso2.com> wrote: >>>>>> >>>>>>> +1. >>>>>>> >>>>>>> >>>>>>> On Fri, Sep 11, 2015 at 5:20 PM, Amila De Silva <ami...@wso2.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Will be moving throttle.core to a new component under >>>>>>>> carbon-mediation. The new component name will be throttle-core and a >>>>>>>> new >>>>>>>> feature with the same name will be created. Planning to do these >>>>>>>> changes on >>>>>>>> carbon-mediation 4.4.11-SNAPSHOT and synapse 2.1.3-wso2v12-SNAPSHOT. >>>>>>>> >>>>>>>> On Mon, Sep 7, 2015 at 6:25 PM, Amila De Silva <ami...@wso2.com> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi All, >>>>>>>>> >>>>>>>>> One of the changes done while moving to Git was, moving source >>>>>>>>> code which was under org.wso2.carbon.throttle.core to wso2-synapse. >>>>>>>>> Throttle core is used by both ESB (in Throttle mediator) and by API >>>>>>>>> Manager >>>>>>>>> (in APIThrottleHandler - to keep track of the number of API calls >>>>>>>>> made over >>>>>>>>> the cluster). At the time throttle core was moved, it was depending on >>>>>>>>> Axis2 only, making it possible to move the source code to >>>>>>>>> wso2-synapse - >>>>>>>>> which is not depending on any carbon components. >>>>>>>>> >>>>>>>>> While doing several improvements on throttling, Hazelcast >>>>>>>>> AtomicLongs were used for keeping cluster-wide counts, which now >>>>>>>>> creates a >>>>>>>>> coupling between Hazelcast and Throttle Core. If these changes are to >>>>>>>>> be >>>>>>>>> merged with synapse, we would have to add a dependency to Hazelcast. >>>>>>>>> >>>>>>>>> The other option is to move Throttle Core into carbon-mediation. >>>>>>>>> Since this already depends on several carbon components adding >>>>>>>>> Hazelcast as >>>>>>>>> a dependancy won't be an issue. >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Amila De Silva* >>>>>>>>> >>>>>>>>> WSO2 Inc. >>>>>>>>> mobile :(+94) 775119302 >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Amila De Silva* >>>>>>>> >>>>>>>> WSO2 Inc. >>>>>>>> mobile :(+94) 775119302 >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> *Sanjeewa Malalgoda* >>>>>>> WSO2 Inc. >>>>>>> Mobile : +94713068779 >>>>>>> >>>>>>> <http://sanjeewamalalgoda.blogspot.com/>blog >>>>>>> :http://sanjeewamalalgoda.blogspot.com/ >>>>>>> <http://sanjeewamalalgoda.blogspot.com/> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> -- >>>>>> Chanaka Fernando >>>>>> Senior Technical Lead >>>>>> WSO2, Inc.; http://wso2.com >>>>>> lean.enterprise.middleware >>>>>> >>>>>> mobile: +94 773337238 >>>>>> Blog : http://soatutorials.blogspot.com >>>>>> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0 >>>>>> Twitter:https://twitter.com/chanakaudaya >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Amila De Silva* >>>>> >>>>> WSO2 Inc. >>>>> mobile :(+94) 775119302 >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Amila De Silva* >>>> >>>> WSO2 Inc. >>>> mobile :(+94) 775119302 >>>> >>>> >>>> _______________________________________________ >>>> Dev mailing list >>>> Dev@wso2.org >>>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>>> >>>> >>> >>> >>> -- >>> *Isuru Udana* >>> Associate Technical Lead >>> WSO2 Inc.; http://wso2.com >>> email: isu...@wso2.com cell: +94 77 3791887 >>> blog: http://mytecheye.blogspot.com/ >>> >> >> >> >> -- >> *Amila De Silva* >> >> WSO2 Inc. >> mobile :(+94) 775119302 >> >> > > > -- > *Amila De Silva* > > WSO2 Inc. > mobile :(+94) 775119302 > > -- *Amila De Silva* WSO2 Inc. mobile :(+94) 775119302
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev