You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2022/11/21 07:28:03 UTC
[skywalking-banyandb-java-client] branch main updated: Fix wrong offset if tag is null (#25)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb-java-client.git
The following commit(s) were added to refs/heads/main by this push:
new f859eda Fix wrong offset if tag is null (#25)
f859eda is described below
commit f859eda9fd830e950e54313ecdfe09cdf89cb5ea
Author: Jiajing LU <lu...@gmail.com>
AuthorDate: Mon Nov 21 15:27:58 2022 +0800
Fix wrong offset if tag is null (#25)
---
.../java/org/apache/skywalking/banyandb/v1/client/MeasureWrite.java | 5 ++---
.../java/org/apache/skywalking/banyandb/v1/client/StreamWrite.java | 5 ++---
.../skywalking/banyandb/v1/client/BanyanDBClientStreamWriteTest.java | 4 ++--
3 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/src/main/java/org/apache/skywalking/banyandb/v1/client/MeasureWrite.java b/src/main/java/org/apache/skywalking/banyandb/v1/client/MeasureWrite.java
index 5304dad..0241926 100644
--- a/src/main/java/org/apache/skywalking/banyandb/v1/client/MeasureWrite.java
+++ b/src/main/java/org/apache/skywalking/banyandb/v1/client/MeasureWrite.java
@@ -70,14 +70,13 @@ public class MeasureWrite extends AbstractWrite<BanyandbMeasure.WriteRequest> {
// memorize the last offset for the last tag family
int lastFamilyOffset = 0;
for (final int tagsPerFamily : this.entityMetadata.getTagFamilyCapacity()) {
- final BanyandbModel.TagFamilyForWrite.Builder b = BanyandbModel.TagFamilyForWrite.newBuilder();
boolean firstNonNullTagFound = false;
Deque<BanyandbModel.TagValue> tags = new LinkedList<>();
for (int j = tagsPerFamily - 1; j >= 0; j--) {
Object obj = this.tags[lastFamilyOffset + j];
if (obj == null) {
if (firstNonNullTagFound) {
- b.addTags(TagAndValue.nullTagValue().serialize());
+ tags.addFirst(TagAndValue.nullTagValue().serialize());
}
continue;
}
@@ -85,7 +84,7 @@ public class MeasureWrite extends AbstractWrite<BanyandbMeasure.WriteRequest> {
tags.addFirst(((Serializable<BanyandbModel.TagValue>) obj).serialize());
}
lastFamilyOffset += tagsPerFamily;
- datapointValueBuilder.addTagFamilies(b.addAllTags(tags).build());
+ datapointValueBuilder.addTagFamilies(BanyandbModel.TagFamilyForWrite.newBuilder().addAllTags(tags).build());
}
for (int i = 0; i < this.entityMetadata.getTotalFields(); i++) {
diff --git a/src/main/java/org/apache/skywalking/banyandb/v1/client/StreamWrite.java b/src/main/java/org/apache/skywalking/banyandb/v1/client/StreamWrite.java
index b055d17..b2f85c2 100644
--- a/src/main/java/org/apache/skywalking/banyandb/v1/client/StreamWrite.java
+++ b/src/main/java/org/apache/skywalking/banyandb/v1/client/StreamWrite.java
@@ -66,14 +66,13 @@ public class StreamWrite extends AbstractWrite<BanyandbStream.WriteRequest> {
// memorize the last offset for the last tag family
int lastFamilyOffset = 0;
for (final int tagsPerFamily : this.entityMetadata.getTagFamilyCapacity()) {
- final BanyandbModel.TagFamilyForWrite.Builder b = BanyandbModel.TagFamilyForWrite.newBuilder();
boolean firstNonNullTagFound = false;
Deque<BanyandbModel.TagValue> tags = new LinkedList<>();
for (int j = tagsPerFamily - 1; j >= 0; j--) {
Object obj = this.tags[lastFamilyOffset + j];
if (obj == null) {
if (firstNonNullTagFound) {
- b.addTags(TagAndValue.nullTagValue().serialize());
+ tags.addFirst(TagAndValue.nullTagValue().serialize());
}
continue;
}
@@ -81,7 +80,7 @@ public class StreamWrite extends AbstractWrite<BanyandbStream.WriteRequest> {
tags.addFirst(((Serializable<BanyandbModel.TagValue>) obj).serialize());
}
lastFamilyOffset += tagsPerFamily;
- elemValBuilder.addTagFamilies(b.addAllTags(tags).build());
+ elemValBuilder.addTagFamilies(BanyandbModel.TagFamilyForWrite.newBuilder().addAllTags(tags).build());
}
builder.setElement(elemValBuilder);
return builder.build();
diff --git a/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientStreamWriteTest.java b/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientStreamWriteTest.java
index 21ac83a..3d80b40 100644
--- a/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientStreamWriteTest.java
+++ b/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientStreamWriteTest.java
@@ -154,7 +154,6 @@ public class BanyanDBClientStreamWriteTest extends AbstractBanyanDBClientTest {
String queue = "queue_2";
String httpStatusCode = "200";
String dbType = "SQL";
- String dbInstance = "127.0.0.1:3306";
StreamWrite streamWrite = new StreamWrite("default", "sw", segmentId, now.toEpochMilli())
.tag("data_binary", Value.binaryTagValue(byteData))
@@ -167,7 +166,7 @@ public class BanyanDBClientStreamWriteTest extends AbstractBanyanDBClientTest {
.tag("http.method", Value.stringTagValue(null)) // 6
.tag("status_code", Value.stringTagValue(httpStatusCode)) // 7
.tag("db.type", Value.stringTagValue(dbType)) // 8
- .tag("db.instance", Value.stringTagValue(dbInstance)) // 9
+ .tag("db.instance", null) // 9
.tag("mq.broker", Value.stringTagValue(broker)) // 10
.tag("mq.topic", Value.stringTagValue(topic)) // 11
.tag("mq.queue", Value.stringTagValue(queue)); // 12
@@ -182,6 +181,7 @@ public class BanyanDBClientStreamWriteTest extends AbstractBanyanDBClientTest {
Assert.assertEquals(traceId, request.getElement().getTagFamilies(1).getTags(0).getStr().getValue());
Assert.assertEquals(latency, request.getElement().getTagFamilies(1).getTags(5).getInt().getValue());
Assert.assertEquals(request.getElement().getTagFamilies(1).getTags(7).getNull(), NullValue.NULL_VALUE);
+ Assert.assertEquals(request.getElement().getTagFamilies(1).getTags(9).getNull(), NullValue.NULL_VALUE);
Assert.assertEquals(queue, request.getElement().getTagFamilies(1).getTags(12).getStr().getValue());
} else {
Assert.fail();