You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by GitBox <gi...@apache.org> on 2019/10/31 12:32:45 UTC
[GitHub] [incubator-daffodil] stevedlawrence opened a new pull request #280:
Remove the 2GB limit when unparsing BLOBs
stevedlawrence opened a new pull request #280: Remove the 2GB limit when unparsing BLOBs
URL: https://github.com/apache/incubator-daffodil/pull/280
Due to suspensions, it is possible that we could unparse a BLOB to a
buffered DataOutputStream, which means the entire contents of the BLOB
would be stored in memory until the suspension and its DataOutputStream
were finished. Not only is this a waste of memory since the blob is all
on disk, but can also limit BLOBs to 2GB since buffered
DataOutputStreams use a Byte array for buffering.
This resolves this issue by not immediately unparsing BLOB data, but
instead adding a new BLOB DataOutputStream which writes BLOB data to the
previous DataOutputStream once that stream becomes direct. This means we
never store the full BLOB data in memory and remove the 2GB limit.
DAFFODIL-2194
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services