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; ext: 51736*;


*M: +44 782 741 1966 Linked-In: http://linkedin.com/in/senakafernando
<http://linkedin.com/in/senakafernando>*Lean . Enterprise . Middleware
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to