You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Kuba Tomiczek <jt...@rdprojekt.pl> on 2009/03/02 12:05:13 UTC

Re: Axis2c MTOM large file downloading problem

Thank you for the response Manjula

I turned on caching (on client) by:
 axis2_options_set_property(options, env, AXIS2_CACHE_ATTACHMENTS,   
propertyCacheAttachments);
 axis2_options_set_property(options, env, AXIS2_ATTACHMENT_TEMP_DIR, 
propertyAttachmentDir);

and experimented with  AXIS2_FILE_SIZE_THRESHOL.D

I also turned on caching on server in axis2.xml.


I do not get null response as a result of 
axis2_svc_client_send_receive_with_op_qname(svc_client, env, op_qname, 
payload);
any more but the application does not return from this function at all.
Moreover the CPU and memory usage increase to 50% (cpu) and more or less 
the size of the file (memory usage).
Cached directory seems not to be used at all.

I can see that the file (size ca. 70mb) was sent by the server (although 
loaded in full into memory before being sent, so caching does not work 
in this case either),

Maybe you have some hints that could be useful in my case?
.
Thanks a lot
Kuba


Manjula Peiris wrote:
> For larger files you should enable caching. see [1] for more details.
>
> [1]http://wso2.org/library/articles/sending-receiving-attachments-axis2-c
>
> -Manjula.
>
>
> On Fri, 2009-02-27 at 13:35 +0100, Kuba Tomiczek wrote:
>   
>> Hello all,
>> I have the following problem:
>>  
>> In my application the server side sends to the client a file, using 
>> Axis2c, SOAP11 and MTOM (So it is downloading a file instead of 
>> uploading what occured in all the examples I found). If the file is 
>> quite small (up to something about 45 MB), everything works OK, but if 
>> it's bigger, I get an error - the method 
>> axis2_svc_client_send_receive_with_op_qname returns null, and in the 
>> log, I can find an entry like:
>>  
>> [error] ..\..\axiom\src\attachments\mime_parser.c(240) Some data in the 
>> message was not recieved
>>  
>> I have  enabled chunking in my axis2.xml on the server side:
>>  <parameter name="Transfer-Encoding">chunked</parameter>
>> as well as other necessary things required by MTOM:
>>
>>  <parameter name="enableMTOM" locked="false">true</parameter>
>>  <parameter name="MTOMChunkBufferSize" locked="false">10</parameter>
>>  <parameter name="MTOMMaxChunkBuffers" locked="false">1000</parameter>
>>
>>
>>
>> Do you maybe know what can be sources of such problem?
>>  
>> Thank you in advance,
>> Kuba
>>     
>
>
>   


Re: Axis2c MTOM large file downloading problem

Posted by Manjula Peiris <ma...@wso2.com>.
To enable caching you need to set either attachmentDIR or
MTOMCachingCallback. MTOMBufferSize will set the threshold. Default is
1MB. All these parameters should be set in the axis2.xml. The link I
sent you in the previous mail explains these. 

