THRIFT-5237 Implement MAX_MESSAGE_SIZE and consolidate limits into a
TConfiguration class. The MAX_MESSAGE_SIZE default to 100MB. This patch
adds backend flag 'thrift_rpc_max_message_size' to override the default
MAX_MESSAGE_SIZE by calling function AssignDefaultTConfiguration.
We set higher default, 1GB, to minimize interruption on existing Impala
workload. We should consider lowering this default once we ensure that
all thrift rpc response can be made in batches, such as explained in
IMPALA-11402.
Thrift tuning for communication with HMS is fixed through HIVE-26633.
Appropriate Hive version bump is required.
Testing:
- Add EXPECT_NO_THROW to verify that 'checkReadBytesAvailable' to does
not throw exception given default FLAGS_thrift_rpc_max_message_size.
- Add MaxMessageSizeFit and MaxMessageSizeExceeded tests in
thrift-server-test.
- Run and pass thrift-server-test
Change-Id: I137683d43c72a34105fd7b32fea3a93532601ae3
Reviewed-on: http://gerrit.cloudera.org:8080/19162
Reviewed-by: Wenzhe Zhou <wzhou@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>