Hi,

On Fri, Jan 3, 2014 at 5:06 PM, Chanika Geeganage <chan...@wso2.com> wrote:

> 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.
>
I think you can create a JIRA and fix it for next major release?

>
> Thanks
>
>
> On Fri, Jan 3, 2014 at 4:07 PM, Samisa Abeysinghe <sam...@wso2.com> 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 <chan...@wso2.com>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 <sam...@wso2.com>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 <chan...@wso2.com>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 
>>>>> <chan...@wso2.com>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 
>>>>>> <same...@wso2.com>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 <chan...@wso2.com
>>>>>>> > 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
>>>>>>>> Architecture@wso2.org
>>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Sameera Jayasoma,
>>>>>>> Architect,
>>>>>>>
>>>>>>> WSO2, Inc. (http://wso2.com)
>>>>>>> email: same...@wso2.com
>>>>>>> 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
>>>>>>> Architecture@wso2.org
>>>>>>> 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
>>>>> Architecture@wso2.org
>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Architecture mailing list
>>>> Architecture@wso2.org
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>>
>>>>
>>>
>>>
>>> --
>>> Best Regards..
>>>
>>> Chanika Geeganage
>>> Software Engineer
>>> WSO2, Inc.; http://wso2.com
>>>
>>>
>>> _______________________________________________
>>> Architecture mailing list
>>> Architecture@wso2.org
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>>
>>>
>>
>> _______________________________________________
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> Best Regards..
>
> Chanika Geeganage
> Software Engineer
> WSO2, Inc.; http://wso2.com
>
>
> _______________________________________________
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Isuru Perera
Senior Software Engineer | WSO2, Inc. | http://wso2.com/
Lean . Enterprise . Middleware

about.me/chrishantha
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to