Impala Public Jenkins has submitted this change and it was merged. Change subject: IMPALA-5744: Add 'use_krpc' flag and create DataStream interface ......................................................................
IMPALA-5744: Add 'use_krpc' flag and create DataStream interface This patch introduces a 'use_krpc' flag and creates an abstract interface for the DataStreamRecvr/Mgr. The 'use_krpc' flag defaults to 'false'. Cluster startup will abort with an error if the flag is switched to 'true'. The DataStreamSender implements the same virtual interface as the DataSink, so a pure virtual class for the DataStreamSender would essentially be an empty class. Therefore, it is not implemented. The new interfaces are pure virtual base classes and are named DataStream*Base. Using pure virtual base classes may result in code duplication but the current approach is to optimize for the eventual removal of the thrift implementations. Stubs for the Krpc implementations are also introduced and are named KrpcDataStream*. They currently only abort with a fatal error if they are used. Their actual implementations will be filled in a later patch. When the time comes to standardize on the KRPC implementations of DataStream*Base, we will get rid of the DataStream*Base classes and the Thrift versions of the classes and rename KrpcDataStream* to DataStream*. We will also rename all the references that the clients have to DataStream*Base to DataStream*. Also did some spurious includes cleanup. Change-Id: I5d52245154e910529a68f53049520238eca16241 Reviewed-on: http://gerrit.cloudera.org:8080/7542 Reviewed-by: Sailesh Mukil <sail...@cloudera.com> Tested-by: Impala Public Jenkins --- M be/src/exec/data-sink.cc M be/src/exec/exchange-node.cc M be/src/exec/exchange-node.h M be/src/runtime/CMakeLists.txt A be/src/runtime/data-stream-mgr-base.h M be/src/runtime/data-stream-mgr.cc M be/src/runtime/data-stream-mgr.h A be/src/runtime/data-stream-recvr-base.h M be/src/runtime/data-stream-recvr.h M be/src/runtime/data-stream-test.cc M be/src/runtime/exec-env.cc M be/src/runtime/exec-env.h M be/src/runtime/fragment-instance-state.cc A be/src/runtime/krpc-data-stream-mgr.cc A be/src/runtime/krpc-data-stream-mgr.h A be/src/runtime/krpc-data-stream-recvr.cc A be/src/runtime/krpc-data-stream-recvr.h M be/src/runtime/runtime-state.cc M be/src/runtime/runtime-state.h M be/src/service/impala-server.cc 20 files changed, 436 insertions(+), 39 deletions(-) Approvals: Impala Public Jenkins: Verified Sailesh Mukil: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/7542 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I5d52245154e910529a68f53049520238eca16241 Gerrit-PatchSet: 14 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Sailesh Mukil <sail...@cloudera.com> Gerrit-Reviewer: Henry Robinson <he...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Michael Ho <k...@cloudera.com> Gerrit-Reviewer: Sailesh Mukil <sail...@cloudera.com>