You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ja...@apache.org on 2022/07/29 10:29:54 UTC
[flink] branch master updated: [FLINK-28679][hive] HiveServer2 Endpoint supports to build with Hive3 (#20358)
This is an automated email from the ASF dual-hosted git repository.
jark pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new aa624025dce [FLINK-28679][hive] HiveServer2 Endpoint supports to build with Hive3 (#20358)
aa624025dce is described below
commit aa624025dce378da3c11fc3ab6e8cf91fc94c30e
Author: Shengkai <33...@users.noreply.github.com>
AuthorDate: Fri Jul 29 18:29:48 2022 +0800
[FLINK-28679][hive] HiveServer2 Endpoint supports to build with Hive3 (#20358)
---
.../table/endpoint/hive/HiveServer2Endpoint.java | 16 +
.../hive/service/rpc/thrift/TGetQueryIdReq.java | 416 ++++++++++++++
.../hive/service/rpc/thrift/TGetQueryIdResp.java | 405 ++++++++++++++
.../hive/service/rpc/thrift/TSetClientInfoReq.java | 600 +++++++++++++++++++++
.../service/rpc/thrift/TSetClientInfoResp.java | 410 ++++++++++++++
.../hive/util/HiveServer2EndpointExtension.java | 6 +-
tools/maven/suppressions.xml | 1 +
7 files changed, 1853 insertions(+), 1 deletion(-)
diff --git a/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/endpoint/hive/HiveServer2Endpoint.java b/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/endpoint/hive/HiveServer2Endpoint.java
index 83493260404..7174a4502f2 100644
--- a/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/endpoint/hive/HiveServer2Endpoint.java
+++ b/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/endpoint/hive/HiveServer2Endpoint.java
@@ -72,6 +72,8 @@ import org.apache.hive.service.rpc.thrift.TGetOperationStatusReq;
import org.apache.hive.service.rpc.thrift.TGetOperationStatusResp;
import org.apache.hive.service.rpc.thrift.TGetPrimaryKeysReq;
import org.apache.hive.service.rpc.thrift.TGetPrimaryKeysResp;
+import org.apache.hive.service.rpc.thrift.TGetQueryIdReq;
+import org.apache.hive.service.rpc.thrift.TGetQueryIdResp;
import org.apache.hive.service.rpc.thrift.TGetResultSetMetadataReq;
import org.apache.hive.service.rpc.thrift.TGetResultSetMetadataResp;
import org.apache.hive.service.rpc.thrift.TGetSchemasReq;
@@ -88,6 +90,8 @@ import org.apache.hive.service.rpc.thrift.TOperationHandle;
import org.apache.hive.service.rpc.thrift.TProtocolVersion;
import org.apache.hive.service.rpc.thrift.TRenewDelegationTokenReq;
import org.apache.hive.service.rpc.thrift.TRenewDelegationTokenResp;
+import org.apache.hive.service.rpc.thrift.TSetClientInfoReq;
+import org.apache.hive.service.rpc.thrift.TSetClientInfoResp;
import org.apache.hive.service.rpc.thrift.TStatus;
import org.apache.hive.service.rpc.thrift.TStatusCode;
import org.apache.thrift.TException;
@@ -556,6 +560,18 @@ public class HiveServer2Endpoint implements TCLIService.Iface, SqlGatewayEndpoin
throw new UnsupportedOperationException(ERROR_MESSAGE);
}
+ // CHECKSTYLE.OFF: MethodName
+ /** To be compatible with Hive3, add a default implementation. */
+ public TGetQueryIdResp GetQueryId(TGetQueryIdReq tGetQueryIdReq) throws TException {
+ throw new UnsupportedOperationException(ERROR_MESSAGE);
+ }
+
+ /** To be compatible with Hive3, add a default implementation. */
+ public TSetClientInfoResp SetClientInfo(TSetClientInfoReq tSetClientInfoReq) throws TException {
+ throw new UnsupportedOperationException(ERROR_MESSAGE);
+ }
+ // CHECKSTYLE.ON: MethodName
+
@Override
public boolean equals(Object o) {
if (this == o) {
diff --git a/flink-connectors/flink-connector-hive/src/main/java/org/apache/hive/service/rpc/thrift/TGetQueryIdReq.java b/flink-connectors/flink-connector-hive/src/main/java/org/apache/hive/service/rpc/thrift/TGetQueryIdReq.java
new file mode 100644
index 00000000000..8fe1d035cf8
--- /dev/null
+++ b/flink-connectors/flink-connector-hive/src/main/java/org/apache/hive/service/rpc/thrift/TGetQueryIdReq.java
@@ -0,0 +1,416 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hive.service.rpc.thrift;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)")
+@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public
+@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable
+public class TGetQueryIdReq
+ implements org.apache.thrift.TBase<TGetQueryIdReq, TGetQueryIdReq._Fields>,
+ java.io.Serializable,
+ Cloneable,
+ Comparable<TGetQueryIdReq> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC =
+ new org.apache.thrift.protocol.TStruct("TGetQueryIdReq");
+
+ private static final org.apache.thrift.protocol.TField OPERATION_HANDLE_FIELD_DESC =
+ new org.apache.thrift.protocol.TField(
+ "operationHandle", org.apache.thrift.protocol.TType.STRUCT, (short) 1);
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY =
+ new TGetQueryIdReqStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY =
+ new TGetQueryIdReqTupleSchemeFactory();
+
+ private TOperationHandle operationHandle; // required
+
+ /**
+ * The set of fields this struct contains, along with convenience methods for finding and
+ * manipulating them.
+ */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ OPERATION_HANDLE((short) 1, "operationHandle");
+
+ private static final java.util.Map<java.lang.String, _Fields> byName =
+ new java.util.HashMap<java.lang.String, _Fields>();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /** Find the _Fields constant that matches fieldId, or null if its not found. */
+ public static _Fields findByThriftId(int fieldId) {
+ switch (fieldId) {
+ case 1: // OPERATION_HANDLE
+ return OPERATION_HANDLE;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null)
+ throw new java.lang.IllegalArgumentException(
+ "Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /** Find the _Fields constant that matches name, or null if its not found. */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData>
+ metaDataMap;
+
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap =
+ new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(
+ _Fields.class);
+ tmpMap.put(
+ _Fields.OPERATION_HANDLE,
+ new org.apache.thrift.meta_data.FieldMetaData(
+ "operationHandle",
+ org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.StructMetaData(
+ org.apache.thrift.protocol.TType.STRUCT, TOperationHandle.class)));
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(
+ TGetQueryIdReq.class, metaDataMap);
+ }
+
+ public TGetQueryIdReq() {}
+
+ public TGetQueryIdReq(TOperationHandle operationHandle) {
+ this();
+ this.operationHandle = operationHandle;
+ }
+
+ /** Performs a deep copy on <i>other</i>. */
+ public TGetQueryIdReq(TGetQueryIdReq other) {
+ if (other.isSetOperationHandle()) {
+ this.operationHandle = new TOperationHandle(other.operationHandle);
+ }
+ }
+
+ public TGetQueryIdReq deepCopy() {
+ return new TGetQueryIdReq(this);
+ }
+
+ @Override
+ public void clear() {
+ this.operationHandle = null;
+ }
+
+ public TOperationHandle getOperationHandle() {
+ return this.operationHandle;
+ }
+
+ public void setOperationHandle(TOperationHandle operationHandle) {
+ this.operationHandle = operationHandle;
+ }
+
+ public void unsetOperationHandle() {
+ this.operationHandle = null;
+ }
+
+ /**
+ * Returns true if field operationHandle is set (has been assigned a value) and false otherwise
+ */
+ public boolean isSetOperationHandle() {
+ return this.operationHandle != null;
+ }
+
+ public void setOperationHandleIsSet(boolean value) {
+ if (!value) {
+ this.operationHandle = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ case OPERATION_HANDLE:
+ if (value == null) {
+ unsetOperationHandle();
+ } else {
+ setOperationHandle((TOperationHandle) value);
+ }
+ break;
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ case OPERATION_HANDLE:
+ return getOperationHandle();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /**
+ * Returns true if field corresponding to fieldID is set (has been assigned a value) and false
+ * otherwise
+ */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ case OPERATION_HANDLE:
+ return isSetOperationHandle();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null) return false;
+ if (that instanceof TGetQueryIdReq) return this.equals((TGetQueryIdReq) that);
+ return false;
+ }
+
+ public boolean equals(TGetQueryIdReq that) {
+ if (that == null) return false;
+ if (this == that) return true;
+
+ boolean this_present_operationHandle = true && this.isSetOperationHandle();
+ boolean that_present_operationHandle = true && that.isSetOperationHandle();
+ if (this_present_operationHandle || that_present_operationHandle) {
+ if (!(this_present_operationHandle && that_present_operationHandle)) return false;
+ if (!this.operationHandle.equals(that.operationHandle)) return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ hashCode = hashCode * 8191 + ((isSetOperationHandle()) ? 131071 : 524287);
+ if (isSetOperationHandle()) hashCode = hashCode * 8191 + operationHandle.hashCode();
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(TGetQueryIdReq other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison =
+ java.lang.Boolean.valueOf(isSetOperationHandle())
+ .compareTo(other.isSetOperationHandle());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetOperationHandle()) {
+ lastComparison =
+ org.apache.thrift.TBaseHelper.compareTo(
+ this.operationHandle, other.operationHandle);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot)
+ throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot)
+ throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("TGetQueryIdReq(");
+ boolean first = true;
+
+ sb.append("operationHandle:");
+ if (this.operationHandle == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.operationHandle);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetOperationHandle()) {
+ throw new org.apache.thrift.protocol.TProtocolException(
+ "Required field 'operationHandle' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ if (operationHandle != null) {
+ operationHandle.validate();
+ }
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(
+ new org.apache.thrift.protocol.TCompactProtocol(
+ new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in)
+ throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ read(
+ new org.apache.thrift.protocol.TCompactProtocol(
+ new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class TGetQueryIdReqStandardSchemeFactory
+ implements org.apache.thrift.scheme.SchemeFactory {
+ public TGetQueryIdReqStandardScheme getScheme() {
+ return new TGetQueryIdReqStandardScheme();
+ }
+ }
+
+ private static class TGetQueryIdReqStandardScheme
+ extends org.apache.thrift.scheme.StandardScheme<TGetQueryIdReq> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, TGetQueryIdReq struct)
+ throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true) {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // OPERATION_HANDLE
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.operationHandle = new TOperationHandle();
+ struct.operationHandle.read(iprot);
+ struct.setOperationHandleIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, TGetQueryIdReq struct)
+ throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.operationHandle != null) {
+ oprot.writeFieldBegin(OPERATION_HANDLE_FIELD_DESC);
+ struct.operationHandle.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+ }
+
+ private static class TGetQueryIdReqTupleSchemeFactory
+ implements org.apache.thrift.scheme.SchemeFactory {
+ public TGetQueryIdReqTupleScheme getScheme() {
+ return new TGetQueryIdReqTupleScheme();
+ }
+ }
+
+ private static class TGetQueryIdReqTupleScheme
+ extends org.apache.thrift.scheme.TupleScheme<TGetQueryIdReq> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, TGetQueryIdReq struct)
+ throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot =
+ (org.apache.thrift.protocol.TTupleProtocol) prot;
+ struct.operationHandle.write(oprot);
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, TGetQueryIdReq struct)
+ throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot =
+ (org.apache.thrift.protocol.TTupleProtocol) prot;
+ struct.operationHandle = new TOperationHandle();
+ struct.operationHandle.read(iprot);
+ struct.setOperationHandleIsSet(true);
+ }
+ }
+
+ private static <S extends org.apache.thrift.scheme.IScheme> S scheme(
+ org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme())
+ ? STANDARD_SCHEME_FACTORY
+ : TUPLE_SCHEME_FACTORY)
+ .getScheme();
+ }
+}
diff --git a/flink-connectors/flink-connector-hive/src/main/java/org/apache/hive/service/rpc/thrift/TGetQueryIdResp.java b/flink-connectors/flink-connector-hive/src/main/java/org/apache/hive/service/rpc/thrift/TGetQueryIdResp.java
new file mode 100644
index 00000000000..3e705c5ce03
--- /dev/null
+++ b/flink-connectors/flink-connector-hive/src/main/java/org/apache/hive/service/rpc/thrift/TGetQueryIdResp.java
@@ -0,0 +1,405 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hive.service.rpc.thrift;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)")
+@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public
+@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable
+public class TGetQueryIdResp
+ implements org.apache.thrift.TBase<TGetQueryIdResp, TGetQueryIdResp._Fields>,
+ java.io.Serializable,
+ Cloneable,
+ Comparable<TGetQueryIdResp> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC =
+ new org.apache.thrift.protocol.TStruct("TGetQueryIdResp");
+
+ private static final org.apache.thrift.protocol.TField QUERY_ID_FIELD_DESC =
+ new org.apache.thrift.protocol.TField(
+ "queryId", org.apache.thrift.protocol.TType.STRING, (short) 1);
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY =
+ new TGetQueryIdRespStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY =
+ new TGetQueryIdRespTupleSchemeFactory();
+
+ private java.lang.String queryId; // required
+
+ /**
+ * The set of fields this struct contains, along with convenience methods for finding and
+ * manipulating them.
+ */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ QUERY_ID((short) 1, "queryId");
+
+ private static final java.util.Map<java.lang.String, _Fields> byName =
+ new java.util.HashMap<java.lang.String, _Fields>();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /** Find the _Fields constant that matches fieldId, or null if its not found. */
+ public static _Fields findByThriftId(int fieldId) {
+ switch (fieldId) {
+ case 1: // QUERY_ID
+ return QUERY_ID;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null)
+ throw new java.lang.IllegalArgumentException(
+ "Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /** Find the _Fields constant that matches name, or null if its not found. */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData>
+ metaDataMap;
+
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap =
+ new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(
+ _Fields.class);
+ tmpMap.put(
+ _Fields.QUERY_ID,
+ new org.apache.thrift.meta_data.FieldMetaData(
+ "queryId",
+ org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.FieldValueMetaData(
+ org.apache.thrift.protocol.TType.STRING)));
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(
+ TGetQueryIdResp.class, metaDataMap);
+ }
+
+ public TGetQueryIdResp() {}
+
+ public TGetQueryIdResp(java.lang.String queryId) {
+ this();
+ this.queryId = queryId;
+ }
+
+ /** Performs a deep copy on <i>other</i>. */
+ public TGetQueryIdResp(TGetQueryIdResp other) {
+ if (other.isSetQueryId()) {
+ this.queryId = other.queryId;
+ }
+ }
+
+ public TGetQueryIdResp deepCopy() {
+ return new TGetQueryIdResp(this);
+ }
+
+ @Override
+ public void clear() {
+ this.queryId = null;
+ }
+
+ public java.lang.String getQueryId() {
+ return this.queryId;
+ }
+
+ public void setQueryId(java.lang.String queryId) {
+ this.queryId = queryId;
+ }
+
+ public void unsetQueryId() {
+ this.queryId = null;
+ }
+
+ /** Returns true if field queryId is set (has been assigned a value) and false otherwise */
+ public boolean isSetQueryId() {
+ return this.queryId != null;
+ }
+
+ public void setQueryIdIsSet(boolean value) {
+ if (!value) {
+ this.queryId = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ case QUERY_ID:
+ if (value == null) {
+ unsetQueryId();
+ } else {
+ setQueryId((java.lang.String) value);
+ }
+ break;
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ case QUERY_ID:
+ return getQueryId();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /**
+ * Returns true if field corresponding to fieldID is set (has been assigned a value) and false
+ * otherwise
+ */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ case QUERY_ID:
+ return isSetQueryId();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null) return false;
+ if (that instanceof TGetQueryIdResp) return this.equals((TGetQueryIdResp) that);
+ return false;
+ }
+
+ public boolean equals(TGetQueryIdResp that) {
+ if (that == null) return false;
+ if (this == that) return true;
+
+ boolean this_present_queryId = true && this.isSetQueryId();
+ boolean that_present_queryId = true && that.isSetQueryId();
+ if (this_present_queryId || that_present_queryId) {
+ if (!(this_present_queryId && that_present_queryId)) return false;
+ if (!this.queryId.equals(that.queryId)) return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ hashCode = hashCode * 8191 + ((isSetQueryId()) ? 131071 : 524287);
+ if (isSetQueryId()) hashCode = hashCode * 8191 + queryId.hashCode();
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(TGetQueryIdResp other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = java.lang.Boolean.valueOf(isSetQueryId()).compareTo(other.isSetQueryId());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetQueryId()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.queryId, other.queryId);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot)
+ throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot)
+ throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("TGetQueryIdResp(");
+ boolean first = true;
+
+ sb.append("queryId:");
+ if (this.queryId == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.queryId);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetQueryId()) {
+ throw new org.apache.thrift.protocol.TProtocolException(
+ "Required field 'queryId' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(
+ new org.apache.thrift.protocol.TCompactProtocol(
+ new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in)
+ throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ read(
+ new org.apache.thrift.protocol.TCompactProtocol(
+ new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class TGetQueryIdRespStandardSchemeFactory
+ implements org.apache.thrift.scheme.SchemeFactory {
+ public TGetQueryIdRespStandardScheme getScheme() {
+ return new TGetQueryIdRespStandardScheme();
+ }
+ }
+
+ private static class TGetQueryIdRespStandardScheme
+ extends org.apache.thrift.scheme.StandardScheme<TGetQueryIdResp> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, TGetQueryIdResp struct)
+ throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true) {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // QUERY_ID
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+ struct.queryId = iprot.readString();
+ struct.setQueryIdIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, TGetQueryIdResp struct)
+ throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.queryId != null) {
+ oprot.writeFieldBegin(QUERY_ID_FIELD_DESC);
+ oprot.writeString(struct.queryId);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+ }
+
+ private static class TGetQueryIdRespTupleSchemeFactory
+ implements org.apache.thrift.scheme.SchemeFactory {
+ public TGetQueryIdRespTupleScheme getScheme() {
+ return new TGetQueryIdRespTupleScheme();
+ }
+ }
+
+ private static class TGetQueryIdRespTupleScheme
+ extends org.apache.thrift.scheme.TupleScheme<TGetQueryIdResp> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, TGetQueryIdResp struct)
+ throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot =
+ (org.apache.thrift.protocol.TTupleProtocol) prot;
+ oprot.writeString(struct.queryId);
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, TGetQueryIdResp struct)
+ throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot =
+ (org.apache.thrift.protocol.TTupleProtocol) prot;
+ struct.queryId = iprot.readString();
+ struct.setQueryIdIsSet(true);
+ }
+ }
+
+ private static <S extends org.apache.thrift.scheme.IScheme> S scheme(
+ org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme())
+ ? STANDARD_SCHEME_FACTORY
+ : TUPLE_SCHEME_FACTORY)
+ .getScheme();
+ }
+}
diff --git a/flink-connectors/flink-connector-hive/src/main/java/org/apache/hive/service/rpc/thrift/TSetClientInfoReq.java b/flink-connectors/flink-connector-hive/src/main/java/org/apache/hive/service/rpc/thrift/TSetClientInfoReq.java
new file mode 100644
index 00000000000..9fab97bd0b1
--- /dev/null
+++ b/flink-connectors/flink-connector-hive/src/main/java/org/apache/hive/service/rpc/thrift/TSetClientInfoReq.java
@@ -0,0 +1,600 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hive.service.rpc.thrift;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)")
+@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public
+@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable
+public class TSetClientInfoReq
+ implements org.apache.thrift.TBase<TSetClientInfoReq, TSetClientInfoReq._Fields>,
+ java.io.Serializable,
+ Cloneable,
+ Comparable<TSetClientInfoReq> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC =
+ new org.apache.thrift.protocol.TStruct("TSetClientInfoReq");
+
+ private static final org.apache.thrift.protocol.TField SESSION_HANDLE_FIELD_DESC =
+ new org.apache.thrift.protocol.TField(
+ "sessionHandle", org.apache.thrift.protocol.TType.STRUCT, (short) 1);
+ private static final org.apache.thrift.protocol.TField CONFIGURATION_FIELD_DESC =
+ new org.apache.thrift.protocol.TField(
+ "configuration", org.apache.thrift.protocol.TType.MAP, (short) 2);
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY =
+ new TSetClientInfoReqStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY =
+ new TSetClientInfoReqTupleSchemeFactory();
+
+ private TSessionHandle sessionHandle; // required
+ private java.util.Map<java.lang.String, java.lang.String> configuration; // optional
+
+ /**
+ * The set of fields this struct contains, along with convenience methods for finding and
+ * manipulating them.
+ */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ SESSION_HANDLE((short) 1, "sessionHandle"),
+ CONFIGURATION((short) 2, "configuration");
+
+ private static final java.util.Map<java.lang.String, _Fields> byName =
+ new java.util.HashMap<java.lang.String, _Fields>();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /** Find the _Fields constant that matches fieldId, or null if its not found. */
+ public static _Fields findByThriftId(int fieldId) {
+ switch (fieldId) {
+ case 1: // SESSION_HANDLE
+ return SESSION_HANDLE;
+ case 2: // CONFIGURATION
+ return CONFIGURATION;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null)
+ throw new java.lang.IllegalArgumentException(
+ "Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /** Find the _Fields constant that matches name, or null if its not found. */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ private static final _Fields optionals[] = {_Fields.CONFIGURATION};
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData>
+ metaDataMap;
+
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap =
+ new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(
+ _Fields.class);
+ tmpMap.put(
+ _Fields.SESSION_HANDLE,
+ new org.apache.thrift.meta_data.FieldMetaData(
+ "sessionHandle",
+ org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.StructMetaData(
+ org.apache.thrift.protocol.TType.STRUCT, TSessionHandle.class)));
+ tmpMap.put(
+ _Fields.CONFIGURATION,
+ new org.apache.thrift.meta_data.FieldMetaData(
+ "configuration",
+ org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.MapMetaData(
+ org.apache.thrift.protocol.TType.MAP,
+ new org.apache.thrift.meta_data.FieldValueMetaData(
+ org.apache.thrift.protocol.TType.STRING),
+ new org.apache.thrift.meta_data.FieldValueMetaData(
+ org.apache.thrift.protocol.TType.STRING))));
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(
+ TSetClientInfoReq.class, metaDataMap);
+ }
+
+ public TSetClientInfoReq() {}
+
+ public TSetClientInfoReq(TSessionHandle sessionHandle) {
+ this();
+ this.sessionHandle = sessionHandle;
+ }
+
+ /** Performs a deep copy on <i>other</i>. */
+ public TSetClientInfoReq(TSetClientInfoReq other) {
+ if (other.isSetSessionHandle()) {
+ this.sessionHandle = new TSessionHandle(other.sessionHandle);
+ }
+ if (other.isSetConfiguration()) {
+ java.util.Map<java.lang.String, java.lang.String> __this__configuration =
+ new java.util.HashMap<java.lang.String, java.lang.String>(other.configuration);
+ this.configuration = __this__configuration;
+ }
+ }
+
+ public TSetClientInfoReq deepCopy() {
+ return new TSetClientInfoReq(this);
+ }
+
+ @Override
+ public void clear() {
+ this.sessionHandle = null;
+ this.configuration = null;
+ }
+
+ public TSessionHandle getSessionHandle() {
+ return this.sessionHandle;
+ }
+
+ public void setSessionHandle(TSessionHandle sessionHandle) {
+ this.sessionHandle = sessionHandle;
+ }
+
+ public void unsetSessionHandle() {
+ this.sessionHandle = null;
+ }
+
+ /**
+ * Returns true if field sessionHandle is set (has been assigned a value) and false otherwise
+ */
+ public boolean isSetSessionHandle() {
+ return this.sessionHandle != null;
+ }
+
+ public void setSessionHandleIsSet(boolean value) {
+ if (!value) {
+ this.sessionHandle = null;
+ }
+ }
+
+ public int getConfigurationSize() {
+ return (this.configuration == null) ? 0 : this.configuration.size();
+ }
+
+ public void putToConfiguration(java.lang.String key, java.lang.String val) {
+ if (this.configuration == null) {
+ this.configuration = new java.util.HashMap<java.lang.String, java.lang.String>();
+ }
+ this.configuration.put(key, val);
+ }
+
+ public java.util.Map<java.lang.String, java.lang.String> getConfiguration() {
+ return this.configuration;
+ }
+
+ public void setConfiguration(java.util.Map<java.lang.String, java.lang.String> configuration) {
+ this.configuration = configuration;
+ }
+
+ public void unsetConfiguration() {
+ this.configuration = null;
+ }
+
+ /**
+ * Returns true if field configuration is set (has been assigned a value) and false otherwise
+ */
+ public boolean isSetConfiguration() {
+ return this.configuration != null;
+ }
+
+ public void setConfigurationIsSet(boolean value) {
+ if (!value) {
+ this.configuration = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ case SESSION_HANDLE:
+ if (value == null) {
+ unsetSessionHandle();
+ } else {
+ setSessionHandle((TSessionHandle) value);
+ }
+ break;
+
+ case CONFIGURATION:
+ if (value == null) {
+ unsetConfiguration();
+ } else {
+ setConfiguration((java.util.Map<java.lang.String, java.lang.String>) value);
+ }
+ break;
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ case SESSION_HANDLE:
+ return getSessionHandle();
+
+ case CONFIGURATION:
+ return getConfiguration();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /**
+ * Returns true if field corresponding to fieldID is set (has been assigned a value) and false
+ * otherwise
+ */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ case SESSION_HANDLE:
+ return isSetSessionHandle();
+ case CONFIGURATION:
+ return isSetConfiguration();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null) return false;
+ if (that instanceof TSetClientInfoReq) return this.equals((TSetClientInfoReq) that);
+ return false;
+ }
+
+ public boolean equals(TSetClientInfoReq that) {
+ if (that == null) return false;
+ if (this == that) return true;
+
+ boolean this_present_sessionHandle = true && this.isSetSessionHandle();
+ boolean that_present_sessionHandle = true && that.isSetSessionHandle();
+ if (this_present_sessionHandle || that_present_sessionHandle) {
+ if (!(this_present_sessionHandle && that_present_sessionHandle)) return false;
+ if (!this.sessionHandle.equals(that.sessionHandle)) return false;
+ }
+
+ boolean this_present_configuration = true && this.isSetConfiguration();
+ boolean that_present_configuration = true && that.isSetConfiguration();
+ if (this_present_configuration || that_present_configuration) {
+ if (!(this_present_configuration && that_present_configuration)) return false;
+ if (!this.configuration.equals(that.configuration)) return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ hashCode = hashCode * 8191 + ((isSetSessionHandle()) ? 131071 : 524287);
+ if (isSetSessionHandle()) hashCode = hashCode * 8191 + sessionHandle.hashCode();
+
+ hashCode = hashCode * 8191 + ((isSetConfiguration()) ? 131071 : 524287);
+ if (isSetConfiguration()) hashCode = hashCode * 8191 + configuration.hashCode();
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(TSetClientInfoReq other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison =
+ java.lang.Boolean.valueOf(isSetSessionHandle())
+ .compareTo(other.isSetSessionHandle());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetSessionHandle()) {
+ lastComparison =
+ org.apache.thrift.TBaseHelper.compareTo(
+ this.sessionHandle, other.sessionHandle);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ lastComparison =
+ java.lang.Boolean.valueOf(isSetConfiguration())
+ .compareTo(other.isSetConfiguration());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetConfiguration()) {
+ lastComparison =
+ org.apache.thrift.TBaseHelper.compareTo(
+ this.configuration, other.configuration);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot)
+ throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot)
+ throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("TSetClientInfoReq(");
+ boolean first = true;
+
+ sb.append("sessionHandle:");
+ if (this.sessionHandle == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.sessionHandle);
+ }
+ first = false;
+ if (isSetConfiguration()) {
+ if (!first) sb.append(", ");
+ sb.append("configuration:");
+ if (this.configuration == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.configuration);
+ }
+ first = false;
+ }
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetSessionHandle()) {
+ throw new org.apache.thrift.protocol.TProtocolException(
+ "Required field 'sessionHandle' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ if (sessionHandle != null) {
+ sessionHandle.validate();
+ }
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(
+ new org.apache.thrift.protocol.TCompactProtocol(
+ new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in)
+ throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ read(
+ new org.apache.thrift.protocol.TCompactProtocol(
+ new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class TSetClientInfoReqStandardSchemeFactory
+ implements org.apache.thrift.scheme.SchemeFactory {
+ public TSetClientInfoReqStandardScheme getScheme() {
+ return new TSetClientInfoReqStandardScheme();
+ }
+ }
+
+ private static class TSetClientInfoReqStandardScheme
+ extends org.apache.thrift.scheme.StandardScheme<TSetClientInfoReq> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, TSetClientInfoReq struct)
+ throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true) {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // SESSION_HANDLE
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.sessionHandle = new TSessionHandle();
+ struct.sessionHandle.read(iprot);
+ struct.setSessionHandleIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ case 2: // CONFIGURATION
+ if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+ {
+ org.apache.thrift.protocol.TMap _map162 = iprot.readMapBegin();
+ struct.configuration =
+ new java.util.HashMap<java.lang.String, java.lang.String>(
+ 2 * _map162.size);
+ java.lang.String _key163;
+ java.lang.String _val164;
+ for (int _i165 = 0; _i165 < _map162.size; ++_i165) {
+ _key163 = iprot.readString();
+ _val164 = iprot.readString();
+ struct.configuration.put(_key163, _val164);
+ }
+ iprot.readMapEnd();
+ }
+ struct.setConfigurationIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, TSetClientInfoReq struct)
+ throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.sessionHandle != null) {
+ oprot.writeFieldBegin(SESSION_HANDLE_FIELD_DESC);
+ struct.sessionHandle.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ if (struct.configuration != null) {
+ if (struct.isSetConfiguration()) {
+ oprot.writeFieldBegin(CONFIGURATION_FIELD_DESC);
+ {
+ oprot.writeMapBegin(
+ new org.apache.thrift.protocol.TMap(
+ org.apache.thrift.protocol.TType.STRING,
+ org.apache.thrift.protocol.TType.STRING,
+ struct.configuration.size()));
+ for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter166 :
+ struct.configuration.entrySet()) {
+ oprot.writeString(_iter166.getKey());
+ oprot.writeString(_iter166.getValue());
+ }
+ oprot.writeMapEnd();
+ }
+ oprot.writeFieldEnd();
+ }
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+ }
+
+ private static class TSetClientInfoReqTupleSchemeFactory
+ implements org.apache.thrift.scheme.SchemeFactory {
+ public TSetClientInfoReqTupleScheme getScheme() {
+ return new TSetClientInfoReqTupleScheme();
+ }
+ }
+
+ private static class TSetClientInfoReqTupleScheme
+ extends org.apache.thrift.scheme.TupleScheme<TSetClientInfoReq> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, TSetClientInfoReq struct)
+ throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot =
+ (org.apache.thrift.protocol.TTupleProtocol) prot;
+ struct.sessionHandle.write(oprot);
+ java.util.BitSet optionals = new java.util.BitSet();
+ if (struct.isSetConfiguration()) {
+ optionals.set(0);
+ }
+ oprot.writeBitSet(optionals, 1);
+ if (struct.isSetConfiguration()) {
+ {
+ oprot.writeI32(struct.configuration.size());
+ for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter167 :
+ struct.configuration.entrySet()) {
+ oprot.writeString(_iter167.getKey());
+ oprot.writeString(_iter167.getValue());
+ }
+ }
+ }
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, TSetClientInfoReq struct)
+ throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot =
+ (org.apache.thrift.protocol.TTupleProtocol) prot;
+ struct.sessionHandle = new TSessionHandle();
+ struct.sessionHandle.read(iprot);
+ struct.setSessionHandleIsSet(true);
+ java.util.BitSet incoming = iprot.readBitSet(1);
+ if (incoming.get(0)) {
+ {
+ org.apache.thrift.protocol.TMap _map168 =
+ new org.apache.thrift.protocol.TMap(
+ org.apache.thrift.protocol.TType.STRING,
+ org.apache.thrift.protocol.TType.STRING,
+ iprot.readI32());
+ struct.configuration =
+ new java.util.HashMap<java.lang.String, java.lang.String>(
+ 2 * _map168.size);
+ java.lang.String _key169;
+ java.lang.String _val170;
+ for (int _i171 = 0; _i171 < _map168.size; ++_i171) {
+ _key169 = iprot.readString();
+ _val170 = iprot.readString();
+ struct.configuration.put(_key169, _val170);
+ }
+ }
+ struct.setConfigurationIsSet(true);
+ }
+ }
+ }
+
+ private static <S extends org.apache.thrift.scheme.IScheme> S scheme(
+ org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme())
+ ? STANDARD_SCHEME_FACTORY
+ : TUPLE_SCHEME_FACTORY)
+ .getScheme();
+ }
+}
diff --git a/flink-connectors/flink-connector-hive/src/main/java/org/apache/hive/service/rpc/thrift/TSetClientInfoResp.java b/flink-connectors/flink-connector-hive/src/main/java/org/apache/hive/service/rpc/thrift/TSetClientInfoResp.java
new file mode 100644
index 00000000000..19c9c66a812
--- /dev/null
+++ b/flink-connectors/flink-connector-hive/src/main/java/org/apache/hive/service/rpc/thrift/TSetClientInfoResp.java
@@ -0,0 +1,410 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hive.service.rpc.thrift;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.13.0)")
+@org.apache.hadoop.hive.common.classification.InterfaceAudience.Public
+@org.apache.hadoop.hive.common.classification.InterfaceStability.Stable
+public class TSetClientInfoResp
+ implements org.apache.thrift.TBase<TSetClientInfoResp, TSetClientInfoResp._Fields>,
+ java.io.Serializable,
+ Cloneable,
+ Comparable<TSetClientInfoResp> {
+ private static final org.apache.thrift.protocol.TStruct STRUCT_DESC =
+ new org.apache.thrift.protocol.TStruct("TSetClientInfoResp");
+
+ private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC =
+ new org.apache.thrift.protocol.TField(
+ "status", org.apache.thrift.protocol.TType.STRUCT, (short) 1);
+
+ private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY =
+ new TSetClientInfoRespStandardSchemeFactory();
+ private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY =
+ new TSetClientInfoRespTupleSchemeFactory();
+
+ private TStatus status; // required
+
+ /**
+ * The set of fields this struct contains, along with convenience methods for finding and
+ * manipulating them.
+ */
+ public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+ STATUS((short) 1, "status");
+
+ private static final java.util.Map<java.lang.String, _Fields> byName =
+ new java.util.HashMap<java.lang.String, _Fields>();
+
+ static {
+ for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+ byName.put(field.getFieldName(), field);
+ }
+ }
+
+ /** Find the _Fields constant that matches fieldId, or null if its not found. */
+ public static _Fields findByThriftId(int fieldId) {
+ switch (fieldId) {
+ case 1: // STATUS
+ return STATUS;
+ default:
+ return null;
+ }
+ }
+
+ /**
+ * Find the _Fields constant that matches fieldId, throwing an exception if it is not found.
+ */
+ public static _Fields findByThriftIdOrThrow(int fieldId) {
+ _Fields fields = findByThriftId(fieldId);
+ if (fields == null)
+ throw new java.lang.IllegalArgumentException(
+ "Field " + fieldId + " doesn't exist!");
+ return fields;
+ }
+
+ /** Find the _Fields constant that matches name, or null if its not found. */
+ public static _Fields findByName(java.lang.String name) {
+ return byName.get(name);
+ }
+
+ private final short _thriftId;
+ private final java.lang.String _fieldName;
+
+ _Fields(short thriftId, java.lang.String fieldName) {
+ _thriftId = thriftId;
+ _fieldName = fieldName;
+ }
+
+ public short getThriftFieldId() {
+ return _thriftId;
+ }
+
+ public java.lang.String getFieldName() {
+ return _fieldName;
+ }
+ }
+
+ // isset id assignments
+ public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData>
+ metaDataMap;
+
+ static {
+ java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap =
+ new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(
+ _Fields.class);
+ tmpMap.put(
+ _Fields.STATUS,
+ new org.apache.thrift.meta_data.FieldMetaData(
+ "status",
+ org.apache.thrift.TFieldRequirementType.REQUIRED,
+ new org.apache.thrift.meta_data.StructMetaData(
+ org.apache.thrift.protocol.TType.STRUCT, TStatus.class)));
+ metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+ org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(
+ TSetClientInfoResp.class, metaDataMap);
+ }
+
+ public TSetClientInfoResp() {}
+
+ public TSetClientInfoResp(TStatus status) {
+ this();
+ this.status = status;
+ }
+
+ /** Performs a deep copy on <i>other</i>. */
+ public TSetClientInfoResp(TSetClientInfoResp other) {
+ if (other.isSetStatus()) {
+ this.status = new TStatus(other.status);
+ }
+ }
+
+ public TSetClientInfoResp deepCopy() {
+ return new TSetClientInfoResp(this);
+ }
+
+ @Override
+ public void clear() {
+ this.status = null;
+ }
+
+ public TStatus getStatus() {
+ return this.status;
+ }
+
+ public void setStatus(TStatus status) {
+ this.status = status;
+ }
+
+ public void unsetStatus() {
+ this.status = null;
+ }
+
+ /** Returns true if field status is set (has been assigned a value) and false otherwise */
+ public boolean isSetStatus() {
+ return this.status != null;
+ }
+
+ public void setStatusIsSet(boolean value) {
+ if (!value) {
+ this.status = null;
+ }
+ }
+
+ public void setFieldValue(_Fields field, java.lang.Object value) {
+ switch (field) {
+ case STATUS:
+ if (value == null) {
+ unsetStatus();
+ } else {
+ setStatus((TStatus) value);
+ }
+ break;
+ }
+ }
+
+ public java.lang.Object getFieldValue(_Fields field) {
+ switch (field) {
+ case STATUS:
+ return getStatus();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ /**
+ * Returns true if field corresponding to fieldID is set (has been assigned a value) and false
+ * otherwise
+ */
+ public boolean isSet(_Fields field) {
+ if (field == null) {
+ throw new java.lang.IllegalArgumentException();
+ }
+
+ switch (field) {
+ case STATUS:
+ return isSetStatus();
+ }
+ throw new java.lang.IllegalStateException();
+ }
+
+ @Override
+ public boolean equals(java.lang.Object that) {
+ if (that == null) return false;
+ if (that instanceof TSetClientInfoResp) return this.equals((TSetClientInfoResp) that);
+ return false;
+ }
+
+ public boolean equals(TSetClientInfoResp that) {
+ if (that == null) return false;
+ if (this == that) return true;
+
+ boolean this_present_status = true && this.isSetStatus();
+ boolean that_present_status = true && that.isSetStatus();
+ if (this_present_status || that_present_status) {
+ if (!(this_present_status && that_present_status)) return false;
+ if (!this.status.equals(that.status)) return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int hashCode = 1;
+
+ hashCode = hashCode * 8191 + ((isSetStatus()) ? 131071 : 524287);
+ if (isSetStatus()) hashCode = hashCode * 8191 + status.hashCode();
+
+ return hashCode;
+ }
+
+ @Override
+ public int compareTo(TSetClientInfoResp other) {
+ if (!getClass().equals(other.getClass())) {
+ return getClass().getName().compareTo(other.getClass().getName());
+ }
+
+ int lastComparison = 0;
+
+ lastComparison = java.lang.Boolean.valueOf(isSetStatus()).compareTo(other.isSetStatus());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetStatus()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, other.status);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
+ return 0;
+ }
+
+ public _Fields fieldForId(int fieldId) {
+ return _Fields.findByThriftId(fieldId);
+ }
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot)
+ throws org.apache.thrift.TException {
+ scheme(iprot).read(iprot, this);
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot)
+ throws org.apache.thrift.TException {
+ scheme(oprot).write(oprot, this);
+ }
+
+ @Override
+ public java.lang.String toString() {
+ java.lang.StringBuilder sb = new java.lang.StringBuilder("TSetClientInfoResp(");
+ boolean first = true;
+
+ sb.append("status:");
+ if (this.status == null) {
+ sb.append("null");
+ } else {
+ sb.append(this.status);
+ }
+ first = false;
+ sb.append(")");
+ return sb.toString();
+ }
+
+ public void validate() throws org.apache.thrift.TException {
+ // check for required fields
+ if (!isSetStatus()) {
+ throw new org.apache.thrift.protocol.TProtocolException(
+ "Required field 'status' is unset! Struct:" + toString());
+ }
+
+ // check for sub-struct validity
+ if (status != null) {
+ status.validate();
+ }
+ }
+
+ private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+ try {
+ write(
+ new org.apache.thrift.protocol.TCompactProtocol(
+ new org.apache.thrift.transport.TIOStreamTransport(out)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private void readObject(java.io.ObjectInputStream in)
+ throws java.io.IOException, java.lang.ClassNotFoundException {
+ try {
+ read(
+ new org.apache.thrift.protocol.TCompactProtocol(
+ new org.apache.thrift.transport.TIOStreamTransport(in)));
+ } catch (org.apache.thrift.TException te) {
+ throw new java.io.IOException(te);
+ }
+ }
+
+ private static class TSetClientInfoRespStandardSchemeFactory
+ implements org.apache.thrift.scheme.SchemeFactory {
+ public TSetClientInfoRespStandardScheme getScheme() {
+ return new TSetClientInfoRespStandardScheme();
+ }
+ }
+
+ private static class TSetClientInfoRespStandardScheme
+ extends org.apache.thrift.scheme.StandardScheme<TSetClientInfoResp> {
+
+ public void read(org.apache.thrift.protocol.TProtocol iprot, TSetClientInfoResp struct)
+ throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TField schemeField;
+ iprot.readStructBegin();
+ while (true) {
+ schemeField = iprot.readFieldBegin();
+ if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+ break;
+ }
+ switch (schemeField.id) {
+ case 1: // STATUS
+ if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+ struct.status = new TStatus();
+ struct.status.read(iprot);
+ struct.setStatusIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
+ default:
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ iprot.readFieldEnd();
+ }
+ iprot.readStructEnd();
+ struct.validate();
+ }
+
+ public void write(org.apache.thrift.protocol.TProtocol oprot, TSetClientInfoResp struct)
+ throws org.apache.thrift.TException {
+ struct.validate();
+
+ oprot.writeStructBegin(STRUCT_DESC);
+ if (struct.status != null) {
+ oprot.writeFieldBegin(STATUS_FIELD_DESC);
+ struct.status.write(oprot);
+ oprot.writeFieldEnd();
+ }
+ oprot.writeFieldStop();
+ oprot.writeStructEnd();
+ }
+ }
+
+ private static class TSetClientInfoRespTupleSchemeFactory
+ implements org.apache.thrift.scheme.SchemeFactory {
+ public TSetClientInfoRespTupleScheme getScheme() {
+ return new TSetClientInfoRespTupleScheme();
+ }
+ }
+
+ private static class TSetClientInfoRespTupleScheme
+ extends org.apache.thrift.scheme.TupleScheme<TSetClientInfoResp> {
+
+ @Override
+ public void write(org.apache.thrift.protocol.TProtocol prot, TSetClientInfoResp struct)
+ throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol oprot =
+ (org.apache.thrift.protocol.TTupleProtocol) prot;
+ struct.status.write(oprot);
+ }
+
+ @Override
+ public void read(org.apache.thrift.protocol.TProtocol prot, TSetClientInfoResp struct)
+ throws org.apache.thrift.TException {
+ org.apache.thrift.protocol.TTupleProtocol iprot =
+ (org.apache.thrift.protocol.TTupleProtocol) prot;
+ struct.status = new TStatus();
+ struct.status.read(iprot);
+ struct.setStatusIsSet(true);
+ }
+ }
+
+ private static <S extends org.apache.thrift.scheme.IScheme> S scheme(
+ org.apache.thrift.protocol.TProtocol proto) {
+ return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme())
+ ? STANDARD_SCHEME_FACTORY
+ : TUPLE_SCHEME_FACTORY)
+ .getScheme();
+ }
+}
diff --git a/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/table/endpoint/hive/util/HiveServer2EndpointExtension.java b/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/table/endpoint/hive/util/HiveServer2EndpointExtension.java
index afccb6cf798..5d26965cc92 100644
--- a/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/table/endpoint/hive/util/HiveServer2EndpointExtension.java
+++ b/flink-connectors/flink-connector-hive/src/test/java/org/apache/flink/table/endpoint/hive/util/HiveServer2EndpointExtension.java
@@ -102,9 +102,13 @@ public class HiveServer2EndpointExtension implements BeforeAllCallback, AfterAll
}
public Connection getConnection() throws Exception {
+ // In hive3, if "hive.metastore.schema.verification" is true, the
+ // "datanucleus.schema.autoCreateTables" is false during the creation of the HiveConf.
+ // So we need to manually enable datanucleus.schema.autoCreateAll
+ // Please cc FLINK-27999 for more details
return DriverManager.getConnection(
String.format(
- "jdbc:hive2://%s:%s/default;auth=noSasl",
+ "jdbc:hive2://%s:%s/default;auth=noSasl?datanucleus.schema.autoCreateAll=true",
InetAddress.getLocalHost().getHostAddress(), getPort()));
}
}
diff --git a/tools/maven/suppressions.xml b/tools/maven/suppressions.xml
index fde4067b86a..7f92e6f6c88 100644
--- a/tools/maven/suppressions.xml
+++ b/tools/maven/suppressions.xml
@@ -89,4 +89,5 @@ under the License.
checks=".*"/>
<!-- suppress check for copied hive code -->
<suppress files="org[\\/]apache[\\/]hadoop[\\/]hive[\\/].*.java" checks=".*"/>
+ <suppress files="org[\\/]apache[\\/]hive[\\/]service[\\/]rpc[\\/]thrift[\\/].*.java" checks=".*"/>
</suppressions>