Skip to content

Commit 43f214c

Browse files
authored
direct load detach task support 442 (#401)
1 parent c2b44d9 commit 43f214c

File tree

3 files changed

+48
-51
lines changed

3 files changed

+48
-51
lines changed

src/main/java/com/alipay/oceanbase/rpc/ObGlobal.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,26 @@ public static boolean isDistributeNeedTabletIdSupport() {
132132

133133
/*-------------------------------------------- OB_VERSION --------------------------------------------*/
134134

135+
public static final long OB_VERSION_4_2_1_0 = calcVersion(4, (short) 2, (byte) 1, (byte) 0);
136+
137+
public static final long OB_VERSION_4_2_1_7 = calcVersion(4, (short) 2, (byte) 1, (byte) 7);
138+
139+
public static final long OB_VERSION_4_2_2_0 = calcVersion(4, (short) 2, (byte) 2, (byte) 0);
140+
135141
public static final long OB_VERSION_4_2_3_0 = calcVersion(4, (short) 2, (byte) 3, (byte) 0);
136142

143+
public static final long OB_VERSION_4_2_4_0 = calcVersion(4, (short) 2, (byte) 4, (byte) 0);
144+
137145
public static final long OB_VERSION_4_2_5_2 = calcVersion(4, (short) 2, (byte) 5, (byte) 2);
138146

147+
public static final long OB_VERSION_4_2_5_3 = calcVersion(4, (short) 2, (byte) 5, (byte) 3);
148+
139149
public static final long OB_VERSION_4_3_0_0 = calcVersion(4, (short) 3, (byte) 0, (byte) 0);
140150

151+
public static final long OB_VERSION_4_3_0_1 = calcVersion(4, (short) 3, (byte) 0, (byte) 1);
152+
153+
public static final long OB_VERSION_4_3_2_0 = calcVersion(4, (short) 3, (byte) 2, (byte) 0);
154+
141155
public static final long OB_VERSION_4_3_4_0 = calcVersion(4, (short) 3, (byte) 4, (byte) 0);
142156

143157
public static final long OB_VERSION_4_3_5_0 = calcVersion(4, (short) 3, (byte) 5, (byte) 0);
@@ -154,6 +168,10 @@ public static boolean isDistributeNeedTabletIdSupport() {
154168

155169
public static final long OB_VERSION_4_4_1_0 = calcVersion(4, (short) 4, (byte) 1, (byte) 0);
156170

171+
public static final long OB_VERSION_4_4_2_0 = calcVersion(4, (short) 4, (byte) 2, (byte) 0);
172+
173+
public static final long OB_VERSION_4_5_0_0 = calcVersion(4, (short) 5, (byte) 0, (byte) 0);
174+
157175
public static long OB_VERSION = calcVersion(0, (short) 0, (byte) 0, (byte) 0);
158176

159177
/*-------------------------------------------- OB_PROXY_VERSION --------------------------------------------*/

src/main/java/com/alipay/oceanbase/rpc/direct_load/protocol/ObDirectLoadProtocolFactory.java

Lines changed: 8 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -25,40 +25,18 @@
2525

2626
public class ObDirectLoadProtocolFactory {
2727

28-
private static final ObDirectLoadLogger logger = ObDirectLoadLogger.getLogger();
29-
30-
// 起始版本
31-
// 4_2_1_release
32-
public static final long OB_VERSION_4_2_1_0 = ObGlobal.calcVersion(4, (short) 2,
33-
(byte) 1, (byte) 0);
34-
// 4_2_x_release
35-
public static final long OB_VERSION_4_2_2_0 = ObGlobal.calcVersion(4, (short) 2,
36-
(byte) 2, (byte) 0);
37-
// master
38-
public static final long OB_VERSION_4_3_0_0 = ObGlobal.calcVersion(4, (short) 3,
39-
(byte) 0, (byte) 0);
40-
41-
// 最低支持版本
42-
// 4_2_1_release
43-
public static final long OB_VERSION_4_2_1_7 = ObGlobal.calcVersion(4, (short) 2,
44-
(byte) 1, (byte) 7);
45-
// 4_2_x_release
46-
public static final long OB_VERSION_4_2_4_0 = ObGlobal.calcVersion(4, (short) 2,
47-
(byte) 4, (byte) 0);
48-
// master
49-
public static final long OB_VERSION_4_3_0_1 = ObGlobal.calcVersion(4, (short) 3,
50-
(byte) 0, (byte) 1);
28+
private static final ObDirectLoadLogger logger = ObDirectLoadLogger.getLogger();
5129

5230
public static long getSupportedMinimumObVersion(long obVersion) {
5331
long minimumObVersion = 0;
54-
if (obVersion < OB_VERSION_4_2_1_0) { // < 421
55-
minimumObVersion = OB_VERSION_4_2_1_7;
56-
} else if (obVersion < OB_VERSION_4_2_2_0) { // 421
57-
minimumObVersion = OB_VERSION_4_2_1_7;
58-
} else if (obVersion < OB_VERSION_4_3_0_0) { // 42x
59-
minimumObVersion = OB_VERSION_4_2_4_0;
32+
if (obVersion < ObGlobal.OB_VERSION_4_2_1_0) { // < 421
33+
minimumObVersion = ObGlobal.OB_VERSION_4_2_1_7;
34+
} else if (obVersion < ObGlobal.OB_VERSION_4_2_2_0) { // 421
35+
minimumObVersion = ObGlobal.OB_VERSION_4_2_1_7;
36+
} else if (obVersion < ObGlobal.OB_VERSION_4_3_0_0) { // 42x
37+
minimumObVersion = ObGlobal.OB_VERSION_4_2_4_0;
6038
} else { // master
61-
minimumObVersion = OB_VERSION_4_3_0_1;
39+
minimumObVersion = ObGlobal.OB_VERSION_4_3_0_1;
6240
}
6341
return minimumObVersion;
6442
}

src/main/java/com/alipay/oceanbase/rpc/direct_load/protocol/v0/ObDirectLoadProtocolV0.java

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,7 @@
2828

2929
public class ObDirectLoadProtocolV0 implements ObDirectLoadProtocol {
3030

31-
public static final long OB_VERSION_4_2_5_3 = ObGlobal.calcVersion(4, (short) 2,
32-
(byte) 5, (byte) 3);
33-
public static final long OB_VERSION_4_3_0_0 = ObGlobal.calcVersion(4, (short) 3,
34-
(byte) 0, (byte) 0);
35-
36-
public static final long OB_VERSION_4_3_2_0 = ObGlobal.calcVersion(4, (short) 3,
37-
(byte) 2, (byte) 0);
38-
public static final long OB_VERSION_4_3_5_0 = ObGlobal.calcVersion(4, (short) 3,
39-
(byte) 5, (byte) 0);
40-
41-
private static final int PROTOCOL_VERSION = 0;
31+
private static final int PROTOCOL_VERSION = 0;
4232
private final ObDirectLoadLogger logger;
4333
private final long obVersion;
4434

@@ -58,26 +48,27 @@ public int getProtocolVersion() {
5848

5949
@Override
6050
public void checkIsSupported(ObDirectLoadStatement statement) throws ObDirectLoadException {
61-
if (obVersion < OB_VERSION_4_3_2_0) {
51+
if (obVersion < ObGlobal.OB_VERSION_4_3_2_0) {
6252
// 432以下不支持inc|inc_replace
6353
String loadMethod = statement.getLoadMethod();
6454
if (!loadMethod.isEmpty() && !loadMethod.equalsIgnoreCase("full")) {
6555
logger.warn("load method in ob version " + ObGlobal.getObVsnString(obVersion)
6656
+ "is not supported, minimum version required is "
67-
+ ObGlobal.getObVsnString(OB_VERSION_4_3_2_0));
57+
+ ObGlobal.getObVsnString(ObGlobal.OB_VERSION_4_3_2_0));
6858
throw new ObDirectLoadNotSupportedException(
6959
"load method in ob version " + ObGlobal.getObVsnString(obVersion)
7060
+ " is not supported, minimum version required is "
71-
+ ObGlobal.getObVsnString(OB_VERSION_4_3_2_0));
61+
+ ObGlobal.getObVsnString(ObGlobal.OB_VERSION_4_3_2_0));
7262
}
73-
} else if (obVersion < OB_VERSION_4_3_5_0 && statement.getPartitionNames().length > 0) {
63+
} else if (obVersion < ObGlobal.OB_VERSION_4_3_5_0
64+
&& statement.getPartitionNames().length > 0) {
7465
logger.warn("partition names in ob version " + ObGlobal.getObVsnString(obVersion)
7566
+ "is not supported, minimum version required is "
76-
+ ObGlobal.getObVsnString(OB_VERSION_4_3_5_0));
67+
+ ObGlobal.getObVsnString(ObGlobal.OB_VERSION_4_3_5_0));
7768
throw new ObDirectLoadNotSupportedException(
7869
"partition names in ob version " + ObGlobal.getObVsnString(obVersion)
7970
+ " is not supported, minimum version required is "
80-
+ ObGlobal.getObVsnString(OB_VERSION_4_3_5_0));
71+
+ ObGlobal.getObVsnString(ObGlobal.OB_VERSION_4_3_5_0));
8172
}
8273
}
8374

@@ -114,15 +105,25 @@ public ObDirectLoadHeartBeatRpc getHeartBeatRpc(ObDirectLoadTraceId traceId) {
114105
@Override
115106
public ObDirectLoadDetachRpc getDetachRpc(ObDirectLoadTraceId traceId)
116107
throws ObDirectLoadException {
117-
if (obVersion < OB_VERSION_4_3_0_0) {
118-
if (obVersion < OB_VERSION_4_2_5_3) {
108+
if (obVersion < ObGlobal.OB_VERSION_4_3_0_0) {
109+
if (obVersion < ObGlobal.OB_VERSION_4_2_5_3) {
110+
logger.warn("detach in ob version " + ObGlobal.getObVsnString(obVersion)
111+
+ "is not supported, minimum version required is "
112+
+ ObGlobal.getObVsnString(ObGlobal.OB_VERSION_4_2_5_3));
113+
throw new ObDirectLoadNotSupportedException(
114+
"detach in ob version " + ObGlobal.getObVsnString(obVersion)
115+
+ " is not supported, minimum version required is "
116+
+ ObGlobal.getObVsnString(ObGlobal.OB_VERSION_4_2_5_3));
117+
}
118+
} else if (obVersion < ObGlobal.OB_VERSION_4_5_0_0) {
119+
if (obVersion < ObGlobal.OB_VERSION_4_4_2_0) {
119120
logger.warn("detach in ob version " + ObGlobal.getObVsnString(obVersion)
120121
+ "is not supported, minimum version required is "
121-
+ ObGlobal.getObVsnString(OB_VERSION_4_2_5_3));
122+
+ ObGlobal.getObVsnString(ObGlobal.OB_VERSION_4_4_2_0));
122123
throw new ObDirectLoadNotSupportedException(
123124
"detach in ob version " + ObGlobal.getObVsnString(obVersion)
124125
+ " is not supported, minimum version required is "
125-
+ ObGlobal.getObVsnString(OB_VERSION_4_2_5_3));
126+
+ ObGlobal.getObVsnString(ObGlobal.OB_VERSION_4_4_2_0));
126127
}
127128
} else {
128129
logger.warn("detach in ob version " + ObGlobal.getObVsnString(obVersion)

0 commit comments

Comments
 (0)