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

Bug 36671

Summary: [CVS Core] Use full stream server compression
Product: [Eclipse Project] Platform Reporter: Paul <paul>
Component: TeamAssignee: Platform Team Inbox <platform-team-inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P3 Keywords: helpwanted
Version: 2.1   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Paul CLA 2003-04-18 23:43:17 EDT
When using the CVS perspective to access a CVS server that requires 
compression to be enabled, I receive the following dialog error message:

: cvs [server aborted]: "update" requires that the stream be compressed 
between levels 2 and 9

I've set Window | Preferences | Team |CVS | Compression level to every value 
possible and always receive the same error.

The connection was validated successfully upon creation, I just can't "view" 
the repository's content w/o the previous error message.

The CVS Log view shows nothing even if "Quietness level" is set to verbose.
.metadata/.log contains no information regarding the error.

I can successfully connect using the same settings w/other CVS clients.  Is 
there a way I can see exactly what is going over the wire to the CVS server?  
I'm using pserver as the authentication method.
Comment 1 Michael Valenta CLA 2003-04-21 12:11:00 EDT
I was not aware that a server could be configured to require a compression 
level to be set. I suspect the problem is that Eclipse makes use of an older 
compression setting in CVS which only compresses file contents. The reason for 
this is that previous attempts to compress the whole stream failed due to 
shortcomings in the java implementation of gzip streams. We should have another 
look at this to see if the gzip support in Java has been improved (or if the 
original investigation was faulty).
Comment 2 Michael Valenta CLA 2003-04-23 15:34:04 EDT
The original assesment was not faulty and it does not look like the 1.4 API has 
improved the GZIP support. The problem is that the streams provided by Java are 
for reading and writing files. Thus, only the close() or finish() is guarenteed 
to flush any internal buffers (flush() appears to do nothing). Supporting full 
compression requires a different implemention of GZIP streams which has the 
proper flush behavior. These would either need to be written from scratch or 
obtained from somewhere else (if an implementation exists with a suitable 
license).
Comment 3 Michael Valenta CLA 2003-10-15 10:53:14 EDT
From the newsgroup: We may be able to use these class to create the required 
streams.
----------------------
Doesn't CVS uses Zlib? If yes, doesn't Java has built-in Zlib support ?

java.util.zip.Inflater

"This class provides support for general purpose compression using the popular 
ZLIB compression library"

java.util.zip.Deflater

"This class provides support for general purpose compression using the popular 
ZLIB compression library"
?? 
Comment 4 Jean-Michel Lemieux CLA 2004-06-11 16:50:38 EDT
Post 3.0
Comment 5 Michael Valenta CLA 2005-05-09 14:50:41 EDT
There is currently no plan to address this item.
Comment 6 Denis Roy CLA 2009-08-30 02:15:26 EDT
As of now 'LATER' and 'REMIND' resolutions are no longer supported.
Please reopen this bug if it is still valid for you.