You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A ByteBuffer can never hold more than 4 GiB of data. But the NonBlockingFileIO.read(...) functions don't complain if more than that is requested. They should error saying that this request can't be fulfilled.
Likewise the readChunked functions cap out at (IIRC) 2 GiB and don't complain if you request more than 2 GiB chunks.
Both need to error.
So
read: Work through 4 GiB, error > 4 GiB
readChunked: Work up through 2 GiB, error > 2 GiB (the reason for the 2 GiB limit is that IIRC the underlying posix functions don't work if > CInt.max, this should be checked though).
The text was updated successfully, but these errors were encountered:
We should also upgrade some of the Int types that express file sizes to Int64 so 4GB+ sizes can actually be supported on 32bit systems. I think this only affects the byteCount parameter of readChunked. This can be done separately and will need to preserver and deprecate the old function signatures. Note that offset is already Int64.
We should also upgrade some of the Int types that express file sizes to Int64 so 4GB+ sizes can actually be supported on 32bit systems. I think this only affects the byteCount parameter of readChunked. This can be done separately and will need to preserver and deprecate the old function signatures. Note that offset is already Int64.
We don't need > 32 bit chunks. Reasonable chunk sizes are in kiB or MiB
A
ByteBuffer
can never hold more than 4 GiB of data. But theNonBlockingFileIO.read(...)
functions don't complain if more than that is requested. They should error saying that this request can't be fulfilled.Likewise the
readChunked
functions cap out at (IIRC) 2 GiB and don't complain if you request more than 2 GiB chunks.Both need to error.
So
read
: Work through 4 GiB, error > 4 GiBreadChunked
: Work up through 2 GiB, error > 2 GiB (the reason for the 2 GiB limit is that IIRC the underlying posix functions don't work if >CInt.max
, this should be checked though).The text was updated successfully, but these errors were encountered: