Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-29 Thread Amila De Silva
Fixed the issue and create a new PR [2].

The problem was, canAccess method in CallerContext has been incrementing
both global and local counts. Due to this, a single request gets counted
twice, and throttling quota gets depleted before reaching the maximum
number of allowed requests.

After fixing the issue, re-ran the integration tests and this
time Throttling related failures couldn't be seen but there were three test
failures. After doing a second run, got two of them passing, but still
there's one failure (which is pasted below) that occurs even on a vanilla
pack. (Results for the two runs can be found at [3] & [4]) .

Test class:
org.wso2.carbon.esb.endpoint.test.ESBJAVA3047Soap12EndpointTestCase
Test method: Sending a Message to a Soap12 endpoint and checks weather
'action' is present in Content-Type header
java.lang.AssertionError: Unable to find the action in Content-type head
for SOAP 1.2 message: header returned [ null] expected: but
was:
at org.testng.Assert.fail(Assert.java:89)
at org.testng.Assert.failNotEquals(Assert.java:489)
at org.testng.Assert.assertTrue(Assert.java:37)
at
org.wso2.carbon.esb.endpoint.test.ESBJAVA3047Soap12EndpointTestCase.testSoap12EndpointForAction(ESBJAVA3047Soap12EndpointTestCase.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:673)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:842)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1166)
at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.runWorkers(TestRunner.java:1178)
at org.testng.TestRunner.privateRun(TestRunner.java:757)
at org.testng.TestRunner.run(TestRunner.java:608)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1158)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1083)
at org.testng.TestNG.run(TestNG.java:999)
at
org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:178)
at
org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:92)
at
org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
at
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
at
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

Is it safe to ignore this failure?

[2] https://github.com/wso2/wso2-synapse/pull/369
[3]
https://drive.google.com/a/wso2.com/file/d/0BxlcfaVDH9iFNkMwSHlpbGwxSlE/view?usp=sharing
[4]
https://drive.google.com/a/wso2.com/file/d/0BxlcfaVDH9iFa2RtQUJaUTB5RlU/view?usp=sharing
On Saturday, September 26, 2015, Amila De Silva  wrote:

> Hi Chanaka,
> Will check this.
>
>
> On Saturday, September 26, 2015, Chanaka Fernando 
> wrote:
>
>> Hi AmilaD,
>>
>> After merging this change, we have seen that there are 3 integration test
>> failures in product-esb[1] . Please check these failures and resend the PR.
>> I'll revert the fix for the moment.
>>
>> [1] https://wso2.org/jenkins/job/product-esb/lastBuild/testReport/
>>
>> On Fri, Sep 25, 2015 at 3:13 PM, Chanaka Fernando 
>> wrote:
>>
>>> Hi Amila,
>>>
>>> PR[1] is merged.
>>>
>>> [1]
>>> https://github.com/wso2/wso2-synapse/commit/d5815b2afcf7f2d9c8e5e5858e8cc45427a07ce0
>>>
>>> On Fri, Sep 25, 2015 at 2:43 PM, Amila De Silva  wrote:
>>>
 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 
 wrote:

> Hi,
>

Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-25 Thread Chanaka Fernando
Hi AmilaD,

After merging this change, we have seen that there are 3 integration test
failures in product-esb[1] . Please check these failures and resend the PR.
I'll revert the fix for the moment.

[1] https://wso2.org/jenkins/job/product-esb/lastBuild/testReport/

On Fri, Sep 25, 2015 at 3:13 PM, Chanaka Fernando  wrote:

> Hi Amila,
>
> PR[1] is merged.
>
> [1]
> https://github.com/wso2/wso2-synapse/commit/d5815b2afcf7f2d9c8e5e5858e8cc45427a07ce0
>
> On Fri, Sep 25, 2015 at 2:43 PM, Amila De Silva  wrote:
>
>> 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  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  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  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 
> 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 
>> 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 >> > wrote:
>>>
 Hi Amila,

 You can find [1] which already has the throttle policy editor
 related 

Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-25 Thread Amila De Silva
Hi Chanaka,
Will check this.


On Saturday, September 26, 2015, Chanaka Fernando  wrote:

> Hi AmilaD,
>
> After merging this change, we have seen that there are 3 integration test
> failures in product-esb[1] . Please check these failures and resend the PR.
> I'll revert the fix for the moment.
>
> [1] https://wso2.org/jenkins/job/product-esb/lastBuild/testReport/
>
> On Fri, Sep 25, 2015 at 3:13 PM, Chanaka Fernando  > wrote:
>
>> Hi Amila,
>>
>> PR[1] is merged.
>>
>> [1]
>> https://github.com/wso2/wso2-synapse/commit/d5815b2afcf7f2d9c8e5e5858e8cc45427a07ce0
>>
>> On Fri, Sep 25, 2015 at 2:43 PM, Amila De Silva > > wrote:
>>
>>> 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 >> > 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 > 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  > 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 > > 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 >> 

Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-25 Thread Chanaka Fernando
Hi Amila,

PR[1] is merged.

[1]
https://github.com/wso2/wso2-synapse/commit/d5815b2afcf7f2d9c8e5e5858e8cc45427a07ce0

On Fri, Sep 25, 2015 at 2:43 PM, Amila De Silva  wrote:

> 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  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  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  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 
 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 
> 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 
>> 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 
 wrote:

> Will be moving 

Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-25 Thread Amila De Silva
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  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  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  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  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 
 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 
> 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 
>>> 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 

Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-15 Thread Amila De Silva
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  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  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  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  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 
 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  > wrote:
>
>> +1.
>>
>>
>> On Fri, Sep 11, 2015 at 5:20 PM, Amila De Silva 
>> 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 
>>> 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
 

Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-14 Thread Amila De Silva
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  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  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  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 
>>> 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 
 wrote:

> +1.
>
>
> On Fri, Sep 11, 2015 at 5:20 PM, Amila De Silva 
> 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 
>> 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 

Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-14 Thread Amila De Silva
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  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 
> 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 
>> wrote:
>>
>>> +1.
>>>
>>>
>>> On Fri, Sep 11, 2015 at 5:20 PM, Amila De Silva  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  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
>>>
>>> blog
>>> :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


Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-14 Thread Isuru Udana
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  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  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 
>> 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 
>>> wrote:
>>>
 +1.


 On Fri, Sep 11, 2015 at 5:20 PM, Amila De Silva 
 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 
> 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

 blog
 :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/
___
Dev 

Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-11 Thread Amila De Silva
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  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
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-11 Thread Chanaka Fernando
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 
wrote:

> +1.
>
>
> On Fri, Sep 11, 2015 at 5:20 PM, Amila De Silva  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  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
>
> blog
> :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
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-11 Thread Sanjeewa Malalgoda
+1.


On Fri, Sep 11, 2015 at 5:20 PM, Amila De Silva  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  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

blog
:http://sanjeewamalalgoda.blogspot.com/

___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


Re: [Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-11 Thread Amila De Silva
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  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 
> wrote:
>
>> +1.
>>
>>
>> On Fri, Sep 11, 2015 at 5:20 PM, Amila De Silva  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  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
>>
>> blog
>> :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
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[Dev] [Throttling] Moving throttle.core out from Synapse

2015-09-07 Thread Amila De Silva
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
___
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev