[ 
https://issues.apache.org/jira/browse/PDFBOX-2999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14934135#comment-14934135
 ] 

Timo Boehme commented on PDFBOX-2999:
-------------------------------------

This issue is important now because we use the new ScratchFile implementation 
in every case which requires proper buffer closing if not needed memory should 
be released in order to be re-used by other streams. This will get even more 
important if we support re-using the same ScratchFile instance for multiple 
documents (allowing fine control of memory usage) even for processing large 
collections in parallel.
Currently releasing memory really happens when closing the scratch file on 
document close. What we need is that buffers created on the scratch file are 
closed if not needed anymore. As a temporary workaround a {{ScratchFileBuffer}} 
implements {{finalize()}} to ensure it gets closed on garbage collection. 

> Optimize COSStream scratch file usage
> -------------------------------------
>
>                 Key: PDFBOX-2999
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2999
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: PDModel
>    Affects Versions: 2.0.0
>            Reporter: Timo Boehme
>            Assignee: Timo Boehme
>
> The usage of scratch file buffers in COSStreams is quite sloppy. A never 
> filled buffer is created in the beginning and existing buffers are discarded 
> without being closed when a variant of {{createOutputStream}} is called. 
> Furthermore it should be clarified if requesting an input stream without 
> having created an output stream before is ok and if a returned input stream 
> keeps valid after a new output stream is created (which is crucial for proper 
> buffer-closing). 
> This issue should resolve some of the shortcomings and document the expected 
> or even required usage of COSStream. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to