awslabs/amazon-sqs-java-extended-client-lib

Why 2G limit ?

Closed this issue · 1 comments

This is great, I just found this looking up SQS pricing -- I wrote a simplier version of this years ago.
Question: What is the reason for the 2G limit ? I have a use case where files can vary from 100bytes to 6+G ... Of course I can split them up, but since I currently use S3 and upload/download them with no problem wondering what it would take to break the 2G limit ?

( forking right now ... )

-David

Hi David,

This library inherits and implements the same API signatures as the Amazon SQS client in the AWS Java SDK, which accepts a Java String as the message body. In Java, the maximum size of a String is bounded by Integer.MAX_VALUE, which is 2147483647 (2^31 – 1). As we are using UTF-8 encoding, this means the theoretical maximum limit is 2GB if your text is pure ASCII. This limit will be higher than 2GB if you are using non-ASCII characters. The Amazon SQS Extended Client Library does not enforce any size limits other than the bounds imposed by the Java String length.