This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 51b112340bd Clarify the non-ssl client connects the ssl server error
log information (#16665)
51b112340bd is described below
commit 51b112340bd09705bc673c77ae32645e9076d83b
Author: Haonan <[email protected]>
AuthorDate: Wed Oct 29 09:58:04 2025 +0800
Clarify the non-ssl client connects the ssl server error log information
(#16665)
---
.../apache/iotdb/rpc/TElasticFramedTransport.java | 43 ++++++++++++++++++----
1 file changed, 35 insertions(+), 8 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 0ff58f71e12..c366d8a9333 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
@@ -20,14 +20,17 @@
package org.apache.iotdb.rpc;
import org.apache.thrift.TConfiguration;
+import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;
import org.apache.thrift.transport.TTransportException;
import org.apache.thrift.transport.TTransportFactory;
import org.apache.thrift.transport.layered.TFramedTransport;
+import javax.net.ssl.SSLException;
import javax.net.ssl.SSLHandshakeException;
import java.io.EOFException;
+import java.net.SocketAddress;
import java.net.SocketTimeoutException;
// https://github.com/apache/thrift/blob/master/doc/specs/thrift-rpc.md
@@ -136,6 +139,20 @@ public class TElasticFramedTransport extends TTransport {
&& e.getCause().getCause() instanceof EOFException) {
throw new TTransportException(TTransportException.END_OF_FILE,
e.getCause());
}
+ if (e.getCause() instanceof SSLException
+ && e.getMessage().contains("Unsupported or unrecognized SSL
message")) {
+ SocketAddress remoteAddress = null;
+ if (underlying instanceof TSocket) {
+ remoteAddress = ((TSocket)
underlying).getSocket().getRemoteSocketAddress();
+ }
+ throw new TTransportException(
+ TTransportException.CORRUPTED_DATA,
+ String.format(
+ "You may be sending non-SSL requests"
+ + "%s to the SSL-enabled Thrift-RPC port, please confirm
that you are "
+ + "using the right configuration",
+ remoteAddress == null ? "" : " from " + remoteAddress));
+ }
throw e;
}
return readBuffer.read(buf, off, len);
@@ -152,15 +169,20 @@ public class TElasticFramedTransport extends TTransport {
}
if (size > thriftMaxFrameSize) {
+ SocketAddress remoteAddress = null;
+ if (underlying instanceof TSocket) {
+ remoteAddress = ((TSocket)
underlying).getSocket().getRemoteSocketAddress();
+ }
close();
if (size == 1195725856L || size == 1347375956L) {
// if someone sends HTTP GET/POST to this port, the size will be read
as the following
throw new TTransportException(
TTransportException.CORRUPTED_DATA,
- "Singular frame size ("
- + size
- + ") detected, you may be sending HTTP GET/POST requests to
the Thrift-RPC port, "
- + "please confirm that you are using the right port");
+ String.format(
+ "Singular frame size (%d) detected, you may be sending HTTP
GET/POST"
+ + "%s requests to the Thrift-RPC port, "
+ + "please confirm that you are using the right port",
+ size, remoteAddress == null ? "" : " from " + remoteAddress));
} else {
throw new TTransportException(
TTransportException.CORRUPTED_DATA,
@@ -172,13 +194,18 @@ public class TElasticFramedTransport extends TTransport {
if (high24 >= 0x160300 && high24 <= 0x160303 && (i32buf[3] & 0xFF) <=
0x02) {
// The typical TLS ClientHello requests start with 0x160300 ~ 0x160303
// The 4th byte is typically in [0x00, 0x01, 0x02].
+ SocketAddress remoteAddress = null;
+ if (underlying instanceof TSocket) {
+ remoteAddress = ((TSocket)
underlying).getSocket().getRemoteSocketAddress();
+ }
close();
throw new TTransportException(
TTransportException.CORRUPTED_DATA,
- "Singular frame size ("
- + size
- + ") detected, you may be sending TLS ClientHello requests to
the Non-SSL Thrift-RPC"
- + " port, please confirm that you are using the right
configuration");
+ String.format(
+ "Singular frame size (%d) detected, you may be sending TLS
ClientHello requests"
+ + "%s to the Non-SSL Thrift-RPC"
+ + " port, please confirm that you are using the right
configuration",
+ size, remoteAddress == null ? "" : " from " + remoteAddress));
}
readBuffer.fill(underlying, size);