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

Reply via email to