This is an automated email from the ASF dual-hosted git repository.
lujiajing pushed a commit to branch banyandb-integration-stream
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/banyandb-integration-stream by
this push:
new b3830f776d fix extra tags indexes
b3830f776d is described below
commit b3830f776d5f6a2af7dd1619d7ade7fe92407ebc
Author: Megrez Lu <[email protected]>
AuthorDate: Mon May 2 21:14:26 2022 +0800
fix extra tags indexes
---
.../storage/plugin/banyandb/BanyanDBConverter.java | 2 +-
.../storage/plugin/banyandb/MetadataRegistry.java | 19 +++++++++++--------
.../plugin/banyandb/stream/BanyanDBTraceQueryDAO.java | 18 +++++++++---------
3 files changed, 21 insertions(+), 18 deletions(-)
diff --git
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBConverter.java
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBConverter.java
index fe4d15f9ea..5c9071f8b0 100644
---
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBConverter.java
+++
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBConverter.java
@@ -204,7 +204,7 @@ public class BanyanDBConverter {
} else if (StorageDataComplexObject.class.isAssignableFrom(clazz)) {
return TagAndValue.stringTagValue(((StorageDataComplexObject<?>)
value).toStorageData());
} else if (Layer.class.equals(clazz)) {
- return TagAndValue.longTagValue(((Integer) value).longValue());
+ return TagAndValue.longTagValue((int) value);
} else if (JsonObject.class.equals(clazz)) {
return TagAndValue.stringTagValue((String) value);
}
diff --git
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/MetadataRegistry.java
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/MetadataRegistry.java
index 18767ae21e..d3284bdf1b 100644
---
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/MetadataRegistry.java
+++
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/MetadataRegistry.java
@@ -221,11 +221,11 @@ public enum MetadataRegistry {
// add all user-defined indexed tags to the end of the "searchable"
family
if (SegmentRecord.INDEX_NAME.equals(model.getName())) {
-
tagMetadataList.addAll(parseExtraTagSpecs(configService.getSearchableTracesTags()));
+
tagMetadataList.addAll(parseExtraTagSpecs(configService.getSearchableTracesTags(),
builder));
} else if (LogRecord.INDEX_NAME.equals(model.getName())) {
-
tagMetadataList.addAll(parseExtraTagSpecs(configService.getSearchableLogsTags()));
+
tagMetadataList.addAll(parseExtraTagSpecs(configService.getSearchableLogsTags(),
builder));
} else if (AlarmRecord.INDEX_NAME.equals(model.getName())) {
-
tagMetadataList.addAll(parseExtraTagSpecs(configService.getSearchableAlarmTags()));
+
tagMetadataList.addAll(parseExtraTagSpecs(configService.getSearchableAlarmTags(),
builder));
}
return tagMetadataList;
@@ -238,7 +238,7 @@ public enum MetadataRegistry {
* @param tags a series of tags joint by comma
* @return a list of {@link
org.apache.skywalking.banyandb.v1.client.metadata.TagFamilySpec.TagSpec}
generated from input
*/
- private List<TagMetadata> parseExtraTagSpecs(String tags) {
+ private List<TagMetadata> parseExtraTagSpecs(String tags,
Schema.SchemaBuilder builder) {
if (StringUtil.isEmpty(tags)) {
return Collections.emptyList();
}
@@ -246,10 +246,13 @@ public enum MetadataRegistry {
if (tagsArray.length == 0) {
return Collections.emptyList();
}
- return Arrays.stream(tagsArray)
- .map(tagName -> new TagMetadata(parseIndexRule(tagName, null),
- TagFamilySpec.TagSpec.newStringTag(tagName)))
- .collect(Collectors.toList());
+ List<TagMetadata> extraTagMetadataList = new ArrayList<>();
+ for (final String tagName : tagsArray) {
+ builder.spec(tagName, new ColumnSpec(ColumnType.TAG,
String.class));
+ extraTagMetadataList.add(new TagMetadata(parseIndexRule(tagName,
null),
+ TagFamilySpec.TagSpec.newStringTag(tagName)));
+ }
+ return extraTagMetadataList;
}
/**
diff --git
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBTraceQueryDAO.java
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBTraceQueryDAO.java
index 2e3f4f71e7..c2035cbc66 100644
---
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBTraceQueryDAO.java
+++
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBTraceQueryDAO.java
@@ -38,7 +38,6 @@ import
org.apache.skywalking.oap.server.library.util.BooleanUtils;
import org.apache.skywalking.oap.server.library.util.CollectionUtils;
import
org.apache.skywalking.oap.server.storage.plugin.banyandb.BanyanDBConverter;
import
org.apache.skywalking.oap.server.storage.plugin.banyandb.BanyanDBStorageClient;
-import
org.apache.skywalking.oap.server.storage.plugin.banyandb.MetadataRegistry;
import java.io.IOException;
import java.util.ArrayList;
@@ -114,13 +113,13 @@ public class BanyanDBTraceQueryDAO extends
AbstractBanyanDBDAO implements ITrace
}
StreamQueryResponse resp = query(SegmentRecord.INDEX_NAME,
- ImmutableSet.of(SegmentRecord.TRACE_ID, // 0 - trace_id
- SegmentRecord.IS_ERROR, // 1 - is_error
- SegmentRecord.SERVICE_ID, // 2 - service_id
- SegmentRecord.SERVICE_INSTANCE_ID, // 3 -
service_instance_id
- SegmentRecord.ENDPOINT_ID, // 4 - endpoint_id
- SegmentRecord.LATENCY, // 5 - latency
- SegmentRecord.START_TIME), // 6 - start_time
+ ImmutableSet.of(SegmentRecord.TRACE_ID,
+ SegmentRecord.IS_ERROR,
+ SegmentRecord.SERVICE_ID,
+ SegmentRecord.SERVICE_INSTANCE_ID,
+ SegmentRecord.ENDPOINT_ID,
+ SegmentRecord.LATENCY,
+ SegmentRecord.START_TIME),
tsRange, q);
TraceBrief traceBrief = new TraceBrief();
@@ -130,7 +129,7 @@ public class BanyanDBTraceQueryDAO extends
AbstractBanyanDBDAO implements ITrace
BasicTrace basicTrace = new BasicTrace();
basicTrace.setSegmentId(row.getId());
-
basicTrace.setStart(String.valueOf(row.getTagValue(SegmentRecord.START_TIME)));
+ basicTrace.setStart(String.valueOf((Number)
row.getTagValue(SegmentRecord.START_TIME)));
basicTrace.getEndpointNames().add(IDManager.EndpointID.analysisId(
row.getTagValue(SegmentRecord.ENDPOINT_ID)
).getEndpointName());
@@ -156,6 +155,7 @@ public class BanyanDBTraceQueryDAO extends
AbstractBanyanDBDAO implements ITrace
SegmentRecord.ENDPOINT_ID,
SegmentRecord.LATENCY,
SegmentRecord.START_TIME,
+ SegmentRecord.TIME_BUCKET,
SegmentRecord.DATA_BINARY),
new QueryBuilder<StreamQuery>() {
@Override