You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Timo Boehme (JIRA)" <ji...@apache.org> on 2015/09/28 23:58:04 UTC

[jira] [Commented] (PDFBOX-2999) Optimize COSStream scratch file usage

    [ 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-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org