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