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