Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 321327 - When using GZIP the BufferEntryManager.putBuffer() never gets called.
Summary: When using GZIP the BufferEntryManager.putBuffer() never gets called.
Status: RESOLVED FIXED
Alias: None
Product: Riena
Classification: RT
Component: communication (show other bugs)
Version: 2.1.0   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 3.0.0.M2   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-30 08:02 EDT by Stefan Liebig CLA
Modified: 2010-10-29 06:21 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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