You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by lu...@apache.org on 2022/05/21 12:45:12 UTC
[skywalking] 01/01: fix DataTable schema
This is an automated email from the ASF dual-hosted git repository.
lujiajing pushed a commit to branch polish-banyandb-conf
in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit bcff878b30134c1763d07decaf3370d81bbcf901
Author: Megrez Lu <lu...@gmail.com>
AuthorDate: Sat May 21 20:44:20 2022 +0800
fix DataTable schema
---
.../storage/plugin/banyandb/MetadataRegistry.java | 37 +++-------------------
1 file changed, 4 insertions(+), 33 deletions(-)
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 b598e0ccfd..c2e101cf13 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
@@ -37,21 +37,16 @@ import org.apache.skywalking.banyandb.v1.client.metadata.Measure;
import org.apache.skywalking.banyandb.v1.client.metadata.NamedSchema;
import org.apache.skywalking.banyandb.v1.client.metadata.Stream;
import org.apache.skywalking.banyandb.v1.client.metadata.TagFamilySpec;
-import org.apache.skywalking.oap.server.core.alarm.AlarmRecord;
import org.apache.skywalking.oap.server.core.analysis.DownSampling;
-import org.apache.skywalking.oap.server.core.analysis.manual.log.LogRecord;
-import org.apache.skywalking.oap.server.core.analysis.manual.segment.SegmentRecord;
-import org.apache.skywalking.oap.server.core.analysis.metrics.DataTable;
import org.apache.skywalking.oap.server.core.analysis.metrics.IntList;
import org.apache.skywalking.oap.server.core.storage.annotation.ValueColumnMetadata;
import org.apache.skywalking.oap.server.core.storage.model.Model;
import org.apache.skywalking.oap.server.core.storage.model.ModelColumn;
-import org.apache.skywalking.oap.server.library.util.StringUtil;
+import org.apache.skywalking.oap.server.core.storage.type.StorageDataComplexObject;
import javax.annotation.Nullable;
import java.lang.reflect.ParameterizedType;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
@@ -136,8 +131,8 @@ public enum MetadataRegistry {
.compressWithZSTD()
.encodeWithGorilla()
.build();
- } else if (DataTable.class.equals(modelColumn.getType())) {
- return Measure.FieldSpec.newBinaryField(valueColumn.getValueCName())
+ } else if (StorageDataComplexObject.class.isAssignableFrom(modelColumn.getType())) {
+ return Measure.FieldSpec.newStringField(valueColumn.getValueCName())
.compressWithZSTD()
.build();
} else if (double.class.equals(modelColumn.getType())) {
@@ -224,30 +219,6 @@ public enum MetadataRegistry {
return tagMetadataList;
}
- /**
- * Extract extra tags from Configuration.
- * They are for tags defined for {@link SegmentRecord}, {@link LogRecord} and {@link AlarmRecord}.
- *
- * @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, Schema.SchemaBuilder builder) {
- if (StringUtil.isEmpty(tags)) {
- return Collections.emptyList();
- }
- String[] tagsArray = tags.split(",");
- if (tagsArray.length == 0) {
- return Collections.emptyList();
- }
- 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;
- }
-
/**
* Parse TagSpec from {@link ModelColumn}
*
@@ -258,7 +229,7 @@ public enum MetadataRegistry {
private TagFamilySpec.TagSpec parseTagSpec(ModelColumn modelColumn) {
final Class<?> clazz = modelColumn.getType();
final String colName = modelColumn.getColumnName().getStorageName();
- if (String.class.equals(clazz) || DataTable.class.equals(clazz) || JsonObject.class.equals(clazz)) {
+ if (String.class.equals(clazz) || StorageDataComplexObject.class.isAssignableFrom(clazz) || JsonObject.class.equals(clazz)) {
return TagFamilySpec.TagSpec.newStringTag(colName);
} else if (int.class.equals(clazz) || long.class.equals(clazz)) {
return TagFamilySpec.TagSpec.newIntTag(colName);