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

Timo Boehme commented on PDFBOX-4601:
-------------------------------------

Hi, regarding
{code:java}
if (pageCount + ENLARGE_PAGE_COUNT > pageCount)
{code}
while at first it seems contradictory in its meaning, but you should also read 
the comment above:
{code:java}
// enlarge if we do not overflow
{code}
so this tests for the seldom case of int overflow. The maximum-page-count is 
tested at start of the method - when later increasing the page count it is 
assumed that adding the #ENLARGE_PAGE_COUNT amount is not problematic even if 
maxPageCount - pageCount is less than this value (few 4kB pages).

> in AWS lambda pdf merge giving error as Error in pdf consolidation: Expected 
> scratch file size of 196608 but found 192512
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: PDFBOX-4601
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4601
>             Project: PDFBox
>          Issue Type: Bug
>    Affects Versions: 2.0.12, 2.0.16
>         Environment: AWS Lambda
>            Reporter: biswajit
>            Priority: Major
>             Fix For: 2.0.17
>
>
> in AWS lambda pdf merge giving error as
> {{Error in pdf consolidation: Expected scratch file size of 196608 but found 
> 192512.}}
> *Code:*
> {code}
> PDFMergerUtility pdfMerger = new PDFMergerUtility();
> pdfMerger.addSources(sources);
> pdfMerger.setDestinationStream(mergedPDFOutputStream);
> pdfMerger.mergeDocuments(MemoryUsageSetting.setupTempFileOnly());
> {code}
> both InputStream and OutputStream are ByteArrayInputStream and 
> ByteArrayOutputStream. AWS Lambda environment has 512MB space available only 
> for /tmp partition. This could be an issue or not I am not sure. And AWS 
> lambda do not permit other directory than /tmp partition to create files.
> And while reading into the code I found below piece of code which I think 
> always be true. Because if you add some constant amount to an integer that 
> will always be constant amount greater than its original value
> in ScratchFile.java => enlarge() method:
> {code}
> if (pageCount + ENLARGE_PAGE_COUNT > pageCount)
> {
>   fileLen += ENLARGE_PAGE_COUNT * PAGE_SIZE;
>   raf.setLength(fileLen);
>   freePages.set(pageCount, pageCount + ENLARGE_PAGE_COUNT);
> }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to