Riza Suminto has uploaded this change for review. ( http://gerrit.cloudera.org:8080/19712
Change subject: IMPALA-12043: Fix "MaxMessageSize reached" exception in Thrift JNI ...................................................................... IMPALA-12043: Fix "MaxMessageSize reached" exception in Thrift JNI Large results from something like COMPUTE INCREMENTAL STATS can result in "TTransportException: MaxMessageSize reached". This happens when CatalogdMetaProvider.updateCatalogCache() receives a buffer through the JNI from NativeGetNextCatalogObjectUpdate that exceeds 100MB. TByteBuffer inherits from TEndpointTransport, which in Thrift 0.16.0 adds a MaxMessageSize limit. TMemoryBuffer adds a constructor that allows passing in a TConfiguration object to customize the limit, which we make use of in IMPALA-11669, but TByteBuffer does not provide a similar interface (THRIFT-5696) and was overlooked. This patch fix the issue by copying org.apache.thrift.transport.TByteBuffer from thrift-0.16.0 to org.apache.impala.util.TByteBuffer and patch it with fix from THRIFT-5696. It then pass thrift_rpc_max_message_size value as a TConfiguration to the TByteBuffer constructor. Once Impala upgrade its IMPALA_THRIFT_POM_VERSION to thrift-0.19.0, it can revert back to use TByteBuffer class from Apache Thrift java library. Testing: - Pass CatalogdMetaProviderTest tests. Change-Id: I105db332cd312d80bac0313090576bc47064ee16 --- M be/src/util/backend-gflag-util.cc M bin/impala-config.sh M common/thrift/BackendGflags.thrift M fe/src/main/java/org/apache/impala/catalog/ImpaladCatalog.java M fe/src/main/java/org/apache/impala/catalog/local/CatalogdMetaProvider.java M fe/src/main/java/org/apache/impala/service/BackendConfig.java A fe/src/main/java/org/apache/impala/util/TByteBuffer.java M fe/src/test/java/org/apache/impala/catalog/local/CatalogdMetaProviderTest.java 8 files changed, 179 insertions(+), 4 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/12/19712/1 -- To view, visit http://gerrit.cloudera.org:8080/19712 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I105db332cd312d80bac0313090576bc47064ee16 Gerrit-Change-Number: 19712 Gerrit-PatchSet: 1 Gerrit-Owner: Riza Suminto <[email protected]>
