Skip to content

Commit

Permalink
Simplify over-wire protocol
Browse files Browse the repository at this point in the history
  • Loading branch information
mayya-sharipova committed Sep 1, 2023
1 parent dccd3c7 commit d4a5758
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -109,13 +109,12 @@ public KnnVectorQueryBuilder(StreamInput in) throws IOException {
super(in);
this.fieldName = in.readString();
this.numCands = in.readVInt();
if (in.getTransportVersion().before(TransportVersion.V_8_7_0)) {
if (in.getTransportVersion().before(TransportVersion.V_8_7_0) || in.getTransportVersion().onOrAfter(TransportVersion.V_8_500_069)) {
this.queryVector = in.readFloatArray();
} else {
this.queryVector = in.readBoolean() ? in.readFloatArray() : null;
if (in.getTransportVersion().before(TransportVersion.V_8_500_066)) {
in.readBoolean(); // used for byteQueryVector, which was always null
}
in.readBoolean();
this.queryVector = in.readFloatArray();
in.readBoolean(); // used for byteQueryVector, which was always null
}
if (in.getTransportVersion().onOrAfter(TransportVersion.V_8_2_0)) {
this.filterQueries.addAll(readQueries(in));
Expand Down Expand Up @@ -165,18 +164,13 @@ public KnnVectorQueryBuilder addFilterQueries(List<QueryBuilder> filterQueries)
protected void doWriteTo(StreamOutput out) throws IOException {
out.writeString(fieldName);
out.writeVInt(numCands);
if (out.getTransportVersion().before(TransportVersion.V_8_7_0)) {
if (out.getTransportVersion().before(TransportVersion.V_8_7_0)
|| out.getTransportVersion().onOrAfter(TransportVersion.V_8_500_069)) {
out.writeFloatArray(queryVector);
} else {
if (queryVector == null) {
out.writeBoolean(false);
} else {
out.writeBoolean(true);
out.writeFloatArray(queryVector);
}
if (out.getTransportVersion().before(TransportVersion.V_8_500_066)) {
out.writeBoolean(false); // used for byteQueryVector, which was always null
}
out.writeBoolean(true);
out.writeFloatArray(queryVector);
out.writeBoolean(false); // used for byteQueryVector, which was always null
}
if (out.getTransportVersion().onOrAfter(TransportVersion.V_8_2_0)) {
writeQueries(out, filterQueries);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ public void testBWCVersionSerializationQuery() throws IOException {
TransportVersion differentQueryVersion = TransportVersionUtils.randomVersionBetween(
random(),
TransportVersion.V_8_2_0,
TransportVersion.V_8_500_066
TransportVersion.V_8_500_069
);
Float similarity = differentQueryVersion.before(TransportVersion.V_8_8_0) ? null : query.getVectorSimilarity();
KnnVectorQueryBuilder queryOlderVersion = new KnnVectorQueryBuilder(
Expand Down

0 comments on commit d4a5758

Please sign in to comment.