Skip to content

Commit 89f6d6d

Browse files
CrazyHZMbeiwei30
authored andcommitted
Fix ContentTypeId conflict (#3967)
* fix ContentTypeId conflict * modify * modify avro id
1 parent a206dde commit 89f6d6d

File tree

13 files changed

+38
-15
lines changed

13 files changed

+38
-15
lines changed

dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -875,4 +875,18 @@ public class Constants {
875875
public static final String METRICS_PROTOCOL = "metrics.protocol";
876876

877877

878+
/**
879+
* Serizlization ContentTypeId
880+
*/
881+
public static final byte HESSIAN2_SERIALIZATION_ID = 2;
882+
public static final byte JAVA_SERIALIZATION_ID = 3;
883+
public static final byte COMPACTED_JAVA_SERIALIZATION_ID = 4;
884+
public static final byte FASTJSON_SERIALIZATION_ID = 6;
885+
public static final byte NATIVE_JAVA_SERIALIZATION_ID = 7;
886+
public static final byte KRYO_SERIALIZATION_ID = 8;
887+
public static final byte FST_SERIALIZATION_ID = 9;
888+
public static final byte PROTOSTUFF_SERIALIZATION_ID = 10;
889+
public static final byte AVRO_SERIALIZATION_ID = 11;
890+
public static final byte GSON_SERIALIZATION_ID = 16;
891+
878892
}

dubbo-remoting/dubbo-remoting-api/src/main/java/org/apache/dubbo/remoting/transport/CodecSupport.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ public static Serialization getSerialization(URL url, Byte id) throws IOExceptio
7171
String serializationName = url.getParameter(Constants.SERIALIZATION_KEY, Constants.DEFAULT_REMOTING_SERIALIZATION);
7272
// Check if "serialization id" passed from network matches the id on this side(only take effect for JDK serialization), for security purpose.
7373
if (serialization == null
74-
|| ((id == 3 || id == 7 || id == 4) && !(serializationName.equals(ID_SERIALIZATIONNAME_MAP.get(id))))) {
74+
|| ((id == Constants.JAVA_SERIALIZATION_ID || id == Constants.NATIVE_JAVA_SERIALIZATION_ID || id == Constants.COMPACTED_JAVA_SERIALIZATION_ID)
75+
&& !(serializationName.equals(ID_SERIALIZATIONNAME_MAP.get(id))))) {
7576
throw new IOException("Unexpected serialization id:" + id + " received from network, please check if the peer send the right id.");
7677
}
7778
return serialization;

dubbo-serialization/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroSerialization.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package org.apache.dubbo.common.serialize.avro;
1818

19+
import org.apache.dubbo.common.Constants;
1920
import org.apache.dubbo.common.URL;
2021
import org.apache.dubbo.common.serialize.ObjectInput;
2122
import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -29,7 +30,7 @@ public class AvroSerialization implements Serialization {
2930

3031
@Override
3132
public byte getContentTypeId() {
32-
return 10;
33+
return Constants.AVRO_SERIALIZATION_ID;
3334
}
3435

3536
@Override

dubbo-serialization/dubbo-serialization-fastjson/src/main/java/org/apache/dubbo/common/serialize/fastjson/FastJsonSerialization.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package org.apache.dubbo.common.serialize.fastjson;
1818

19+
import org.apache.dubbo.common.Constants;
1920
import org.apache.dubbo.common.URL;
2021
import org.apache.dubbo.common.serialize.ObjectInput;
2122
import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -36,7 +37,7 @@ public class FastJsonSerialization implements Serialization {
3637

3738
@Override
3839
public byte getContentTypeId() {
39-
return 6;
40+
return Constants.FASTJSON_SERIALIZATION_ID;
4041
}
4142

4243
@Override

dubbo-serialization/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstSerialization.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package org.apache.dubbo.common.serialize.fst;
1818

19+
import org.apache.dubbo.common.Constants;
1920
import org.apache.dubbo.common.URL;
2021
import org.apache.dubbo.common.serialize.ObjectInput;
2122
import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -36,7 +37,7 @@ public class FstSerialization implements Serialization {
3637

3738
@Override
3839
public byte getContentTypeId() {
39-
return 9;
40+
return Constants.FST_SERIALIZATION_ID;
4041
}
4142

4243
@Override

dubbo-serialization/dubbo-serialization-gson/src/main/java/org/apache/dubbo/common/serialize/gson/GsonSerialization.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package org.apache.dubbo.common.serialize.gson;
1919

20+
import org.apache.dubbo.common.Constants;
2021
import org.apache.dubbo.common.URL;
2122
import org.apache.dubbo.common.serialize.ObjectInput;
2223
import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -31,7 +32,7 @@ public class GsonSerialization implements Serialization {
3132

3233
@Override
3334
public byte getContentTypeId() {
34-
return 16;
35+
return Constants.GSON_SERIALIZATION_ID;
3536
}
3637

3738
@Override

dubbo-serialization/dubbo-serialization-hessian2/src/main/java/org/apache/dubbo/common/serialize/hessian2/Hessian2Serialization.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package org.apache.dubbo.common.serialize.hessian2;
1818

19+
import org.apache.dubbo.common.Constants;
1920
import org.apache.dubbo.common.URL;
2021
import org.apache.dubbo.common.serialize.ObjectInput;
2122
import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -34,11 +35,9 @@
3435
*/
3536
public class Hessian2Serialization implements Serialization {
3637

37-
public static final byte ID = 2;
38-
3938
@Override
4039
public byte getContentTypeId() {
41-
return ID;
40+
return Constants.HESSIAN2_SERIALIZATION_ID;
4241
}
4342

4443
@Override

dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/java/CompactedJavaSerialization.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package org.apache.dubbo.common.serialize.java;
1818

19+
import org.apache.dubbo.common.Constants;
1920
import org.apache.dubbo.common.URL;
2021
import org.apache.dubbo.common.serialize.ObjectInput;
2122
import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -36,7 +37,7 @@ public class CompactedJavaSerialization implements Serialization {
3637

3738
@Override
3839
public byte getContentTypeId() {
39-
return 4;
40+
return Constants.COMPACTED_JAVA_SERIALIZATION_ID;
4041
}
4142

4243
@Override

dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/java/JavaSerialization.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package org.apache.dubbo.common.serialize.java;
1818

19+
import org.apache.dubbo.common.Constants;
1920
import org.apache.dubbo.common.URL;
2021
import org.apache.dubbo.common.serialize.ObjectInput;
2122
import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -36,7 +37,7 @@ public class JavaSerialization implements Serialization {
3637

3738
@Override
3839
public byte getContentTypeId() {
39-
return 3;
40+
return Constants.JAVA_SERIALIZATION_ID;
4041
}
4142

4243
@Override

dubbo-serialization/dubbo-serialization-jdk/src/main/java/org/apache/dubbo/common/serialize/nativejava/NativeJavaSerialization.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package org.apache.dubbo.common.serialize.nativejava;
1919

20+
import org.apache.dubbo.common.Constants;
2021
import org.apache.dubbo.common.URL;
2122
import org.apache.dubbo.common.serialize.ObjectInput;
2223
import org.apache.dubbo.common.serialize.ObjectOutput;
@@ -35,11 +36,10 @@
3536
*/
3637
public class NativeJavaSerialization implements Serialization {
3738

38-
public static final String NAME = "nativejava";
3939

4040
@Override
4141
public byte getContentTypeId() {
42-
return 7;
42+
return Constants.NATIVE_JAVA_SERIALIZATION_ID;
4343
}
4444

4545
@Override

0 commit comments

Comments
 (0)