Community
Participate
Working Groups
Session.sendFile() buffers entire files in memory when converting line delimiters in text files, and/or GZIP'ing text or binary files. Should place an upper bound on how large a file can be buffered. Files larger than this size should be read from disk twice, once to compute the final size, and once to send the contents.
post 2.0
Reopening
Since most text files are not huge (I've seen some as large as 100KB and some may be bigger but this is rare) this is not a pressing issue but it should still be addressed.
This is causing out of memory errors when comparing large binary files (>~1MB) as the project contains even the binary files (jars etc) when using CVS to store the entire project this means that it is not possible to determine if a file has changed should the "consider file contents in comparisons" be checked in team preferences.
We will investigate for 2.1. Does turning off compression on the CVS preferences page fix the problem?
Created attachment 3036 [details] Purely streaming (size=O(1)) sendFile()
Created attachment 3045 [details] Better formatting of the above code
Fix released to HEAD