Skip to content

Commit d2a111d

Browse files
Fix NPE while converting entity to Value (#51)
1 parent 4872fd2 commit d2a111d

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

src/main/java/org/apache/skywalking/banyandb/v1/client/Value.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,10 @@ public static Serializable<BanyandbModel.TagValue> stringTagValue(String val) {
147147
* @param val payload
148148
* @return Anonymous tag with numeric payload
149149
*/
150-
public static Serializable<BanyandbModel.TagValue> longTagValue(long val) {
150+
public static Serializable<BanyandbModel.TagValue> longTagValue(Long val) {
151+
if (val == null) {
152+
return nullTagValue();
153+
}
151154
return new LongTagValue(val);
152155
}
153156

@@ -158,6 +161,9 @@ public static Serializable<BanyandbModel.TagValue> longTagValue(long val) {
158161
* @return Anonymous tag with string array payload
159162
*/
160163
public static Serializable<BanyandbModel.TagValue> stringArrayTagValue(List<String> val) {
164+
if (val == null) {
165+
return nullTagValue();
166+
}
161167
return new StringArrayTagValue(val);
162168
}
163169

@@ -168,6 +174,9 @@ public static Serializable<BanyandbModel.TagValue> stringArrayTagValue(List<Stri
168174
* @return Anonymous tag with binary payload
169175
*/
170176
public static Serializable<BanyandbModel.TagValue> binaryTagValue(byte[] bytes) {
177+
if (bytes == null) {
178+
return nullTagValue();
179+
}
171180
return new BinaryTagValue(ByteString.copyFrom(bytes));
172181
}
173182

@@ -178,6 +187,9 @@ public static Serializable<BanyandbModel.TagValue> binaryTagValue(byte[] bytes)
178187
* @return Anonymous tag with numeric array payload
179188
*/
180189
public static Serializable<BanyandbModel.TagValue> longArrayTag(List<Long> val) {
190+
if (val == null) {
191+
return nullTagValue();
192+
}
181193
return new LongArrayTagValue(val);
182194
}
183195

src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientStreamWriteTest.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -166,11 +166,11 @@ public void onCompleted() {
166166
StreamWrite streamWrite = client.createStreamWrite("default", "sw", segmentId, now.toEpochMilli())
167167
.tag("data_binary", Value.binaryTagValue(byteData))
168168
.tag("trace_id", Value.stringTagValue(traceId)) // 0
169-
.tag("state", Value.longTagValue(state)) // 1
169+
.tag("state", Value.longTagValue((long) state)) // 1
170170
.tag("service_id", Value.stringTagValue(serviceId)) // 2
171171
.tag("service_instance_id", Value.stringTagValue(serviceInstanceId)) // 3
172172
.tag("endpoint_id", Value.stringTagValue(endpointId)) // 4
173-
.tag("duration", Value.longTagValue(latency)) // 5
173+
.tag("duration", Value.longTagValue((long) latency)) // 5
174174
.tag("http.method", Value.stringTagValue(null)) // 6
175175
.tag("status_code", Value.stringTagValue(httpStatusCode)) // 7
176176
.tag("db.type", Value.stringTagValue(dbType)) // 8
@@ -224,11 +224,11 @@ public void performSingleWrite() throws Exception {
224224
StreamWrite streamWrite = client.createStreamWrite("default", "sw", segmentId, now.toEpochMilli())
225225
.tag("data_binary", Value.binaryTagValue(byteData))
226226
.tag("trace_id", Value.stringTagValue(traceId)) // 0
227-
.tag("state", Value.longTagValue(state)) // 1
227+
.tag("state", Value.longTagValue((long) state)) // 1
228228
.tag("service_id", Value.stringTagValue(serviceId)) // 2
229229
.tag("service_instance_id", Value.stringTagValue(serviceInstanceId)) // 3
230230
.tag("endpoint_id", Value.stringTagValue(endpointId)) // 4
231-
.tag("duration", Value.longTagValue(latency)) // 5
231+
.tag("duration", Value.longTagValue((long) latency)) // 5
232232
.tag("http.method", Value.stringTagValue(null)) // 6
233233
.tag("status_code", Value.stringTagValue(httpStatusCode)) // 7
234234
.tag("db.type", Value.stringTagValue(dbType)) // 8
@@ -269,7 +269,7 @@ public void testAutoRefreshSchema() throws Exception {
269269
int latency = 200;
270270
int state = 1;
271271
Instant now = Instant.now();
272-
byte[] byteData = new byte[] {14};
272+
byte[] byteData = new byte[]{14};
273273
String broker = "172.16.10.129:9092";
274274
String topic = "topic_1";
275275
String queue = "queue_2";
@@ -280,11 +280,11 @@ public void testAutoRefreshSchema() throws Exception {
280280
StreamWrite streamWrite = client.createStreamWrite("default", "sw", segmentId, now.toEpochMilli())
281281
.tag("data_binary", Value.binaryTagValue(byteData))
282282
.tag("trace_id", Value.stringTagValue(traceId)) // 0
283-
.tag("state", Value.longTagValue(state)) // 1
283+
.tag("state", Value.longTagValue((long) state)) // 1
284284
.tag("service_id", Value.stringTagValue(serviceId)) // 2
285285
.tag("service_instance_id", Value.stringTagValue(serviceInstanceId)) // 3
286286
.tag("endpoint_id", Value.stringTagValue(endpointId)) // 4
287-
.tag("duration", Value.longTagValue(latency)) // 5
287+
.tag("duration", Value.longTagValue((long) latency)) // 5
288288
.tag("http.method", Value.stringTagValue(null)) // 6
289289
.tag("status_code", Value.stringTagValue(httpStatusCode)) // 7
290290
.tag("db.type", Value.stringTagValue(dbType)) // 8
@@ -320,11 +320,11 @@ public void testAutoRefreshSchema() throws Exception {
320320
streamWrite = client.createStreamWrite("default", "sw", segmentId, now.toEpochMilli())
321321
.tag("data_binary", Value.binaryTagValue(byteData))
322322
.tag("trace_id", Value.stringTagValue(traceId)) // 0
323-
.tag("state", Value.longTagValue(state)) // 1
323+
.tag("state", Value.longTagValue((long) state)) // 1
324324
.tag("service_id", Value.stringTagValue(serviceId)) // 2
325325
.tag("service_instance_id", Value.stringTagValue(serviceInstanceId)) // 3
326326
.tag("endpoint_id", Value.stringTagValue(endpointId)) // 4
327-
.tag("duration", Value.longTagValue(latency)) // 5
327+
.tag("duration", Value.longTagValue((long) latency)) // 5
328328
.tag("http.method", Value.stringTagValue(null)) // 6
329329
.tag("status_code", Value.stringTagValue(httpStatusCode)) // 7
330330
.tag("db.type", Value.stringTagValue(dbType)) // 8

0 commit comments

Comments
 (0)