OK, Great!, I hope you did test it from an external ws client in additional to AF use case too. So +1 and please go ahead and commit it through a public L2 JIRA to svn and release it. Attach the diff to the JIRA so that we will incooperate this to the 4.3.0 carbon.
On Fri, Jun 13, 2014 at 4:44 PM, Danushka Fernando <[email protected]> wrote: > Hi Subash > I tested this with our scenario and it seems to work fine. > > Thanks & Regards > Danushka Fernando > Software Engineer > WSO2 inc. http://wso2.com/ > Mobile : +94716332729 > > > On Fri, Jun 13, 2014 at 12:26 PM, Senaka Fernando <[email protected]> wrote: > >> Guys, >> >> We have to do a thorough perf test with the WS-API. There can be design >> issues that affect performance to a great extent. >> >> Thanks, >> Senaka. >> >> >> On Fri, Jun 13, 2014 at 6:42 AM, Subash Chaturanga <[email protected]> >> wrote: >> >>> Hi, >>> Here I am attaching the patch which does the check of the content size. >>> And if it is <1MB then we load it to memory and pass a ByteArray data >>> source for the data handler. And if >1MB we proceed as previously. >>> >>> @Danushka, >>> Please use the following patch and verify your scenario. >>> >>> >>> >>> On Tue, Jun 10, 2014 at 8:34 PM, Ajith Vitharana <[email protected]> >>> wrote: >>> >>>> Please find the blog post [1]. >>>> >>>> [1] >>>> http://ajithvblogs.blogspot.de/2013/11/jmeter-java-request-to-test.html >>>> >>>> Thanks. >>>> Ajith >>>> >>>> >>>> On Tue, Jun 10, 2014 at 8:28 PM, Subash Chaturanga <[email protected]> >>>> wrote: >>>> >>>>> Hi , >>>>> This is regarding issue on WS Registry Service Client in high >>>>> concurrency which seems blocks the AF release. >>>>> >>>>> When reading the content with several threads in AF, i.e two resources >>>>> >>>>> path = /foo/r1 content = 12345 >>>>> path = /foo/r2 content = 67 >>>>> >>>>> For AF guys, when they retrieve r1 and r2 resources, i.e for >>>>> r1 - returns 12345 >>>>> but r2 returns 67*45* >>>>> >>>>> ( r2 returns with some values from old resource content. ) >>>>> >>>>> When dig deep with Janaka, found that, in server side >>>>> org.wso2.carbon.registry.ws.api.WSRegistry maintains single tempFile per >>>>> instance. And it get used to maintain the content to pass to client side >>>>> inside the DataHolder. >>>>> >>>>> Hence obviously we can expect this issue in a but high concurrency. So >>>>> as a solution when creating the data holder we create a copy of the >>>>> aforementioned file as follows. And then for multiple requests on the same >>>>> ws connection it deals with separate files and issue went away. >>>>> >>>>> But this leads to grow the tmp files in the tmp directory but upon >>>>> server downtime those will get vanished. >>>>> >>>>> With the following fix, since files are growing, one option is to do >>>>> an additional ws call inside ws-client to server side to clean up the >>>>> particular file. But it seems not a best solution. >>>>> >>>>> >>>>> *So @Senaka @Ajith, Any better solution you can see ? * >>>>> >>>>> >>>>> Index: >>>>> src/main/java/org/wso2/carbon/registry/ws/api/utils/CommonUtil.java >>>>> =================================================================== >>>>> --- >>>>> src/main/java/org/wso2/carbon/registry/ws/api/utils/CommonUtil.java >>>>> (revision 204294) >>>>> +++ >>>>> src/main/java/org/wso2/carbon/registry/ws/api/utils/CommonUtil.java >>>>> (working copy) >>>>> @@ -193,6 +193,9 @@ >>>>> } >>>>> >>>>> public static DataHandler makeDataHandler(Resource resource, File >>>>> tempFile) throws IOException, RegistryException{ >>>>> + tempFile = File.createTempFile("wsresource", ".tmp"); >>>>> + tempFile.deleteOnExit(); >>>>> + >>>>> if (resource.getContent() == null) { >>>>> return null; >>>>> } >>>>> >>>>> >>>>> -- >>>>> Thanks >>>>> /subash >>>>> >>>>> *Subash Chaturanga* >>>>> Senior Software Engineer :Platform TG; WSO2 Inc. http://wso2.com >>>>> >>>>> email: [email protected] >>>>> blog: http://subashsdm.blogspot.com/ >>>>> twitter: @subash89 >>>>> phone: +9477 2225922 >>>>> Lean . Enterprise . Middleware >>>>> >>>> >>>> >>>> >>>> -- >>>> Ajith Vitharana. >>>> WSO2 Inc. - http://wso2.org >>>> Email : [email protected] >>>> Mobile : +94772217350 >>>> >>>> >>> >>> >>> -- >>> Thanks >>> /subash >>> >>> *Subash Chaturanga* >>> Senior Software Engineer & Lead WSO2 Governance Registry >>> Platform TG; WSO2 Inc. http://wso2.com >>> Contact: >>> email: [email protected] >>> blog: http://subashsdm.blogspot.com/ >>> twitter: @subash89 >>> phone: +9477 2225922 >>> Lean . Enterprise . Middleware >>> >> >> >> >> -- >> >> >> *[image: http://wso2.com] <http://wso2.com> Senaka Fernando* >> Software Architect; WSO2 Inc.; http://wso2.com >> >> >> >> * Member; Apache Software Foundation; http://apache.org >> <http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: +1 >> 408 754 7388 <%2B1%20408%20754%207388>; ext: 51736*; >> >> >> *M: +44 782 741 1966 <%2B44%20782%20741%201966> Linked-In: >> http://linkedin.com/in/senakafernando >> <http://linkedin.com/in/senakafernando>* >> Lean . Enterprise . Middleware >> > > -- Thanks /subash *Subash Chaturanga* Senior Software Engineer & Lead WSO2 Governance Registry Platform TG; WSO2 Inc. http://wso2.com Contact: email: [email protected] blog: http://subashsdm.blogspot.com/ twitter: @subash89 phone: +9477 2225922 Lean . Enterprise . Middleware
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