On Mon, 2009-03-02 at 12:05 +0100, Kuba Tomiczek wrote:
> Thank you for the response Manjula
> 
> I turned on caching (on client) by:
>  axis2_options_set_property(options, env, AXIS2_CACHE_ATTACHMENTS,   
> propertyCacheAttachments);
>  axis2_options_set_property(options, env, AXIS2_ATTACHMENT_TEMP_DIR, 
> propertyAttachmentDir);
> 
> and experimented with  AXIS2_FILE_SIZE_THRESHOL.D
> 
> I also turned on caching on server in axis2.xml.
> 
> 
> I do not get null response as a result of 
> axis2_svc_client_send_receive_with_op_qname(svc_client, env, op_qname, 
> payload);
> any more but the application does not return from this function at all.
> Moreover the CPU and memory usage increase to 50% (cpu) and more or less 
> the size of the file (memory usage).
> Cached directory seems not to be used at all.
> 
> I can see that the file (size ca. 70mb) was sent by the server (although 
> loaded in full into memory before being sent, so caching does not work 
> in this case either),
> 
> Maybe you have some hints that could be useful in my case?
> .
> Thanks a lot
> Kuba
> 
> 
> Manjula Peiris wrote:
> > For larger files you should enable caching. see [1] for more details.
> >
> > [1]http://wso2.org/library/articles/sending-receiving-attachments-axis2-c
> >
> > -Manjula.
> >
> >
> > On Fri, 2009-02-27 at 13:35 +0100, Kuba Tomiczek wrote:
> >   
> >> Hello all,
> >> I have the following problem:
> >>  
> >> In my application the server side sends to the client a file, using 
> >> Axis2c, SOAP11 and MTOM (So it is downloading a file instead of 
> >> uploading what occured in all the examples I found). If the file is 
> >> quite small (up to something about 45 MB), everything works OK, but if 
> >> it's bigger, I get an error - the method 
> >> axis2_svc_client_send_receive_with_op_qname returns null, and in the 
> >> log, I can find an entry like:
> >>  
> >> [error] ..\..\axiom\src\attachments\mime_parser.c(240) Some data in the 
> >> message was not recieved
> >>  
> >> I have  enabled chunking in my axis2.xml on the server side:
> >>  <parameter name="Transfer-Encoding">chunked</parameter>
> >> as well as other necessary things required by MTOM:
> >>
> >>  <parameter name="enableMTOM" locked="false">true</parameter>
> >>  <parameter name="MTOMChunkBufferSize" locked="false">10</parameter>
> >>  <parameter name="MTOMMaxChunkBuffers" locked="false">1000</parameter>
> >>
> >>
> >>
> >> Do you maybe know what can be sources of such problem?
> >>  
> >> Thank you in advance,
> >> Kuba
> >>     
> >
> >
> >   
> 


Re: Axis2c MTOM large file downloading problem

Posted by Manjula Peiris <ma...@wso2.com>.
On Mon, 2009-03-02 at 19:18 +0530, Samisa Abeysinghe wrote:
> Kuba Tomiczek wrote:
> > I have one more question regarding high memory usage levels -
> >
> > I found this discusssion 
> > http://mail-archives.apache.org/mod_mbox/ws-axis-c-user/200805.mbox/%3c1211391535.10358.25.camel@manjula%3e 
> > and I just would like to confirm (I am using AXIS2C version 1.4):
> > It is impossible to have "chunk" file reading in this version of axis?
> > So sending an attachment of, let's say 150MB, I will always have it in 
> > full in Ram for a while?
> 
> I think so. All the improvements has been done to the trunk. So either 
> you have to use the trunk, or wait till the 1.6 release is out.

yes. MTOM caching is not supported in any released versions.

> 
> Samisa...
> 
> >
> > Thanks
> > Kuba
> >> Thank you for the response Manjula
> >>
> >> I turned on caching (on client) by:
> >> axis2_options_set_property(options, env, AXIS2_CACHE_ATTACHMENTS,   
> >> propertyCacheAttachments);
> >> axis2_options_set_property(options, env, AXIS2_ATTACHMENT_TEMP_DIR, 
> >> propertyAttachmentDir);
> >>
> >> and experimented with  AXIS2_FILE_SIZE_THRESHOL.D
> >>
> >> I also turned on caching on server in axis2.xml.
> >>
> >>
> >> I do not get null response as a result of 
> >> axis2_svc_client_send_receive_with_op_qname(svc_client, env, 
> >> op_qname, payload);
> >> any more but the application does not return from this function at all.
> >> Moreover the CPU and memory usage increase to 50% (cpu) and more or 
> >> less the size of the file (memory usage).
> >> Cached directory seems not to be used at all.
> >>
> >> I can see that the file (size ca. 70mb) was sent by the server 
> >> (although loaded in full into memory before being sent, so caching 
> >> does not work in this case either),
> >>
> >> Maybe you have some hints that could be useful in my case?
> >> .
> >> Thanks a lot
> >> Kuba
> >>
> >>
> >> Manjula Peiris wrote:
> >>> For larger files you should enable caching. see [1] for more details.
> >>>
> >>> [1]http://wso2.org/library/articles/sending-receiving-attachments-axis2-c 
> >>>
> >>>
> >>> -Manjula.
> >>>
> >>>
> >>> On Fri, 2009-02-27 at 13:35 +0100, Kuba Tomiczek wrote:
> >>>  
> >>>> Hello all,
> >>>> I have the following problem:
> >>>>  
> >>>> In my application the server side sends to the client a file, using 
> >>>> Axis2c, SOAP11 and MTOM (So it is downloading a file instead of 
> >>>> uploading what occured in all the examples I found). If the file is 
> >>>> quite small (up to something about 45 MB), everything works OK, but 
> >>>> if it's bigger, I get an error - the method 
> >>>> axis2_svc_client_send_receive_with_op_qname returns null, and in 
> >>>> the log, I can find an entry like:
> >>>>  
> >>>> [error] ..\..\axiom\src\attachments\mime_parser.c(240) Some data in 
> >>>> the message was not recieved
> >>>>  
> >>>> I have  enabled chunking in my axis2.xml on the server side:
> >>>>  <parameter name="Transfer-Encoding">chunked</parameter>
> >>>> as well as other necessary things required by MTOM:
> >>>>
> >>>>  <parameter name="enableMTOM" locked="false">true</parameter>
> >>>>  <parameter name="MTOMChunkBufferSize" locked="false">10</parameter>
> >>>>  <parameter name="MTOMMaxChunkBuffers" locked="false">1000</parameter>
> >>>>
> >>>>
> >>>>
> >>>> Do you maybe know what can be sources of such problem?
> >>>>  
> >>>> Thank you in advance,
> >>>> Kuba
> >>>>     
> >>>
> >>>
> >>>   
> >>
> >>
> >
> >
> 
> 


