Skip to content

Commit 3fecabe

Browse files
committed
GH-120 Add reading of incarnation tag
Closes gh-120
1 parent f3ce813 commit 3fecabe

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

src/main/java/ru/rt/restream/reindexer/binding/Consts.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public final class Consts {
7575
public static final int QUERY_RESULT_EXPLAIN = 2;
7676
public static final int QUERY_RESULT_SHARDING_VERSION = 3;
7777
public static final int QUERY_RESULT_SHARD_ID = 4;
78-
// incarnation tags are not supported int java connector
78+
// incarnation tags are not supported in java connector
7979
public static final int QUERY_RESULT_INCARNATION_TAGS = 5;
8080
public static final int QUERY_RESULT_RANK_FORMAT = 6;
8181

@@ -117,7 +117,7 @@ public final class Consts {
117117

118118
public static final long BINDING_CAPABILITY_QR_IDLE_TIMEOUTS = 1;
119119
public static final long BINDING_CAPABILITY_RESULTS_WITH_SHARD_IDS = 1 << 1;
120-
// incarnation tags are not supported int java connector
120+
// incarnation tags are not supported in java connector
121121
public static final long BINDING_CAPABILITY_NAMESPACE_INCARNATIONS = 1 << 2;
122122
public static final long BINDING_CAPABILITY_COMPLEX_RANK = 1 << 3;
123123

src/main/java/ru/rt/restream/reindexer/binding/QueryResultReader.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import static ru.rt.restream.reindexer.binding.Consts.QUERY_RESULT_AGGREGATION;
3030
import static ru.rt.restream.reindexer.binding.Consts.QUERY_RESULT_END;
3131
import static ru.rt.restream.reindexer.binding.Consts.QUERY_RESULT_EXPLAIN;
32+
import static ru.rt.restream.reindexer.binding.Consts.QUERY_RESULT_INCARNATION_TAGS;
3233
import static ru.rt.restream.reindexer.binding.Consts.QUERY_RESULT_RANK_FORMAT;
3334
import static ru.rt.restream.reindexer.binding.Consts.QUERY_RESULT_SHARDING_VERSION;
3435
import static ru.rt.restream.reindexer.binding.Consts.QUERY_RESULT_SHARD_ID;
@@ -125,6 +126,20 @@ public QueryResult read(byte[] rawQueryResult) {
125126
case QUERY_RESULT_SHARD_ID:
126127
queryResult.setShardId((int) buffer.getVarUInt());
127128
break;
129+
case QUERY_RESULT_INCARNATION_TAGS:
130+
// Read the result from the buffer, but do not use it -
131+
// incarnation tags are not supported in java connector.
132+
int shardsCnt = (int) buffer.getVarUInt();
133+
for (int i = 0; i < shardsCnt; i++) {
134+
int shardId = (int) buffer.getVarInt();
135+
int nsCnt = (int) buffer.getVarUInt();
136+
if (nsCnt > 0) {
137+
for (int j = 0; j < nsCnt; j++) {
138+
buffer.getVarInt();
139+
}
140+
}
141+
}
142+
break;
128143
case QUERY_RESULT_RANK_FORMAT:
129144
int format = (int) buffer.getVarUInt();
130145
if (format != RANK_FORMAT_SINGLE_FLOAT) {

src/main/java/ru/rt/restream/reindexer/binding/cproto/PhysicalConnection.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848

4949
import static ru.rt.restream.reindexer.binding.Consts.APP_PROPERTY_NAME;
5050
import static ru.rt.restream.reindexer.binding.Consts.BINDING_CAPABILITY_COMPLEX_RANK;
51+
import static ru.rt.restream.reindexer.binding.Consts.BINDING_CAPABILITY_NAMESPACE_INCARNATIONS;
5152
import static ru.rt.restream.reindexer.binding.Consts.BINDING_CAPABILITY_RESULTS_WITH_SHARD_IDS;
5253
import static ru.rt.restream.reindexer.binding.Consts.DEF_APP_NAME;
5354
import static ru.rt.restream.reindexer.binding.Consts.REINDEXER_VERSION;
@@ -124,7 +125,9 @@ public PhysicalConnection(String host, int port, String user, String password, S
124125
-1, // expectedClusterID
125126
REINDEXER_VERSION,
126127
getAppName(),
127-
BINDING_CAPABILITY_RESULTS_WITH_SHARD_IDS | BINDING_CAPABILITY_COMPLEX_RANK);
128+
BINDING_CAPABILITY_RESULTS_WITH_SHARD_IDS
129+
| BINDING_CAPABILITY_COMPLEX_RANK
130+
| BINDING_CAPABILITY_NAMESPACE_INCARNATIONS);
128131
} catch (Exception e) {
129132
onError(e);
130133
throw new NetworkException(e);

0 commit comments

Comments
 (0)