Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 321327

Summary: When using GZIP the BufferEntryManager.putBuffer() never gets called.
Product: [RT] Riena Reporter: Stefan Liebig <Stefan.Liebig>
Component: communicationAssignee: Project Inbox <riena.core-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: christian.campo
Version: 2.1.0   
Target Milestone: 3.0.0.M2   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Stefan Liebig CLA 2010-07-30 08:02:31 EDT
While working on that code I discovered that when using GZIP the BufferEntryManager.putBuffer() never gets called because the GZIPInputStream never gets closed.
This happens because the HessianProxy.invoke() closes the input stream passed to the overridden RienaHessianProxyFactory.getInputStream(). The getInputStream() wrapps the passed in input stream with the GZIP input stream and returns it.
This explains why everything is still working.
Comment 1 Stefan Liebig CLA 2010-08-02 04:12:14 EDT
If GZIPInputStream will not be closed, Inflater.end() will not be called which leads to memory problems. See bug 5072161 and related bugs.
Comment 2 Stefan Liebig CLA 2010-08-06 03:46:45 EDT
This problem exists on both client side and server side (RienaHessianDispatcherServlet).
Comment 3 Stefan Liebig CLA 2010-08-10 08:36:58 EDT
Fixed in:
RienaHessianDispatcherServlet 1.12
GZippingHttpURLConnectionWrapper 1.1
RienaHessianProxyFactory 1.26