This is an automated email from the ASF dual-hosted git repository.

iluo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git


The following commit(s) were added to refs/heads/master by this push:
     new 89f6d6d  Fix ContentTypeId conflict (#3967)
89f6d6d is described below

commit 89f6d6d262ec7c26f85988405c7a9a464202a461
Author: huazhongming <[email protected]>
AuthorDate: Sun May 5 15:45:56 2019 +0800

    Fix ContentTypeId conflict (#3967)
    
    * fix ContentTypeId conflict
    
    * modify
    
    * modify avro id
---
 .../src/main/java/org/apache/dubbo/common/Constants.java   | 14 ++++++++++++++
 .../org/apache/dubbo/remoting/transport/CodecSupport.java  |  3 ++-
 .../dubbo/common/serialize/avro/AvroSerialization.java     |  3 ++-
 .../common/serialize/fastjson/FastJsonSerialization.java   |  3 ++-
 .../dubbo/common/serialize/fst/FstSerialization.java       |  3 ++-
 .../dubbo/common/serialize/gson/GsonSerialization.java     |  3 ++-
 .../common/serialize/hessian2/Hessian2Serialization.java   |  5 ++---
 .../common/serialize/java/CompactedJavaSerialization.java  |  3 ++-
 .../dubbo/common/serialize/java/JavaSerialization.java     |  3 ++-
 .../serialize/nativejava/NativeJavaSerialization.java      |  4 ++--
 .../dubbo/common/serialize/kryo/KryoSerialization.java     |  3 ++-
 .../serialize/protostuff/ProtostuffSerialization.java      |  3 ++-
 .../dubbo/common/serialize/avro/AvroSerializationTest.java |  3 ++-
 13 files changed, 38 insertions(+), 15 deletions(-)

diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java 
b/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java
index 596d91c..c89a314 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java
@@ -875,4 +875,18 @@ public class Constants {
     public static final String METRICS_PROTOCOL = "metrics.protocol";
 
 
+    /**
+     * Serizlization ContentTypeId
+     */
+    public static final byte HESSIAN2_SERIALIZATION_ID = 2;
+    public static final byte JAVA_SERIALIZATION_ID = 3;
+    public static final byte COMPACTED_JAVA_SERIALIZATION_ID = 4;
+    public static final byte FASTJSON_SERIALIZATION_ID = 6;
+    public static final byte NATIVE_JAVA_SERIALIZATION_ID = 7;
+    public static final byte KRYO_SERIALIZATION_ID = 8;
+    public static final byte FST_SERIALIZATION_ID = 9;
+    public static final byte PROTOSTUFF_SERIALIZATION_ID = 10;
+    public static final byte AVRO_SERIALIZATION_ID = 11;
+    public static final byte GSON_SERIALIZATION_ID = 16;
+
 }
diff --git 
a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/transport/CodecSupport.java
 
b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/transport/CodecSupport.java
index 07da9a3..9125f84 100644
--- 
a/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/transport/CodecSupport.java
+++ 
b/dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/transport/CodecSupport.java
@@ -71,7 +71,8 @@ public class CodecSupport {
         String serializationName = 
url.getParameter(Constants.SERIALIZATION_KEY, 
Constants.DEFAULT_REMOTING_SERIALIZATION);
         // Check if "serialization id" passed from network matches the id on 
this side(only take effect for JDK serialization), for security purpose.
         if (serialization == null
-                || ((id == 3 || id == 7 || id == 4) && 
!(serializationName.equals(ID_SERIALIZATIONNAME_MAP.get(id))))) {
+                || ((id == Constants.JAVA_SERIALIZATION_ID || id == 
Constants.NATIVE_JAVA_SERIALIZATION_ID || id == 
Constants.COMPACTED_JAVA_SERIALIZATION_ID)
+                && 
!(serializationName.equals(ID_SERIALIZATIONNAME_MAP.get(id))))) {
             throw new IOException("Unexpected serialization id:" + id + " 
received from network, please check if the peer send the right id.");
         }
         return serialization;
diff --git 
a/dubbo-serialization/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroSerialization.java
 
b/dubbo-serialization/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroSerialization.java
index 8c54662..37eb320 100644
--- 
a/dubbo-serialization/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroSerialization.java
+++ 
b/dubbo-serialization/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroSerialization.java
@@ -16,6 +16,7 @@
  */
 package org.apache.dubbo.common.serialize.avro;
 
+import org.apache.dubbo.common.Constants;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -29,7 +30,7 @@ public class AvroSerialization implements Serialization {
 
     @Override
     public byte getContentTypeId() {
-        return 10;
+        return Constants.AVRO_SERIALIZATION_ID;
     }
 
     @Override
diff --git 
a/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/org/apache/dubbo/common/serialize/fastjson/FastJsonSerialization.java
 
b/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/org/apache/dubbo/common/serialize/fastjson/FastJsonSerialization.java
index 0975871..d1d804e 100644
--- 
a/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/org/apache/dubbo/common/serialize/fastjson/FastJsonSerialization.java
+++ 
b/dubbo-serialization/dubbo-serialization-fastjson/src/main/java/org/apache/dubbo/common/serialize/fastjson/FastJsonSerialization.java
@@ -16,6 +16,7 @@
  */
 package org.apache.dubbo.common.serialize.fastjson;
 
+import org.apache.dubbo.common.Constants;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -36,7 +37,7 @@ public class FastJsonSerialization implements Serialization {
 
     @Override
     public byte getContentTypeId() {
-        return 6;
+        return Constants.FASTJSON_SERIALIZATION_ID;
     }
 
     @Override
diff --git 
a/dubbo-serialization/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstSerialization.java
 
b/dubbo-serialization/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstSerialization.java
index e8b984c..c9201d2 100644
--- 
a/dubbo-serialization/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstSerialization.java
+++ 
b/dubbo-serialization/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstSerialization.java
@@ -16,6 +16,7 @@
  */
 package org.apache.dubbo.common.serialize.fst;
 
+import org.apache.dubbo.common.Constants;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -36,7 +37,7 @@ public class FstSerialization implements Serialization {
 
     @Override
     public byte getContentTypeId() {
-        return 9;
+        return Constants.FST_SERIALIZATION_ID;
     }
 
     @Override
diff --git 
a/dubbo-serialization/dubbo-serialization-gson/src/main/java/org/apache/dubbo/common/serialize/gson/GsonSerialization.java
 
b/dubbo-serialization/dubbo-serialization-gson/src/main/java/org/apache/dubbo/common/serialize/gson/GsonSerialization.java
index eaa8f37..cb4c2f9 100644
--- 
a/dubbo-serialization/dubbo-serialization-gson/src/main/java/org/apache/dubbo/common/serialize/gson/GsonSerialization.java
+++ 
b/dubbo-serialization/dubbo-serialization-gson/src/main/java/org/apache/dubbo/common/serialize/gson/GsonSerialization.java
@@ -17,6 +17,7 @@
 
 package org.apache.dubbo.common.serialize.gson;
 
+import org.apache.dubbo.common.Constants;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -31,7 +32,7 @@ public class GsonSerialization implements Serialization {
 
     @Override
     public byte getContentTypeId() {
-        return 16;
+        return Constants.GSON_SERIALIZATION_ID;
     }
 
     @Override
diff --git 
a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/Hessian2Serialization.java
 
b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/Hessian2Serialization.java
index 225df10..2c46c5b 100644
--- 
a/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/Hessian2Serialization.java
+++ 
b/dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/Hessian2Serialization.java
@@ -16,6 +16,7 @@
  */
 package org.apache.dubbo.common.serialize.hessian2;
 
+import org.apache.dubbo.common.Constants;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -34,11 +35,9 @@ import java.io.OutputStream;
  */
 public class Hessian2Serialization implements Serialization {
 
-    public static final byte ID = 2;
-
     @Override
     public byte getContentTypeId() {
-        return ID;
+        return Constants.HESSIAN2_SERIALIZATION_ID;
     }
 
     @Override
diff --git 
a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/java/CompactedJavaSerialization.java
 
b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/java/CompactedJavaSerialization.java
index 8222ac4..e1b75ab 100644
--- 
a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/java/CompactedJavaSerialization.java
+++ 
b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/java/CompactedJavaSerialization.java
@@ -16,6 +16,7 @@
  */
 package org.apache.dubbo.common.serialize.java;
 
+import org.apache.dubbo.common.Constants;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -36,7 +37,7 @@ public class CompactedJavaSerialization implements 
Serialization {
 
     @Override
     public byte getContentTypeId() {
-        return 4;
+        return Constants.COMPACTED_JAVA_SERIALIZATION_ID;
     }
 
     @Override
diff --git 
a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/java/JavaSerialization.java
 
b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/java/JavaSerialization.java
index bf98818..01d29ee 100644
--- 
a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/java/JavaSerialization.java
+++ 
b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/java/JavaSerialization.java
@@ -16,6 +16,7 @@
  */
 package org.apache.dubbo.common.serialize.java;
 
+import org.apache.dubbo.common.Constants;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -36,7 +37,7 @@ public class JavaSerialization implements Serialization {
 
     @Override
     public byte getContentTypeId() {
-        return 3;
+        return Constants.JAVA_SERIALIZATION_ID;
     }
 
     @Override
diff --git 
a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/nativejava/NativeJavaSerialization.java
 
b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/nativejava/NativeJavaSerialization.java
index 5519869..2d89161 100644
--- 
a/dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/nativejava/NativeJavaSerialization.java
+++ 
b/dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/nativejava/NativeJavaSerialization.java
@@ -17,6 +17,7 @@
 
 package org.apache.dubbo.common.serialize.nativejava;
 
+import org.apache.dubbo.common.Constants;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -35,11 +36,10 @@ import java.io.OutputStream;
  */
 public class NativeJavaSerialization implements Serialization {
 
-    public static final String NAME = "nativejava";
 
     @Override
     public byte getContentTypeId() {
-        return 7;
+        return Constants.NATIVE_JAVA_SERIALIZATION_ID;
     }
 
     @Override
diff --git 
a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization.java
 
b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization.java
index aa10df4..4f903ff 100644
--- 
a/dubbo-serialization/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization.java
+++ 
b/dubbo-serialization/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization.java
@@ -16,6 +16,7 @@
  */
 package org.apache.dubbo.common.serialize.kryo;
 
+import org.apache.dubbo.common.Constants;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -36,7 +37,7 @@ public class KryoSerialization implements Serialization {
 
     @Override
     public byte getContentTypeId() {
-        return 8;
+        return Constants.KRYO_SERIALIZATION_ID;
     }
 
     @Override
diff --git 
a/dubbo-serialization/dubbo-serialization-protostuff/src/main/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerialization.java
 
b/dubbo-serialization/dubbo-serialization-protostuff/src/main/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerialization.java
index acdeaea..66b6833 100644
--- 
a/dubbo-serialization/dubbo-serialization-protostuff/src/main/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerialization.java
+++ 
b/dubbo-serialization/dubbo-serialization-protostuff/src/main/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerialization.java
@@ -17,6 +17,7 @@
 
 package org.apache.dubbo.common.serialize.protostuff;
 
+import org.apache.dubbo.common.Constants;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -36,7 +37,7 @@ import java.io.OutputStream;
 public class ProtostuffSerialization implements Serialization {
     @Override
     public byte getContentTypeId() {
-        return 10;
+        return Constants.PROTOSTUFF_SERIALIZATION_ID;
     }
 
     @Override
diff --git 
a/dubbo-serialization/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java
 
b/dubbo-serialization/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java
index 79e42bd..ee591cb 100644
--- 
a/dubbo-serialization/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java
+++ 
b/dubbo-serialization/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.dubbo.common.serialize.avro;
 
+import org.apache.dubbo.common.Constants;
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
 import org.hamcrest.Matchers;
@@ -46,7 +47,7 @@ public class AvroSerializationTest {
 
     @Test
     public void testContentTypeId() {
-        assertThat(avroSerialization.getContentTypeId(), is((byte) 10));
+        assertThat(avroSerialization.getContentTypeId(), 
is(Constants.AVRO_SERIALIZATION_ID));
     }
 
     @Test

Reply via email to