Re: Axis2c MTOM large file downloading problem

Posted by Samisa Abeysinghe <sa...@gmail.com>.
Kuba Tomiczek wrote:
> I have one more question regarding high memory usage levels -
>
> I found this discusssion 
> http://mail-archives.apache.org/mod_mbox/ws-axis-c-user/200805.mbox/%3c1211391535.10358.25.camel@manjula%3e 
> and I just would like to confirm (I am using AXIS2C version 1.4):
> It is impossible to have "chunk" file reading in this version of axis?
> So sending an attachment of, let's say 150MB, I will always have it in 
> full in Ram for a while?

I think so. All the improvements has been done to the trunk. So either 
you have to use the trunk, or wait till the 1.6 release is out.

Samisa...

>
> Thanks
> Kuba
>> Thank you for the response Manjula
>>
>> I turned on caching (on client) by:
>> axis2_options_set_property(options, env, AXIS2_CACHE_ATTACHMENTS,   
>> propertyCacheAttachments);
>> axis2_options_set_property(options, env, AXIS2_ATTACHMENT_TEMP_DIR, 
>> propertyAttachmentDir);
>>
>> and experimented with  AXIS2_FILE_SIZE_THRESHOL.D
>>
>> I also turned on caching on server in axis2.xml.
>>
>>
>> I do not get null response as a result of 
>> axis2_svc_client_send_receive_with_op_qname(svc_client, env, 
>> op_qname, payload);
>> any more but the application does not return from this function at all.
>> Moreover the CPU and memory usage increase to 50% (cpu) and more or 
>> less the size of the file (memory usage).
>> Cached directory seems not to be used at all.
>>
>> I can see that the file (size ca. 70mb) was sent by the server 
>> (although loaded in full into memory before being sent, so caching 
>> does not work in this case either),
>>
>> Maybe you have some hints that could be useful in my case?
>> .
>> Thanks a lot
>> Kuba
>>
>>
>> Manjula Peiris wrote:
>>> For larger files you should enable caching. see [1] for more details.
>>>
>>> [1]http://wso2.org/library/articles/sending-receiving-attachments-axis2-c 
>>>
>>>
>>> -Manjula.
>>>
>>>
>>> On Fri, 2009-02-27 at 13:35 +0100, Kuba Tomiczek wrote:
>>>  
>>>> Hello all,
>>>> I have the following problem:
>>>>  
>>>> In my application the server side sends to the client a file, using 
>>>> Axis2c, SOAP11 and MTOM (So it is downloading a file instead of 
>>>> uploading what occured in all the examples I found). If the file is 
>>>> quite small (up to something about 45 MB), everything works OK, but 
>>>> if it's bigger, I get an error - the method 
>>>> axis2_svc_client_send_receive_with_op_qname returns null, and in 
>>>> the log, I can find an entry like:
>>>>  
>>>> [error] ..\..\axiom\src\attachments\mime_parser.c(240) Some data in 
>>>> the message was not recieved
>>>>  
>>>> I have  enabled chunking in my axis2.xml on the server side:
>>>>  <parameter name="Transfer-Encoding">chunked</parameter>
>>>> as well as other necessary things required by MTOM:
>>>>
>>>>  <parameter name="enableMTOM" locked="false">true</parameter>
>>>>  <parameter name="MTOMChunkBufferSize" locked="false">10</parameter>
>>>>  <parameter name="MTOMMaxChunkBuffers" locked="false">1000</parameter>
>>>>
>>>>
>>>>
>>>> Do you maybe know what can be sources of such problem?
>>>>  
>>>> Thank you in advance,
>>>> Kuba
>>>>     
>>>
>>>
>>>   
>>
>>
>
>


