Skip to content

Commit 84cdafd

Browse files
committed
do compatibility to old server, remove useless comments
1 parent 86e0954 commit 84cdafd

File tree

3 files changed

+44
-41
lines changed

3 files changed

+44
-41
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,11 @@ public static boolean isReturnOneResultSupport() {
9191
|| OB_VERSION >= OB_VERSION_4_3_4_0;
9292
}
9393

94+
public static boolean isHBaseBatchGetSupport() {
95+
return (OB_VERSION >= OB_VERSION_4_2_5_2 && OB_VERSION < OB_VERSION_4_3_0_0) ||
96+
OB_VERSION >= OB_VERSION_4_3_5_0;
97+
}
98+
9499
public static final long OB_VERSION_4_2_3_0 = calcVersion(4, (short) 2, (byte) 3, (byte) 0);
95100

96101
public static final long OB_VERSION_4_2_5_2 = calcVersion(4, (short) 2, (byte) 5, (byte) 2);

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@
6565
import static com.alipay.oceanbase.rpc.protocol.payload.ResultCodes.OB_ERR_KV_ROUTE_ENTRY_EXPIRE;
6666
import static com.alipay.oceanbase.rpc.protocol.payload.impl.execute.ObTableOperationType.*;
6767
import static com.alipay.oceanbase.rpc.util.TableClientLoggerFactory.*;
68-
import static java.lang.String.format;
6968

7069
public class ObTableClient extends AbstractObTableClient implements Lifecycle {
7170
private static final Logger logger = getLogger(ObTableClient.class);

src/main/java/com/alipay/oceanbase/rpc/protocol/payload/impl/execute/ObTableSingleOpQuery.java

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

1818
package com.alipay.oceanbase.rpc.protocol.payload.impl.execute;
1919

20+
import com.alipay.oceanbase.rpc.ObGlobal;
2021
import com.alipay.oceanbase.rpc.protocol.payload.AbstractPayload;
2122
import com.alipay.oceanbase.rpc.protocol.payload.impl.ObObj;
2223
import com.alipay.oceanbase.rpc.protocol.payload.impl.ObTableSerialUtil;
@@ -76,39 +77,34 @@ public byte[] encode() {
7677
System.arraycopy(Serialization.encodeVString(filterString), 0, bytes, idx, len);
7778
idx += len;
7879

79-
// selectColumns + scanOrder + hTableFilter + obKVParams
80-
81-
len = Serialization.getNeedBytes(selectColumns.size());
82-
System.arraycopy(Serialization.encodeVi64(selectColumns.size()), 0, bytes, idx, len);
83-
idx += len;
84-
for (String selectColumn : selectColumns) {
85-
len = Serialization.getNeedBytes(selectColumn);
86-
System.arraycopy(Serialization.encodeVString(selectColumn), 0, bytes, idx, len);
80+
// encode HBase Batch Get required
81+
if (isHbaseQuery && ObGlobal.isHBaseBatchGetSupport()) {
82+
len = Serialization.getNeedBytes(selectColumns.size());
83+
System.arraycopy(Serialization.encodeVi64(selectColumns.size()), 0, bytes, idx, len);
8784
idx += len;
88-
}
85+
for (String selectColumn : selectColumns) {
86+
len = Serialization.getNeedBytes(selectColumn);
87+
System.arraycopy(Serialization.encodeVString(selectColumn), 0, bytes, idx, len);
88+
idx += len;
89+
}
8990

90-
System.arraycopy(Serialization.encodeI8(scanOrder.getByteValue()), 0, bytes, idx, 1);
91-
idx += 1;
91+
System.arraycopy(Serialization.encodeI8(scanOrder.getByteValue()), 0, bytes, idx, 1);
92+
idx += 1;
9293

93-
if (isHbaseQuery) {
9494
len = (int) hTableFilter.getPayloadSize();
9595
System.arraycopy(hTableFilter.encode(), 0, bytes, idx, len);
96-
} else {
97-
len = HTABLE_DUMMY_BYTES.length;
98-
System.arraycopy(HTABLE_DUMMY_BYTES, 0, bytes, idx, len);
99-
}
100-
idx += len;
101-
102-
if (isHbaseQuery && obKVParams != null) {
103-
len = (int) obKVParams.getPayloadSize();
104-
System.arraycopy(obKVParams.encode(), 0, bytes, idx, len);
105-
idx += len;
106-
} else {
107-
len = HTABLE_DUMMY_BYTES.length;
108-
System.arraycopy(HTABLE_DUMMY_BYTES, 0, bytes, idx, len);
10996
idx += len;
110-
}
11197

98+
if (obKVParams != null) {
99+
len = (int) obKVParams.getPayloadSize();
100+
System.arraycopy(obKVParams.encode(), 0, bytes, idx, len);
101+
idx += len;
102+
} else {
103+
len = HTABLE_DUMMY_BYTES.length;
104+
System.arraycopy(HTABLE_DUMMY_BYTES, 0, bytes, idx, len);
105+
idx += len;
106+
}
107+
}
112108
return bytes;
113109
}
114110

@@ -169,21 +165,24 @@ public long getPayloadContentSize() {
169165
payloadContentSize += Serialization.getNeedBytes(indexName);
170166
payloadContentSize += Serialization.getNeedBytes(filterString);
171167

172-
payloadContentSize += Serialization.getNeedBytes(selectColumns.size());
173-
for (String selectColumn : selectColumns) {
174-
payloadContentSize += Serialization.getNeedBytes(selectColumn);
175-
}
176-
payloadContentSize += 1; // scanOrder
168+
// calculate part required by HBase Batch Get
169+
if (isHbaseQuery && ObGlobal.isHBaseBatchGetSupport()) {
170+
payloadContentSize += Serialization.getNeedBytes(selectColumns.size());
171+
for (String selectColumn : selectColumns) {
172+
payloadContentSize += Serialization.getNeedBytes(selectColumn);
173+
}
174+
payloadContentSize += 1; // scanOrder
177175

178-
if (isHbaseQuery) {
179-
payloadContentSize += hTableFilter.getPayloadSize();
180-
} else {
181-
payloadContentSize += HTABLE_DUMMY_BYTES.length;
182-
}
183-
if (isHbaseQuery && obKVParams != null) {
184-
payloadContentSize += obKVParams.getPayloadSize();
185-
} else {
186-
payloadContentSize += HTABLE_DUMMY_BYTES.length;
176+
if (isHbaseQuery) {
177+
payloadContentSize += hTableFilter.getPayloadSize();
178+
} else {
179+
payloadContentSize += HTABLE_DUMMY_BYTES.length;
180+
}
181+
if (isHbaseQuery && obKVParams != null) {
182+
payloadContentSize += obKVParams.getPayloadSize();
183+
} else {
184+
payloadContentSize += HTABLE_DUMMY_BYTES.length;
185+
}
187186
}
188187

189188
return payloadContentSize;

0 commit comments

Comments
 (0)