Hi,

To fix that properly, we can compile the regex at deployment time and keep
that compiled pattern as the key. But that will break the exciting code
because of API changes. It is a utill class and as others are using it we
can't change the API.

Thanks


On Fri, Jan 3, 2014 at 4:07 PM, Samisa Abeysinghe <[email protected]> wrote:

> Is there any other way to fix the perf drop while fixing the issue?
>
> Thanks,
> Samisa...
>
>
> Samisa Abeysinghe
>
> Vice President Developer Evangelism
>
> WSO2 Inc.
> http://wso2.com
>
>
>
> On Fri, Jan 3, 2014 at 3:36 PM, Chanika Geeganage <[email protected]>wrote:
>
>> Hi Samisa,
>>
>> The fix is for a issue occurred when we define multiple resources in a
>> data service with the same resource name. For an example lets say we want
>> to define following resources in a data service. (This is described in this
>> thread)
>>
>>
>> products/{id}
>> products/{id}/name/{name}
>>
>> The current implementation does not give the desired output as it keeps
>> only the resource name as the key. According to the given fix it keeps a
>> regex as the key and it compiles all regex in the map each time we invoke a
>> request. That is why there is a performance drop.
>>
>> Thanks
>>
>>
>>
>> On Fri, Jan 3, 2014 at 3:20 PM, Samisa Abeysinghe <[email protected]>wrote:
>>
>>> Why do we have a drop of TPS with the fix? Should we not optimize this
>>> for better performance?
>>>
>>> Thanks,
>>> Samisa...
>>>
>>>
>>> Samisa Abeysinghe
>>>
>>> Vice President Developer Evangelism
>>>
>>> WSO2 Inc.
>>> http://wso2.com
>>>
>>>
>>>
>>> On Fri, Jan 3, 2014 at 1:28 PM, Chanika Geeganage <[email protected]>wrote:
>>>
>>>> Hi,
>>>>
>>>> Here I have attached the changed code for the suggested solution (using
>>>> a regex as the key). I ran some load tests and the results are listed
>>>> below.
>>>>
>>>> No of Threads                 Without the fix (tps)              With
>>>> the fix (tps)
>>>> 1
>>>> 410                                         315
>>>> 5
>>>> 2010                                       1900
>>>> 100
>>>> 6260                                        6200
>>>>
>>>> Is it OK to proceed with this fix?
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>>> On Thu, Dec 19, 2013 at 7:37 AM, Chanika Geeganage <[email protected]>wrote:
>>>>
>>>>> Hi Sameera,
>>>>>
>>>>> getConstantFromHTTPLocation method in [1]  is used to maintain the map
>>>>> in deployment time and getOperationFromHTTPLocation method is called when
>>>>> you invoke the rest service in [2]
>>>>>
>>>>> [1]
>>>>> https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.2.0/dependencies/axis2/1.6.1-wso2v10/modules/kernel/src/org/apache/axis2/wsdl/WSDLUtil.java
>>>>>
>>>>> [2]
>>>>> https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.2.0/dependencies/axis2/1.6.1-wso2v10/modules/kernel/src/org/apache/axis2/dispatchers/HTTPLocationBasedDispatcher.java
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>> On Thu, Dec 19, 2013 at 12:51 AM, Sameera Jayasoma 
>>>>> <[email protected]>wrote:
>>>>>
>>>>>> Hi Chanika,
>>>>>>
>>>>>> Can you please gimme me some pointers to the relevant code blocks
>>>>>> which are responsible for this situation?
>>>>>>
>>>>>> Thanks,
>>>>>> Sameera.
>>>>>>
>>>>>>
>>>>>> On Wed, Dec 18, 2013 at 3:29 PM, Chanika Geeganage 
>>>>>> <[email protected]>wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> This issue was come across when we invoke a rest resource deployed
>>>>>>> in DSS. According to the current implementation it fails to delegate
>>>>>>> different requests for same base URL. For an example lets say we want to
>>>>>>> have following resources in the dataservice config
>>>>>>>
>>>>>>> products/{id}
>>>>>>> products/{id}/name/{name}
>>>>>>>
>>>>>>> According to the current implementation it maintains a map to keep
>>>>>>> the resource info in the deployment time. It keeps a string of the HTTP
>>>>>>> method + the resource name  as the key and the relevant axis2 operation 
>>>>>>> as
>>>>>>> the value. Therefore in the example both resources having the same key 
>>>>>>> and
>>>>>>> the value is replaced by the last one.
>>>>>>>
>>>>>>> So as a solution, a regex for the resource is kept in the map as the
>>>>>>> key, and when we invoke the resource it compares the regex with the 
>>>>>>> request
>>>>>>> url. But this will hit a performance issue, as we have to compile all 
>>>>>>> regex
>>>>>>> in the map each time we invoke resource.
>>>>>>>
>>>>>>> Any input regarding this is appreciated.
>>>>>>>
>>>>>>> Thanks
>>>>>>> --
>>>>>>> Best Regards..
>>>>>>>
>>>>>>> Chanika Geeganage
>>>>>>> Software Engineer
>>>>>>> WSO2, Inc.; http://wso2.com
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Architecture mailing list
>>>>>>> [email protected]
>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Sameera Jayasoma,
>>>>>> Architect,
>>>>>>
>>>>>> WSO2, Inc. (http://wso2.com)
>>>>>> email: [email protected]
>>>>>> blog: http://sameera.adahas.org
>>>>>> twitter: https://twitter.com/sameerajayasoma
>>>>>> flickr: http://www.flickr.com/photos/sameera-jayasoma/collections
>>>>>> Mobile: 0094776364456
>>>>>>
>>>>>> Lean . Enterprise . Middleware
>>>>>>
>>>>>> _______________________________________________
>>>>>> Architecture mailing list
>>>>>> [email protected]
>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Best Regards..
>>>>>
>>>>> Chanika Geeganage
>>>>> Software Engineer
>>>>> WSO2, Inc.; http://wso2.com
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Best Regards..
>>>>
>>>> Chanika Geeganage
>>>> Software Engineer
>>>> WSO2, Inc.; http://wso2.com
>>>>
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> [email protected]
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>>
>> --
>> Best Regards..
>>
>> Chanika Geeganage
>> Software Engineer
>> WSO2, Inc.; http://wso2.com
>>
>>
>> _______________________________________________
>> Architecture mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Best Regards..

Chanika Geeganage
Software Engineer
WSO2, Inc.; http://wso2.com
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to