If someone tries to serialize a json structure that's too close to Integer.MAX_VALUE bytes, ByteArrayOutputStream will fail while trying to grow its array. The failure is particularly annoying because it's an OutOfMemoryError and it will kill the JVM. The exception's message is "Requested array size exceeds VM limit".
It'd be nice if we threw a B2JsonException instead of killing the JVM. ;)
I know this can happen during serialization. We should also look for other places we use a ByteArrayOutputStream and places we might allocate an array more directly.
If someone tries to serialize a json structure that's too close to Integer.MAX_VALUE bytes, ByteArrayOutputStream will fail while trying to grow its array. The failure is particularly annoying because it's an OutOfMemoryError and it will kill the JVM. The exception's message is "Requested array size exceeds VM limit".
It'd be nice if we threw a B2JsonException instead of killing the JVM. ;)
I know this can happen during serialization. We should also look for other places we use a ByteArrayOutputStream and places we might allocate an array more directly.