pdfbox-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timo Boehme (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PDFBOX-4601) in AWS lambda pdf merge giving error as Error in pdf consolidation: Expected scratch file size of 196608 but found 192512
Date Mon, 22 Jul 2019 11:07:00 GMT

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

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

For me this is a quite strange behavior (e.g. fileLen after: 131072, raf length: 65536): after
setting the RAF size and checking it does not report the new size. Somehow it seems the file
system does not report the correct new size (while testing on my end the set length is immediately
also reported on raf.length()). Is this a special behavior on the AWS filesystem or JDK? It
seems there is some caching or lazy propagation of IO operations ...

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


Mime
View raw message