-- 
Samisa Abeysinghe

http://people.apache.org/~samisa/


Re: Axis2c MTOM large file downloading problem

Posted by Kuba Tomiczek <jt...@rdprojekt.pl>.
I have one more question regarding high memory usage levels -

I found this discusssion 
http://mail-archives.apache.org/mod_mbox/ws-axis-c-user/200805.mbox/%3c1211391535.10358.25.camel@manjula%3e 
and I just would like to confirm (I am using AXIS2C version 1.4):
It is impossible to have "chunk" file reading in this version of axis?
So sending an attachment of, let's say 150MB, I will always have it in 
full in Ram for a while?

Thanks
Kuba
> Thank you for the response Manjula
>
> I turned on caching (on client) by:
> axis2_options_set_property(options, env, AXIS2_CACHE_ATTACHMENTS,   
> propertyCacheAttachments);
> axis2_options_set_property(options, env, AXIS2_ATTACHMENT_TEMP_DIR, 
> propertyAttachmentDir);
>
> and experimented with  AXIS2_FILE_SIZE_THRESHOL.D
>
> I also turned on caching on server in axis2.xml.
>
>
> I do not get null response as a result of 
> axis2_svc_client_send_receive_with_op_qname(svc_client, env, op_qname, 
> payload);
> any more but the application does not return from this function at all.
> Moreover the CPU and memory usage increase to 50% (cpu) and more or 
> less the size of the file (memory usage).
> Cached directory seems not to be used at all.
>
> I can see that the file (size ca. 70mb) was sent by the server 
> (although loaded in full into memory before being sent, so caching 
> does not work in this case either),
>
> Maybe you have some hints that could be useful in my case?
> .
> Thanks a lot
> Kuba
>
>
> Manjula Peiris wrote:
>> For larger files you should enable caching. see [1] for more details.
>>
>> [1]http://wso2.org/library/articles/sending-receiving-attachments-axis2-c 
>>
>>
>> -Manjula.
>>
>>
>> On Fri, 2009-02-27 at 13:35 +0100, Kuba Tomiczek wrote:
>>  
>>> Hello all,
>>> I have the following problem:
>>>  
>>> In my application the server side sends to the client a file, using 
>>> Axis2c, SOAP11 and MTOM (So it is downloading a file instead of 
>>> uploading what occured in all the examples I found). If the file is 
>>> quite small (up to something about 45 MB), everything works OK, but 
>>> if it's bigger, I get an error - the method 
>>> axis2_svc_client_send_receive_with_op_qname returns null, and in the 
>>> log, I can find an entry like:
>>>  
>>> [error] ..\..\axiom\src\attachments\mime_parser.c(240) Some data in 
>>> the message was not recieved
>>>  
>>> I have  enabled chunking in my axis2.xml on the server side:
>>>  <parameter name="Transfer-Encoding">chunked</parameter>
>>> as well as other necessary things required by MTOM:
>>>
>>>  <parameter name="enableMTOM" locked="false">true</parameter>
>>>  <parameter name="MTOMChunkBufferSize" locked="false">10</parameter>
>>>  <parameter name="MTOMMaxChunkBuffers" locked="false">1000</parameter>
>>>
>>>
>>>
>>> Do you maybe know what can be sources of such problem?
>>>  
>>> Thank you in advance,
>>> Kuba
>>>     
>>
>>
>>   
>
>