This is an automated email from the ASF dual-hosted git repository. hanahmily pushed a commit to branch bump-banyandb-api in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit cec72540e712e0c9a56c18171fb3e98897b27f11 Author: Gao Hongtao <hanahm...@gmail.com> AuthorDate: Mon Apr 8 07:21:41 2024 +0800 Bump banyandb api Signed-off-by: Gao Hongtao <hanahm...@gmail.com> --- oap-server-bom/pom.xml | 2 +- .../analysis/manual/log/AbstractLogRecord.java | 2 -- .../analysis/manual/segment/SegmentRecord.java | 1 - .../manual/spanattach/SpanAttachedEventRecord.java | 1 - .../server/core/storage/annotation/BanyanDB.java | 15 -------- .../core/storage/model/BanyanDBExtension.java | 8 ----- .../server/core/storage/model/StorageModels.java | 3 -- .../plugin/banyandb/BanyanDBStorageConfig.java | 14 -------- .../plugin/banyandb/BanyanDBStorageProvider.java | 3 -- .../storage/plugin/banyandb/MetadataRegistry.java | 40 +++------------------- skywalking-ui | 2 +- 11 files changed, 7 insertions(+), 84 deletions(-) diff --git a/oap-server-bom/pom.xml b/oap-server-bom/pom.xml index f58d52b157..b386c5f78e 100644 --- a/oap-server-bom/pom.xml +++ b/oap-server-bom/pom.xml @@ -72,7 +72,7 @@ <awaitility.version>3.0.0</awaitility.version> <httpcore.version>4.4.13</httpcore.version> <commons-compress.version>1.21</commons-compress.version> - <banyandb-java-client.version>0.5.0</banyandb-java-client.version> + <banyandb-java-client.version>0.6.0-SNAPSHOT</banyandb-java-client.version> <kafka-clients.version>2.8.1</kafka-clients.version> <spring-kafka-test.version>2.4.6.RELEASE</spring-kafka-test.version> <consul.client.version>1.5.3</consul.client.version> diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/log/AbstractLogRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/log/AbstractLogRecord.java index e3dd57f616..a7efde7f16 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/log/AbstractLogRecord.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/log/AbstractLogRecord.java @@ -68,12 +68,10 @@ public abstract class AbstractLogRecord extends Record { @Setter @Getter @Column(name = TRACE_ID, length = 150) - @BanyanDB.GlobalIndex private String traceId; @Setter @Getter @Column(name = TRACE_SEGMENT_ID, length = 150) - @BanyanDB.GlobalIndex private String traceSegmentId; @Setter @Getter diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java index d07f6842d6..4b8966a6ea 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java @@ -65,7 +65,6 @@ public class SegmentRecord extends Record { @Setter @Getter @Column(name = TRACE_ID, length = 150) - @BanyanDB.GlobalIndex @ElasticSearch.Routing private String traceId; @Setter diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java index 0e4c368659..fb681be8bc 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java @@ -67,7 +67,6 @@ public class SpanAttachedEventRecord extends Record { @Column(name = TRACE_REF_TYPE) private int traceRefType; @Column(name = RELATED_TRACE_ID) - @BanyanDB.GlobalIndex private String relatedTraceId; @Column(name = TRACE_SEGMENT_ID) private String traceSegmentId; diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/BanyanDB.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/BanyanDB.java index cb9ad293b8..68a1e0fcc4 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/BanyanDB.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/BanyanDB.java @@ -32,21 +32,6 @@ import org.apache.skywalking.oap.server.core.analysis.record.Record; * @since 9.1.0 */ public @interface BanyanDB { - /** - * GlobalIndex declares advanced global index, which are only available in BanyanDB. - * <p> - * Global index should only be considered if a column value has a huge value candidates, but we will need a direct - * equal - * query without timestamp. - * The typical global index is designed for huge candidate of indexed values, such as `trace ID` or `segment ID`. - * <p> - * Only work with {@link Column} - */ - @Target({ElementType.FIELD}) - @Retention(RetentionPolicy.RUNTIME) - @interface GlobalIndex { - } - /** * Series key is used to group time series data per metric of one entity in one place. * <p> diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/BanyanDBExtension.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/BanyanDBExtension.java index 0c0ed11cdb..0f47586d3e 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/BanyanDBExtension.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/BanyanDBExtension.java @@ -39,14 +39,6 @@ public class BanyanDBExtension { @Getter private final int shardingKeyIdx; - /** - * Global index column. - * - * @since 9.1.0 - */ - @Getter - private final boolean isGlobalIndexing; - /** * {@link BanyanDB.NoIndexing} exists to override {@link ModelColumn#shouldIndex()}, or be the same as {@link * ModelColumn#shouldIndex()}. diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/StorageModels.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/StorageModels.java index e5e5e9e429..80c22eb713 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/StorageModels.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/StorageModels.java @@ -207,8 +207,6 @@ public class StorageModels implements IModelManager, ModelCreator, ModelManipula // BanyanDB extension final BanyanDB.SeriesID banyanDBSeriesID = field.getAnnotation( BanyanDB.SeriesID.class); - final BanyanDB.GlobalIndex banyanDBGlobalIndex = field.getAnnotation( - BanyanDB.GlobalIndex.class); final BanyanDB.NoIndexing banyanDBNoIndex = field.getAnnotation( BanyanDB.NoIndexing.class); final BanyanDB.IndexRule banyanDBIndexRule = field.getAnnotation( @@ -219,7 +217,6 @@ public class StorageModels implements IModelManager, ModelCreator, ModelManipula BanyanDB.TopNAggregation.class); BanyanDBExtension banyanDBExtension = new BanyanDBExtension( banyanDBSeriesID == null ? -1 : banyanDBSeriesID.index(), - banyanDBGlobalIndex != null, banyanDBNoIndex == null && !column.storageOnly(), banyanDBIndexRule == null ? BanyanDB.IndexRule.IndexType.INVERTED : banyanDBIndexRule.indexType(), banyanDBMeasureField != null diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageConfig.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageConfig.java index 91617f64da..148290f487 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageConfig.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageConfig.java @@ -62,13 +62,6 @@ public class BanyanDBStorageConfig extends ModuleConfig { * Shards Factor for a super dataset */ private int superDatasetShardsFactor; - /** - * Default global block interval for non-super-dataset models. - * Unit is hour. - * - * @since 9.4.0 - */ - private int blockIntervalHours; /** * Default global segment interval for non-super-dataset models. * Unit is day. @@ -76,13 +69,6 @@ public class BanyanDBStorageConfig extends ModuleConfig { * @since 9.4.0 */ private int segmentIntervalDays; - /** - * Default global block interval for super-dataset models. - * Unit is hour. - * - * @since 9.4.0 - */ - private int superDatasetBlockIntervalHours; /** * Default global segment interval for super-dataset models. * Unit is day. diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageProvider.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageProvider.java index aa3b9a88c6..2dee1ba62b 100644 --- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageProvider.java +++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageProvider.java @@ -19,7 +19,6 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb; import org.apache.skywalking.banyandb.v1.client.metadata.Group; -import org.apache.skywalking.banyandb.v1.client.metadata.IntervalRule; import org.apache.skywalking.oap.server.core.CoreModule; import org.apache.skywalking.oap.server.core.storage.IBatchDAO; import org.apache.skywalking.oap.server.core.storage.IHistoryDeleteDAO; @@ -89,8 +88,6 @@ public class BanyanDBStorageProvider extends ModuleProvider { private BanyanDBStorageClient client; private ModelInstaller modelInstaller; - private IntervalRule bypass = IntervalRule.create(IntervalRule.Unit.UNSPECIFIED, 0); - @Override public String name() { return "banyandb"; 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 70860cda8a..fa06e4cfcd 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 @@ -69,7 +69,6 @@ import org.apache.skywalking.oap.server.core.analysis.record.Record; import org.apache.skywalking.oap.server.core.config.ConfigService; import org.apache.skywalking.oap.server.core.query.enumeration.Step; import org.apache.skywalking.oap.server.core.storage.StorageException; -import org.apache.skywalking.oap.server.core.storage.annotation.BanyanDB; import org.apache.skywalking.oap.server.core.storage.annotation.Column; import org.apache.skywalking.oap.server.core.storage.annotation.ValueColumnMetadata; import org.apache.skywalking.oap.server.core.storage.model.Model; @@ -156,7 +155,7 @@ public enum MetadataRegistry { .collect(Collectors.toList()); if (model.getBanyanDBModelExtension().isStoreIDTag()) { - indexRules.add(IndexRule.create(BanyanDBConverter.ID, IndexRule.IndexType.TREE, IndexRule.IndexLocation.SERIES)); + indexRules.add(IndexRule.create(BanyanDBConverter.ID, IndexRule.IndexType.INVERTED)); } final Measure.Builder builder = Measure.create(schemaMetadata.getGroup(), schemaMetadata.name(), @@ -285,25 +284,8 @@ public enum MetadataRegistry { } } - IndexRule parseIndexRule(String tagName, ModelColumn modelColumn) { - // TODO: we need to add support index type in the OAP core - // Currently, we only register INVERTED type - // if it is null, it must be a user-defined tag - if (modelColumn == null) { - return IndexRule.create(tagName, IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES); - } - if (modelColumn.getBanyanDBExtension().isGlobalIndexing()) { - return IndexRule.create(tagName, parseIndexType(modelColumn.getBanyanDBExtension().getIndexType()), IndexRule.IndexLocation.GLOBAL); - } else { - return IndexRule.create(tagName, parseIndexType(modelColumn.getBanyanDBExtension().getIndexType()), IndexRule.IndexLocation.SERIES); - } - } - - private static IndexRule.IndexType parseIndexType(BanyanDB.IndexRule.IndexType indexType) { - if (indexType == BanyanDB.IndexRule.IndexType.INVERTED) { - return IndexRule.IndexType.INVERTED; - } - return IndexRule.IndexType.TREE; + IndexRule indexRule(String tagName) { + return IndexRule.create(tagName, IndexRule.IndexType.INVERTED); } /** @@ -343,9 +325,7 @@ public enum MetadataRegistry { builder.spec(columnStorageName, new ColumnSpec(ColumnType.TAG, col.getType())); String colName = col.getColumnName().getStorageName(); if (!shardingColumns.contains(colName) && col.getBanyanDBExtension().shouldIndex()) { - // build indexRule - IndexRule indexRule = parseIndexRule(tagSpec.getTagName(), col); - tagMetadataList.add(new TagMetadata(indexRule, tagSpec)); + tagMetadataList.add(new TagMetadata(indexRule(tagSpec.getTagName()), tagSpec)); } else { tagMetadataList.add(new TagMetadata(null, tagSpec)); } @@ -385,7 +365,7 @@ public enum MetadataRegistry { final TagFamilySpec.TagSpec tagSpec = parseTagSpec(col); builder.spec(columnStorageName, new ColumnSpec(ColumnType.TAG, col.getType())); String colName = col.getColumnName().getStorageName(); - result.tag(new TagMetadata(!shardingColumns.contains(colName) && col.getBanyanDBExtension().shouldIndex() ? parseIndexRule(tagSpec.getTagName(), col) : null, tagSpec)); + result.tag(new TagMetadata(!shardingColumns.contains(colName) && col.getBanyanDBExtension().shouldIndex() ? indexRule(tagSpec.getTagName()) : null, tagSpec)); } return result.build(); @@ -443,10 +423,8 @@ public enum MetadataRegistry { } public SchemaMetadata parseMetadata(Model model, BanyanDBStorageConfig config, ConfigService configService) { - int blockIntervalHrs = config.getBlockIntervalHours(); int segmentIntervalDays = config.getSegmentIntervalDays(); if (model.isSuperDataset()) { - blockIntervalHrs = config.getSuperDatasetBlockIntervalHours(); segmentIntervalDays = config.getSuperDatasetSegmentIntervalDays(); } String group; @@ -460,7 +438,6 @@ public enum MetadataRegistry { } else if (model.getDownsampling() == DownSampling.Minute && model.isTimeRelativeID()) { // measure group = "measure-minute"; // apply super dataset's settings to measure-minute - blockIntervalHrs = config.getSuperDatasetBlockIntervalHours(); segmentIntervalDays = config.getSuperDatasetSegmentIntervalDays(); metricShardNum = metricShardNum * config.getSuperDatasetShardsFactor(); } else { @@ -471,14 +448,12 @@ public enum MetadataRegistry { return new SchemaMetadata("measure-default", model.getName(), Kind.MEASURE, model.getDownsampling(), config.getMetricsShardsNumber(), - intervalDays * 24, intervalDays, // use 10-day/240-hour strategy configService.getMetricsDataTTL()); } GroupSetting groupSetting = this.specificGroupSettings.get(group); if (groupSetting != null) { - blockIntervalHrs = groupSetting.getBlockIntervalHours(); segmentIntervalDays = groupSetting.getSegmentIntervalDays(); } if (model.isRecord()) { @@ -488,7 +463,6 @@ public enum MetadataRegistry { model.getDownsampling(), config.getRecordShardsNumber() * (model.isSuperDataset() ? config.getSuperDatasetShardsFactor() : 1), - blockIntervalHrs, segmentIntervalDays, configService.getRecordDataTTL() ); @@ -497,7 +471,6 @@ public enum MetadataRegistry { return new SchemaMetadata(group, model.getName(), Kind.MEASURE, model.getDownsampling(), metricShardNum, - blockIntervalHrs, segmentIntervalDays, configService.getMetricsDataTTL()); } @@ -517,7 +490,6 @@ public enum MetadataRegistry { */ private final DownSampling downSampling; private final int shard; - private final int blockIntervalHrs; private final int segmentIntervalDays; private final int ttlDays; @@ -580,7 +552,6 @@ public enum MetadataRegistry { resourceExist = client.existStream(this.group, this.name()); if (!resourceExist.hasGroup()) { Group g = client.define(Group.create(this.group, Catalog.STREAM, this.shard, - IntervalRule.create(IntervalRule.Unit.HOUR, this.blockIntervalHrs), IntervalRule.create(IntervalRule.Unit.DAY, this.segmentIntervalDays), IntervalRule.create(IntervalRule.Unit.DAY, this.ttlDays))); if (g != null) { @@ -592,7 +563,6 @@ public enum MetadataRegistry { resourceExist = client.existMeasure(this.group, this.name()); if (!resourceExist.hasGroup()) { Group g = client.define(Group.create(this.group, Catalog.MEASURE, this.shard, - IntervalRule.create(IntervalRule.Unit.HOUR, this.blockIntervalHrs), IntervalRule.create(IntervalRule.Unit.DAY, this.segmentIntervalDays), IntervalRule.create(IntervalRule.Unit.DAY, this.ttlDays))); if (g != null) { diff --git a/skywalking-ui b/skywalking-ui index 8bc6761468..e25bf9ee8b 160000 --- a/skywalking-ui +++ b/skywalking-ui @@ -1 +1 @@ -Subproject commit 8bc67614681b37623fa64233f8389d6754e64cf2 +Subproject commit e25bf9ee8b70898bf9fb2cb61a98a768244a0221