cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: Large data stream caching - Causing Truncated Response
Date Wed, 30 Apr 2014 17:27:21 GMT

We’ve been calling canWrite() on the File object representing the directory for a long time,
so I’m a bit surprised.  I guess in your case, it is writable, but there isn’t space.
  Interesting.

I’ve just added a couple more checks in there.  First, if there is less than 1MB of “usable
space” (File.getUsableSpace()) it will now log a warning.   Next, instead of looping indefinitely
trying to create a new directory, we’ll just make 10000 attempts (which seems high, but
should be fairly quick) and if that fails, throw an exception.

That said, with CXF 3.0, this particular case (Logging interceptors) wouldn’t result in
anything being buffered on disk as the default for the caching is raised to 128K and default
for message size logged is reduced to 32K and the interceptors have been further optimized
to only load the 32K needed for logging.

Dan


On Apr 30, 2014, at 3:01 AM, Graeme Dougal <graeme@tiderian.com> wrote:

> Hi
> 
> When a response payload is greater than the default 64k it will be cached
> to disk in a temp file in systems temp directory.
> 
> Faced an issue for the above where logging was switched on via the cxf:bus
> spring config and our environments java.io.tmp dir had no space allocated
> to it due to locked down environment setup.
> 
> The CXF code actually hangs in the *org.apache.cxf.helpers.FileUtils* class
> in the *public static File createTempFile(String prefix, String suffix,
> File parentDir,*
> *                               boolean deleteOnExit) throws
> IOException *method
> where it calls *getDefaultTempDir()*
> 
> The thread itself just hangs and the client receives a truncated response
> from the REST service.  With logging switched off or the
> *org.apache.cxf.io.CachedOutputStream.OutputDirectory* property overridden
> then everything works fine..
> 
> -- 
> Regards
> 
> Graeme Dougal
> 
> Tiderian Consulting
> 
> Office  :+44(191) 215 16 50
> Mobile : +44(0) 7860 950 815
> 
> Email  : graeme@tiderian.com
> Web    : www.tiderian.com
> 
> Tiderian Consulting is the trading name of Tiderian Consulting Ltd
> registered in England No. 6024579
> 
> Registered Office Address : 31 Cloverdale Gardens, High Heaton, Newcastle
> Upon Tyne, NE7 7QJ

-- 
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com


Mime
View raw message