You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by gu...@apache.org on 2021/10/11 08:20:21 UTC
[dubbo] branch 3.0 updated: Fix compressor flag = 1 when compressor
is none (#9018)
This is an automated email from the ASF dual-hosted git repository.
guohao pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.0 by this push:
new a6cd3a4 Fix compressor flag = 1 when compressor is none (#9018)
a6cd3a4 is described below
commit a6cd3a4f201b6768a54aebfae796db87887ef76f
Author: GuoHao <gu...@gmail.com>
AuthorDate: Mon Oct 11 16:20:05 2021 +0800
Fix compressor flag = 1 when compressor is none (#9018)
---
.../apache/dubbo/rpc/protocol/tri/TripleUtil.java | 51 +++++++++++-----------
1 file changed, 25 insertions(+), 26 deletions(-)
diff --git a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleUtil.java b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleUtil.java
index ad7d809..1467c8e 100644
--- a/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleUtil.java
+++ b/dubbo-rpc/dubbo-rpc-triple/src/main/java/org/apache/dubbo/rpc/protocol/tri/TripleUtil.java
@@ -57,15 +57,17 @@ import static io.netty.handler.codec.http.HttpResponseStatus.OK;
public class TripleUtil {
public static final AttributeKey<AbstractServerStream> SERVER_STREAM_KEY = AttributeKey.newInstance(
- "tri_server_stream");
+ "tri_server_stream");
public static final AttributeKey<AbstractClientStream> CLIENT_STREAM_KEY = AttributeKey.newInstance(
- "tri_client_stream");
+ "tri_client_stream");
public static final AttributeKey<Compressor> COMPRESSOR_KEY = AttributeKey.newInstance(
- "tri_compressor");
-
+ "tri_compressor");
+ public static final String LANGUAGE = "java";
// Some exceptions are not very useful and add too much noise to the log
private static final Set<String> QUIET_EXCEPTIONS = new HashSet<>();
private static final Set<Class<?>> QUIET_EXCEPTIONS_CLASS = new HashSet<>();
+ private static final Base64.Decoder BASE64_DECODER = Base64.getDecoder();
+ private static final Base64.Encoder BASE64_ENCODER = Base64.getEncoder().withoutPadding();
static {
QUIET_EXCEPTIONS.add("NativeIoException");
@@ -83,12 +85,6 @@ public class TripleUtil {
return false;
}
-
- public static final String LANGUAGE = "java";
-
- private static final Base64.Decoder BASE64_DECODER = Base64.getDecoder();
- private static final Base64.Encoder BASE64_ENCODER = Base64.getEncoder().withoutPadding();
-
public static AbstractServerStream getServerStream(ChannelHandlerContext ctx) {
return ctx.channel().attr(TripleUtil.SERVER_STREAM_KEY).get();
}
@@ -103,7 +99,10 @@ public class TripleUtil {
public static int calcCompressFlag(ChannelHandlerContext ctx) {
Compressor compressor = getCompressor(ctx);
- return null == compressor ? 0 : 1;
+ if (null == compressor || IdentityCompressor.NONE.equals(compressor)) {
+ return 0;
+ }
+ return 1;
}
/**
@@ -176,7 +175,7 @@ public class TripleUtil {
for (int i = 0; i < arguments.length; i++) {
final ByteArrayInputStream bais = new ByteArrayInputStream(wrap.getArgs(i).toByteArray());
Object obj = multipleSerialization.deserialize(url,
- serializeType, wrap.getArgTypes(i), bais);
+ serializeType, wrap.getArgTypes(i), bais);
arguments[i] = obj;
}
return arguments;
@@ -190,8 +189,8 @@ public class TripleUtil {
MultipleSerialization multipleSerialization) {
try {
final TripleWrapper.TripleResponseWrapper.Builder builder = TripleWrapper.TripleResponseWrapper.newBuilder()
- .setType(desc.getReturnClass().getName())
- .setSerializeType(convertHessianToWrapper(serializeType));
+ .setType(desc.getReturnClass().getName())
+ .setSerializeType(convertHessianToWrapper(serializeType));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
multipleSerialization.serialize(url, serializeType, desc.getReturnClass().getName(), resp, bos);
builder.setData(ByteString.copyFrom(bos.toByteArray()));
@@ -207,9 +206,9 @@ public class TripleUtil {
MultipleSerialization serialization) {
try {
final TripleWrapper.TripleExceptionWrapper.Builder builder = TripleWrapper.TripleExceptionWrapper.newBuilder()
- .setLanguage(LANGUAGE)
- .setClassName(throwable.getClass().getName())
- .setSerialization(serializeType);
+ .setLanguage(LANGUAGE)
+ .setClassName(throwable.getClass().getName())
+ .setSerialization(serializeType);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
serialization.serialize(url, serializeType, builder.getClassName(), throwable, bos);
builder.setData(ByteString.copyFrom(bos.toByteArray()));
@@ -246,8 +245,8 @@ public class TripleUtil {
MultipleSerialization multipleSerialization) {
try {
final TripleWrapper.TripleRequestWrapper.Builder builder = TripleWrapper.TripleRequestWrapper.newBuilder()
- .addArgTypes(type)
- .setSerializeType(convertHessianToWrapper(serializeType));
+ .addArgTypes(type)
+ .setSerializeType(convertHessianToWrapper(serializeType));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
multipleSerialization.serialize(url, serializeType, type, req, bos);
builder.addArgs(ByteString.copyFrom(bos.toByteArray()));
@@ -263,7 +262,7 @@ public class TripleUtil {
try {
String serializationName = (String) invocation.getObjectAttachment(Constants.SERIALIZATION_KEY);
final TripleWrapper.TripleRequestWrapper.Builder builder = TripleWrapper.TripleRequestWrapper.newBuilder()
- .setSerializeType(convertHessianToWrapper(serializationName));
+ .setSerializeType(convertHessianToWrapper(serializationName));
for (int i = 0; i < invocation.getArguments().length; i++) {
final String clz = invocation.getParameterTypes()[i].getName();
builder.addArgTypes(clz);
@@ -314,14 +313,14 @@ public class TripleUtil {
}
public static String encodeWrapper(URL url, Object obj, String serializeType, MultipleSerialization serialization)
- throws IOException {
+ throws IOException {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
serialization.serialize(url, serializeType, obj.getClass().getName(), obj, bos);
final TripleWrapper.TripleRequestWrapper wrap = TripleWrapper.TripleRequestWrapper.newBuilder()
- .setSerializeType(convertHessianToWrapper(serializeType))
- .addArgTypes(obj.getClass().getName())
- .addArgs(ByteString.copyFrom(bos.toByteArray()))
- .build();
+ .setSerializeType(convertHessianToWrapper(serializeType))
+ .addArgTypes(obj.getClass().getName())
+ .addArgs(ByteString.copyFrom(bos.toByteArray()))
+ .build();
return encodeBase64ASCII(wrap.toByteArray());
}
@@ -335,7 +334,7 @@ public class TripleUtil {
}
public static Object decodeObjFromHeader(URL url, CharSequence value, MultipleSerialization serialization)
- throws InvalidProtocolBufferException {
+ throws InvalidProtocolBufferException {
final byte[] decode = decodeASCIIByte(value);
final TripleWrapper.TripleRequestWrapper wrapper = TripleWrapper.TripleRequestWrapper.parseFrom(decode);
final Object[] objects = TripleUtil.unwrapReq(url, wrapper, serialization);