This is an automated email from the ASF dual-hosted git repository. Wei-hao-Li pushed a commit to branch lwh/frame1.3 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 4cbf004c83b4b5ffa15b99a2a25c6b6f3a021430 Author: Weihao Li <[email protected]> AuthorDate: Mon Apr 27 10:41:12 2026 +0800 Fix appearance of dispatching FI failed because of thrift frame is oversize (#17536) Signed-off-by: Weihao Li <[email protected]> # Conflicts: # iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TCompressedElasticFramedTransport.java # iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TElasticFramedTransport.java # iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/OperationType.java # iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java # iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/ErrorHandlingUtils.java --- .../apache/iotdb/rpc/TElasticFramedTransport.java | 35 ++-------------------- .../iotdb/db/protocol/thrift/OperationType.java | 9 ------ 2 files changed, 3 insertions(+), 41 deletions(-) diff --git a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TElasticFramedTransport.java b/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TElasticFramedTransport.java index cd0256712f2..112d52ebb11 100644 --- a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TElasticFramedTransport.java +++ b/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/TElasticFramedTransport.java @@ -23,11 +23,8 @@ import org.apache.thrift.TConfiguration; import org.apache.thrift.transport.TTransport; import org.apache.thrift.transport.TTransportException; import org.apache.thrift.transport.TTransportFactory; -import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.layered.TFramedTransport; -import java.net.SocketAddress; - // https://github.com/apache/thrift/blob/master/doc/specs/thrift-rpc.md public class TElasticFramedTransport extends TTransport { @@ -129,11 +126,6 @@ public class TElasticFramedTransport extends TTransport { } protected void validateFrame(int size) throws TTransportException { - final int HTTP_GET_SIGNATURE = 0x47455420; // "GET " - final int HTTP_POST_SIGNATURE = 0x504F5354; // "POST" - final int TLS_MIN_VERSION = 0x160300; - final int TLS_MAX_VERSION = 0x160303; - final int TLS_LENGTH_HIGH_MAX = 0x02; if (size < 0) { close(); @@ -151,16 +143,6 @@ public class TElasticFramedTransport extends TTransport { + size + ") detected, you may be sending HTTP GET/POST requests to the Thrift-RPC port, please confirm that you are using the right port"); } else { - int high24 = size >>> 8; - if (high24 >= TLS_MIN_VERSION - && high24 <= TLS_MAX_VERSION - && (i32buf[3] & 0xFF) <= TLS_LENGTH_HIGH_MAX) { - throw new TTransportException( - TTransportException.CORRUPTED_DATA, - "Singular frame size (" - + size - + ") detected, you may be sending TLS requests to the Thrift-RPC port, please confirm that you are using the right port"); - } throw new TTransportException( TTransportException.CORRUPTED_DATA, "Frame size (" + size + ") larger than protect max size (" + thriftMaxFrameSize + ")!"); @@ -173,21 +155,10 @@ public class TElasticFramedTransport extends TTransport { if (size <= thriftMaxFrameSize) { return; } - SocketAddress remoteAddress = null; - if (underlying instanceof TSocket) { - remoteAddress = ((TSocket) underlying).getSocket().getRemoteSocketAddress(); - } - String remoteInfo = (remoteAddress == null) ? "" : " to " + remoteAddress; - String message = - "Frame size (" - + size - + ") larger than protect max size (" - + thriftMaxFrameSize - + ") while writing" - + remoteInfo - + "!"; close(); - throw new TTransportException(TTransportException.CORRUPTED_DATA, message); + throw new TTransportException( + TTransportException.CORRUPTED_DATA, + "Frame size (" + size + ") larger than protect max size (" + thriftMaxFrameSize + ")!"); } @Override diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/OperationType.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/OperationType.java index 94b5dcadecb..ba55c97cb07 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/OperationType.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/OperationType.java @@ -50,15 +50,6 @@ public enum OperationType { CREATE_SCHEMA_TEMPLATE("createSchemaTemplate"), CHECK_AUTHORITY("checkAuthority"), EXECUTE_NON_QUERY_PLAN("executeNonQueryPlan"), - SELECT_INTO("selectInto"), - QUERY_LATENCY("queryLatency"), - WRITE_AUDIT_LOG("writeAuditLog"), - PREPARE_STATEMENT("prepareStatement"), - EXECUTE_PREPARED_STATEMENT("executePreparedStatement"), - DEALLOCATE_PREPARED_STATEMENT("deallocatePreparedStatement"), - GET_EARLIEST_TIMESLOTS("getEarliestTimeslots"), - GENERATE_DATA_PARTITION_TABLE("generateDataPartitionTable"), - CHECK_DATA_PARTITION_TABLE_STATUS("checkDataPartitionTableStatus"), DISPATCH_FRAGMENT_INSTANCE("dispatchFragmentInstance"); private final String name;
