ctubbsii commented on PR #3873: URL: https://github.com/apache/accumulo/pull/3873#issuecomment-1772046213
> We might not want to use `Integer.MAX_VALUE` exactly. I know that the limit for `byte[]` is less than that, and I think the exact number might be dependent on things out of our control. We might want to use `Integer.MAX_VALUE - 100` or something. The max message size is just a count of the number of bytes read from the stream; it doesn't correspond to any particular byte array size. This is related to the max frame size in the TFramedTransport, though, and that may be related to a byte array, if the message is read fully. I'd have to look into the implementation more closely, though. In any case, we use `Integer.MAX_VALUE` elsewhere for client side, and it really doesn't matter if the value here exceeds the maximum array index limit. The point is to make it so impractically large that it won't trigger unnecessary errors for users. If they hit an error because they max out a byte array, or because they hit this limit, it's already kind of catastrophic, and it really doesn't matter which error specifically caused the catastrophe (actually, it'd probably better if it was a JVM one, because that would be clearly distinguishable from the EOFException that Thrift causes, which looks the same as a transient network error; at leas t the JVM complaining about a byte array being too big would stand out as a distinct problem). In any case, this is still WIP. I need to do more here, but I quickly put something up to demo the end-to-end process of cloning a repo, making a change, and creating a pull request, for the benefit of a newer developer. -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
