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 e6f2dbe [Breaking change] Bump APIs (#53) e6f2dbe is described below commit e6f2dbe0f095024b05a7a59a4439deed5c33c7ee Author: Gao Hongtao <hanahm...@gmail.com> AuthorDate: Mon Apr 8 16:27:49 2024 +0800 [Breaking change] Bump APIs (#53) --- CHANGES.md | 1 + .../banyandb/v1/client/metadata/Group.java | 19 ++---- .../banyandb/v1/client/metadata/IndexRule.java | 47 +++----------- src/main/proto/banyandb/v1/banyandb-common.proto | 11 ++-- src/main/proto/banyandb/v1/banyandb-database.proto | 72 ++++++++++------------ .../v1/client/BanyanDBClientMeasureQueryTest.java | 2 +- .../v1/client/BanyanDBClientMeasureWriteTest.java | 2 +- .../v1/client/BanyanDBClientStreamQueryTest.java | 2 +- .../v1/client/BanyanDBClientStreamWriteTest.java | 2 +- .../banyandb/v1/client/BanyanDBClientTestCI.java | 4 +- .../v1/client/ITBanyanDBMeasureQueryTests.java | 4 +- .../v1/client/ITBanyanDBStreamQueryTests.java | 4 +- .../metadata/IndexRuleMetadataRegistryTest.java | 8 +-- .../metadata/MeasureMetadataRegistryTest.java | 6 +- .../metadata/StreamMetadataRegistryTest.java | 6 +- 15 files changed, 72 insertions(+), 118 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e0880fc..6191db1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,6 +8,7 @@ Release Notes. ### Features * Support JDK21 build. Upgrade lombok version to 1.18.30. +* Bump up the API of BanyanDB Server. ### Bugs diff --git a/src/main/java/org/apache/skywalking/banyandb/v1/client/metadata/Group.java b/src/main/java/org/apache/skywalking/banyandb/v1/client/metadata/Group.java index 4fcca7d..0d7cb09 100644 --- a/src/main/java/org/apache/skywalking/banyandb/v1/client/metadata/Group.java +++ b/src/main/java/org/apache/skywalking/banyandb/v1/client/metadata/Group.java @@ -38,37 +38,32 @@ public abstract class Group extends NamedSchema<BanyandbCommon.Group> { */ abstract int shardNum(); - @Nullable - abstract IntervalRule blockInterval(); - @Nullable abstract IntervalRule segmentInterval(); @Nullable abstract IntervalRule ttl(); - public static Group create(String name, Catalog catalog, int shardNum, IntervalRule blockInterval, IntervalRule segmentInterval, IntervalRule ttl) { + public static Group create(String name, Catalog catalog, int shardNum, IntervalRule segmentInterval, IntervalRule ttl) { Preconditions.checkArgument(shardNum > 0, "shardNum should more than 0"); - Preconditions.checkNotNull(blockInterval, "blockInterval is null"); Preconditions.checkNotNull(segmentInterval, "segmentInterval is null"); Preconditions.checkNotNull(ttl, "ttl is null"); - return new AutoValue_Group(null, name, null, catalog, shardNum, blockInterval, segmentInterval, ttl); + return new AutoValue_Group(null, name, null, catalog, shardNum, segmentInterval, ttl); } - public static Group create(String name, Catalog catalog, int shardNum, IntervalRule blockInterval, IntervalRule segmentInterval, IntervalRule ttl, ZonedDateTime updatedAt) { + public static Group create(String name, Catalog catalog, int shardNum, IntervalRule segmentInterval, IntervalRule ttl, ZonedDateTime updatedAt) { Preconditions.checkArgument(shardNum > 0, "shardNum should more than 0"); - Preconditions.checkNotNull(blockInterval, "blockInterval is null"); Preconditions.checkNotNull(segmentInterval, "segmentInterval is null"); Preconditions.checkNotNull(ttl, "ttl is null"); - return new AutoValue_Group(null, name, updatedAt, catalog, shardNum, blockInterval, segmentInterval, ttl); + return new AutoValue_Group(null, name, updatedAt, catalog, shardNum, segmentInterval, ttl); } public static Group create(String name) { - return new AutoValue_Group(null, name, null, Catalog.UNSPECIFIED, 0, null, null, null); + return new AutoValue_Group(null, name, null, Catalog.UNSPECIFIED, 0, null, null); } public static Group create(String name, ZonedDateTime updatedAt) { - return new AutoValue_Group(null, name, updatedAt, Catalog.UNSPECIFIED, 0, null, null, null); + return new AutoValue_Group(null, name, updatedAt, Catalog.UNSPECIFIED, 0, null, null); } @Override @@ -80,7 +75,6 @@ public abstract class Group extends NamedSchema<BanyandbCommon.Group> { if (shardNum() > 0) { builder.setResourceOpts(BanyandbCommon.ResourceOpts.newBuilder() .setShardNum(shardNum()) - .setBlockInterval(blockInterval().serialize()) .setSegmentInterval(segmentInterval().serialize()) .setTtl(ttl().serialize()) .build()); @@ -104,7 +98,6 @@ public abstract class Group extends NamedSchema<BanyandbCommon.Group> { TimeUtils.parseTimestamp(group.getUpdatedAt()), catalog, opts == null ? 0 : opts.getShardNum(), - opts == null ? null : IntervalRule.fromProtobuf(opts.getBlockInterval()), opts == null ? null : IntervalRule.fromProtobuf(opts.getSegmentInterval()), opts == null ? null : IntervalRule.fromProtobuf(opts.getTtl())); } diff --git a/src/main/java/org/apache/skywalking/banyandb/v1/client/metadata/IndexRule.java b/src/main/java/org/apache/skywalking/banyandb/v1/client/metadata/IndexRule.java index 99aa088..72fe375 100644 --- a/src/main/java/org/apache/skywalking/banyandb/v1/client/metadata/IndexRule.java +++ b/src/main/java/org/apache/skywalking/banyandb/v1/client/metadata/IndexRule.java @@ -27,6 +27,7 @@ import org.apache.skywalking.banyandb.v1.client.util.TimeUtils; import javax.annotation.Nullable; import java.time.ZonedDateTime; +import java.util.Objects; @AutoValue public abstract class IndexRule extends NamedSchema<BanyandbDatabase.IndexRule> { @@ -42,11 +43,6 @@ public abstract class IndexRule extends NamedSchema<BanyandbDatabase.IndexRule> */ abstract IndexType indexType(); - /** - * indexLocation indicates where to store index. - */ - abstract IndexLocation indexLocation(); - /** * analyzer indicates how to analyze the value. */ @@ -63,20 +59,18 @@ public abstract class IndexRule extends NamedSchema<BanyandbDatabase.IndexRule> return toBuilder().setAnalyzer(analyzer).build(); } - public static IndexRule create(String name, IndexType indexType, IndexLocation indexLocation) { + public static IndexRule create(String name, IndexType indexType) { return new AutoValue_IndexRule.Builder().setName(name) .setTags(ImmutableList.of(name)) .setIndexType(indexType) - .setIndexLocation(indexLocation) .build(); } @VisibleForTesting - static IndexRule create(String group, String name, IndexType indexType, IndexLocation indexLocation) { + static IndexRule create(String group, String name, IndexType indexType) { return new AutoValue_IndexRule.Builder().setGroup(group).setName(name) .setTags(ImmutableList.of(name)) .setIndexType(indexType) - .setIndexLocation(indexLocation) .build(); } @@ -90,8 +84,6 @@ public abstract class IndexRule extends NamedSchema<BanyandbDatabase.IndexRule> abstract Builder setIndexType(IndexType indexType); - abstract Builder setIndexLocation(IndexLocation indexLocation); - abstract Builder setAnalyzer(Analyzer analyzer); abstract Builder setUpdatedAt(ZonedDateTime updatedAt); @@ -104,7 +96,6 @@ public abstract class IndexRule extends NamedSchema<BanyandbDatabase.IndexRule> final BanyandbDatabase.IndexRule.Builder b = BanyandbDatabase.IndexRule.newBuilder() .setMetadata(buildMetadata()) .addAllTags(tags()) - .setLocation(indexLocation().location) .setType(indexType().type); Analyzer a = analyzer(); if (a != null) { @@ -118,13 +109,11 @@ public abstract class IndexRule extends NamedSchema<BanyandbDatabase.IndexRule> public static IndexRule fromProtobuf(BanyandbDatabase.IndexRule pb) { IndexType indexType = IndexType.fromProtobuf(pb.getType()); - IndexLocation indexLocation = IndexLocation.fromProtobuf(pb.getLocation()); Analyzer analyzer = Analyzer.fromProtobuf(pb.getAnalyzer()); return new AutoValue_IndexRule.Builder() .setGroup(pb.getMetadata().getGroup()) .setName(pb.getMetadata().getName()) .setUpdatedAt(TimeUtils.parseTimestamp(pb.getUpdatedAt())) - .setIndexLocation(indexLocation) .setIndexType(indexType) .setAnalyzer(analyzer) .setTags(ImmutableList.copyOf(pb.getTagsList())).build(); @@ -132,37 +121,15 @@ public abstract class IndexRule extends NamedSchema<BanyandbDatabase.IndexRule> @RequiredArgsConstructor public enum IndexType { - TREE(BanyandbDatabase.IndexRule.Type.TYPE_TREE), INVERTED(BanyandbDatabase.IndexRule.Type.TYPE_INVERTED); + INVERTED(BanyandbDatabase.IndexRule.Type.TYPE_INVERTED); private final BanyandbDatabase.IndexRule.Type type; private static IndexType fromProtobuf(BanyandbDatabase.IndexRule.Type type) { - switch (type) { - case TYPE_TREE: - return TREE; - case TYPE_INVERTED: - return INVERTED; - default: - throw new IllegalArgumentException("unrecognized index type"); - } - } - } - - @RequiredArgsConstructor - public enum IndexLocation { - SERIES(BanyandbDatabase.IndexRule.Location.LOCATION_SERIES), GLOBAL(BanyandbDatabase.IndexRule.Location.LOCATION_GLOBAL); - - private final BanyandbDatabase.IndexRule.Location location; - - private static IndexLocation fromProtobuf(BanyandbDatabase.IndexRule.Location loc) { - switch (loc) { - case LOCATION_GLOBAL: - return GLOBAL; - case LOCATION_SERIES: - return SERIES; - default: - throw new IllegalArgumentException("unrecognized index location"); + if (Objects.requireNonNull(type) == BanyandbDatabase.IndexRule.Type.TYPE_INVERTED) { + return INVERTED; } + throw new IllegalArgumentException("unrecognized index type"); } } diff --git a/src/main/proto/banyandb/v1/banyandb-common.proto b/src/main/proto/banyandb/v1/banyandb-common.proto index 112b8f9..f8d0f3c 100644 --- a/src/main/proto/banyandb/v1/banyandb-common.proto +++ b/src/main/proto/banyandb/v1/banyandb-common.proto @@ -35,7 +35,9 @@ message Metadata { // group contains a set of options, like retention policy, max string group = 1; // name of the entity - string name = 2 [(validate.rules).string.min_len = 1]; + string name = 2; + // id is the unique identifier of the entity + // if id is not set, the system will generate a unique id uint32 id = 3; // readonly. create_revision is the revision of last creation on this key. int64 create_revision = 4; @@ -58,13 +60,10 @@ message IntervalRule { message ResourceOpts { // shard_num is the number of shards uint32 shard_num = 1 [(validate.rules).uint32.gt = 0]; - // block_interval indicates the length of a block - // block_interval should be less than or equal to segment_interval - IntervalRule block_interval = 2 [(validate.rules).message.required = true]; // segment_interval indicates the length of a segment - IntervalRule segment_interval = 3 [(validate.rules).message.required = true];; + IntervalRule segment_interval = 2 [(validate.rules).message.required = true]; // ttl indicates time to live, how long the data will be cached - IntervalRule ttl = 4 [(validate.rules).message.required = true]; + IntervalRule ttl = 3 [(validate.rules).message.required = true]; } // Group is an internal object for Group management diff --git a/src/main/proto/banyandb/v1/banyandb-database.proto b/src/main/proto/banyandb/v1/banyandb-database.proto index c532df2..3f4aebe 100644 --- a/src/main/proto/banyandb/v1/banyandb-database.proto +++ b/src/main/proto/banyandb/v1/banyandb-database.proto @@ -22,6 +22,7 @@ option java_package = "org.apache.skywalking.banyandb.database.v1"; package banyandb.database.v1; import "google/protobuf/timestamp.proto"; +import "validate/validate.proto"; import "banyandb/v1/banyandb-common.proto"; import "banyandb/v1/banyandb-model.proto"; @@ -32,18 +33,17 @@ enum TagType { TAG_TYPE_STRING_ARRAY = 3; TAG_TYPE_INT_ARRAY = 4; TAG_TYPE_DATA_BINARY = 5; - TAG_TYPE_ID = 6; } message TagFamilySpec { - string name = 1; + string name = 1 [(validate.rules).string.min_len = 1]; // tags defines accepted tags - repeated TagSpec tags = 2; + repeated TagSpec tags = 2 [(validate.rules).repeated.min_items = 1]; } message TagSpec { - string name = 1; - TagType type = 2; + string name = 1 [(validate.rules).string.min_len = 1]; + TagType type = 2 [(validate.rules).enum.defined_only = true]; // indexed_only indicates whether the tag is stored // True: It's indexed only, but not stored // False: it's stored and indexed @@ -53,17 +53,17 @@ message TagSpec { // Stream intends to store streaming data, for example, traces or logs message Stream { // metadata is the identity of a trace series - common.v1.Metadata metadata = 1; + common.v1.Metadata metadata = 1 [(validate.rules).message.required = true]; // tag_families - repeated TagFamilySpec tag_families = 2; + repeated TagFamilySpec tag_families = 2 [(validate.rules).repeated.min_items = 1]; // entity indicates how to generate a series and shard a stream - Entity entity = 3; + Entity entity = 3 [(validate.rules).message.required = true]; // updated_at indicates when the stream is updated google.protobuf.Timestamp updated_at = 4; } message Entity { - repeated string tag_names = 1; + repeated string tag_names = 1 [(validate.rules).repeated.min_items = 1]; } enum FieldType { @@ -87,25 +87,25 @@ enum CompressionMethod { // FieldSpec is the specification of field message FieldSpec { // name is the identity of a field - string name = 1; + string name = 1 [(validate.rules).string.min_len = 1]; // field_type denotes the type of field value - FieldType field_type = 2; + FieldType field_type = 2 [(validate.rules).enum.defined_only = true]; // encoding_method indicates how to encode data during writing - EncodingMethod encoding_method = 3; + EncodingMethod encoding_method = 3 [(validate.rules).enum.defined_only = true]; // compression_method indicates how to compress data during writing - CompressionMethod compression_method = 4; + CompressionMethod compression_method = 4 [(validate.rules).enum.defined_only = true]; } // Measure intends to store data point message Measure { // metadata is the identity of a measure - common.v1.Metadata metadata = 1; + common.v1.Metadata metadata = 1 [(validate.rules).message.required = true]; // tag_families are for filter measures - repeated TagFamilySpec tag_families = 2; + repeated TagFamilySpec tag_families = 2 [(validate.rules).repeated.min_items = 1]; // fields denote measure values repeated FieldSpec fields = 3; // entity indicates which tags will be to generate a series and shard a measure - Entity entity = 4; + Entity entity = 4 [(validate.rules).message.required = true]; // interval indicates how frequently to send a data point // valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h", "d". string interval = 5; @@ -116,15 +116,16 @@ message Measure { // TopNAggregation generates offline TopN statistics for a measure's TopN approximation message TopNAggregation { // metadata is the identity of an aggregation - common.v1.Metadata metadata = 1; + common.v1.Metadata metadata = 1 [(validate.rules).message.required = true]; // source_measure denotes the data source of this aggregation - common.v1.Metadata source_measure = 2; + common.v1.Metadata source_measure = 2 [(validate.rules).message.required = true]; // field_name is the name of field used for ranking - string field_name = 3; + string field_name = 3 [(validate.rules).string.min_len = 1]; // field_value_sort indicates how to sort fields // ASC: bottomN // DESC: topN // UNSPECIFIED: topN + bottomN + // todo validate plugin exist bug https://github.com/bufbuild/protoc-gen-validate/issues/672 model.v1.Sort field_value_sort = 4; // group_by_tag_names groups data points into statistical counters repeated string group_by_tag_names = 5; @@ -142,28 +143,20 @@ message TopNAggregation { // IndexRule should bind to a subject through an IndexRuleBinding to generate proper indices. message IndexRule { // metadata define the rule's identity - common.v1.Metadata metadata = 1; + common.v1.Metadata metadata = 1 [(validate.rules).message.required = true]; // tags are the combination that refers to an indexed object // If the elements in tags are more than 1, the object will generate a multi-tag index // Caveat: All tags in a multi-tag MUST have an identical IndexType - repeated string tags = 2; + repeated string tags = 2 [(validate.rules).repeated.min_items = 1]; // Type determine the index structure under the hood enum Type { TYPE_UNSPECIFIED = 0; - TYPE_TREE = 1; - TYPE_INVERTED = 2; + TYPE_INVERTED = 1; } // type is the IndexType of this IndexObject. - Type type = 3; - enum Location { - LOCATION_UNSPECIFIED = 0; - LOCATION_SERIES = 1; - LOCATION_GLOBAL = 2; - } - // location indicates where to store index. - Location location = 4; + Type type = 3 [(validate.rules).enum.defined_only = true]; // updated_at indicates when the IndexRule is updated - google.protobuf.Timestamp updated_at = 5; + google.protobuf.Timestamp updated_at = 4; enum Analyzer { ANALYZER_UNSPECIFIED = 0; // Keyword analyzer is a “noop” analyzer which returns the entire input string as a single token. @@ -176,15 +169,16 @@ message IndexRule { ANALYZER_SIMPLE = 3; } // analyzer analyzes tag value to support the full-text searching for TYPE_INVERTED indices. - Analyzer analyzer = 6; + Analyzer analyzer = 5; } // Subject defines which stream or measure would generate indices message Subject { // catalog is where the subject belongs to + // todo validate plugin exist bug https://github.com/bufbuild/protoc-gen-validate/issues/672 common.v1.Catalog catalog = 1; // name refers to a stream or measure in a particular catalog - string name = 2; + string name = 2 [(validate.rules).string.min_len = 1]; } // IndexRuleBinding is a bridge to connect severalIndexRules to a subject @@ -192,16 +186,16 @@ message Subject { // to control how to generate time series indices. message IndexRuleBinding { // metadata is the identity of this binding - common.v1.Metadata metadata = 1; + common.v1.Metadata metadata = 1 [(validate.rules).message.required = true]; // rules refers to the IndexRule - repeated string rules = 2; + repeated string rules = 2 [(validate.rules).repeated.min_items = 1]; // subject indicates the subject of binding action - Subject subject = 3; + Subject subject = 3 [(validate.rules).message.required = true]; // begin_at_nanoseconds is the timestamp, after which the binding will be active - google.protobuf.Timestamp begin_at = 4; + google.protobuf.Timestamp begin_at = 4 [(validate.rules).timestamp.required = true]; // expire_at_nanoseconds it the timestamp, after which the binding will be inactive // expire_at_nanoseconds must be larger than begin_at_nanoseconds - google.protobuf.Timestamp expire_at = 5; + google.protobuf.Timestamp expire_at = 5 [(validate.rules).timestamp.required = true]; // updated_at indicates when the IndexRuleBinding is updated google.protobuf.Timestamp updated_at = 6; } diff --git a/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientMeasureQueryTest.java b/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientMeasureQueryTest.java index df13c15..cc93f34 100644 --- a/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientMeasureQueryTest.java +++ b/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientMeasureQueryTest.java @@ -70,7 +70,7 @@ public class BanyanDBClientMeasureQueryTest extends AbstractBanyanDBClientTest { .build()) .addField(Measure.FieldSpec.newIntField("total").compressWithZSTD().encodeWithGorilla().build()) .addField(Measure.FieldSpec.newIntField("value").compressWithZSTD().encodeWithGorilla().build()) - .addIndex(IndexRule.create("scope", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES)) + .addIndex(IndexRule.create("scope", IndexRule.IndexType.INVERTED)) .build(); client.define(m); } diff --git a/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientMeasureWriteTest.java b/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientMeasureWriteTest.java index f5b966a..7aa46b0 100644 --- a/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientMeasureWriteTest.java +++ b/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientMeasureWriteTest.java @@ -66,7 +66,7 @@ public class BanyanDBClientMeasureWriteTest extends AbstractBanyanDBClientTest { .build()) .addField(Measure.FieldSpec.newIntField("total").compressWithZSTD().encodeWithGorilla().build()) .addField(Measure.FieldSpec.newIntField("value").compressWithZSTD().encodeWithGorilla().build()) - .addIndex(IndexRule.create("scope", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES)) + .addIndex(IndexRule.create("scope", IndexRule.IndexType.INVERTED)) .build(); client.define(measure); } diff --git a/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientStreamQueryTest.java b/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientStreamQueryTest.java index 9ed482e..1a737fd 100644 --- a/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientStreamQueryTest.java +++ b/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientStreamQueryTest.java @@ -81,7 +81,7 @@ public class BanyanDBClientStreamQueryTest extends AbstractBanyanDBClientTest { .addTagSpec(TagFamilySpec.TagSpec.newIntTag("start_time")) .addTagSpec(TagFamilySpec.TagSpec.newIntTag("duration")) .build()) - .addIndex(IndexRule.create("trace_id", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.GLOBAL)) + .addIndex(IndexRule.create("trace_id", IndexRule.IndexType.INVERTED)) .build(); this.client.define(expectedStream); } 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 f69147a..0112730 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 @@ -99,7 +99,7 @@ public class BanyanDBClientStreamWriteTest extends AbstractBanyanDBClientTest { .addTagSpec(TagFamilySpec.TagSpec.newStringTag("mq.topic")) .addTagSpec(TagFamilySpec.TagSpec.newStringTag("mq.queue")) .build()) - .addIndex(IndexRule.create("trace_id", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.GLOBAL)) + .addIndex(IndexRule.create("trace_id", IndexRule.IndexType.INVERTED)) .build(); this.client.define(stream); } diff --git a/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientTestCI.java b/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientTestCI.java index a6359f1..e1e7bdd 100644 --- a/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientTestCI.java +++ b/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientTestCI.java @@ -28,9 +28,9 @@ import java.io.IOException; @Slf4j public class BanyanDBClientTestCI { - private static final String REGISTRY = "ghcr.io"; + private static final String REGISTRY = "docker.io"; private static final String IMAGE_NAME = "apache/skywalking-banyandb"; - private static final String TAG = "f3abf75e66695f3c9fcae3138ad55e7a9d74f39a"; + private static final String TAG = "v0.0.0-dev"; private static final String IMAGE = REGISTRY + "/" + IMAGE_NAME + ":" + TAG; diff --git a/src/test/java/org/apache/skywalking/banyandb/v1/client/ITBanyanDBMeasureQueryTests.java b/src/test/java/org/apache/skywalking/banyandb/v1/client/ITBanyanDBMeasureQueryTests.java index 3f8c731..faa80d6 100644 --- a/src/test/java/org/apache/skywalking/banyandb/v1/client/ITBanyanDBMeasureQueryTests.java +++ b/src/test/java/org/apache/skywalking/banyandb/v1/client/ITBanyanDBMeasureQueryTests.java @@ -48,9 +48,9 @@ public class ITBanyanDBMeasureQueryTests extends BanyanDBClientTestCI { @Before public void setUp() throws IOException, BanyanDBException, InterruptedException { this.setUpConnection(); - Group expectedGroup = this.client.define(Group.create("sw_metric", Catalog.MEASURE, 2, IntervalRule.create(IntervalRule.Unit.HOUR, 4), IntervalRule.create(IntervalRule.Unit.DAY, 1), IntervalRule.create(IntervalRule.Unit.DAY, 7))); + Group expectedGroup = this.client.define(Group.create("sw_metric", Catalog.MEASURE, 2, IntervalRule.create(IntervalRule.Unit.HOUR, 4), IntervalRule.create(IntervalRule.Unit.DAY, 7))); Assert.assertNotNull(expectedGroup); - Measure expectedMeasure = Measure.create("sw_metric", "service_cpm_minute", Duration.ofMinutes(1)).setEntityRelativeTags("entity_id").addTagFamily(TagFamilySpec.create("default").addTagSpec(TagFamilySpec.TagSpec.newStringTag("entity_id")).build()).addField(Measure.FieldSpec.newIntField("total").compressWithZSTD().encodeWithGorilla().build()).addField(Measure.FieldSpec.newIntField("value").compressWithZSTD().encodeWithGorilla().build()).addIndex(IndexRule.create("scope", IndexRule [...] + Measure expectedMeasure = Measure.create("sw_metric", "service_cpm_minute", Duration.ofMinutes(1)).setEntityRelativeTags("entity_id").addTagFamily(TagFamilySpec.create("default").addTagSpec(TagFamilySpec.TagSpec.newStringTag("entity_id")).build()).addField(Measure.FieldSpec.newIntField("total").compressWithZSTD().encodeWithGorilla().build()).addField(Measure.FieldSpec.newIntField("value").compressWithZSTD().encodeWithGorilla().build()).addIndex(IndexRule.create("scope", IndexRule [...] client.define(expectedMeasure); Assert.assertNotNull(expectedMeasure); processor = client.buildMeasureWriteProcessor(1000, 1, 1); diff --git a/src/test/java/org/apache/skywalking/banyandb/v1/client/ITBanyanDBStreamQueryTests.java b/src/test/java/org/apache/skywalking/banyandb/v1/client/ITBanyanDBStreamQueryTests.java index 9088ebe..7091221 100644 --- a/src/test/java/org/apache/skywalking/banyandb/v1/client/ITBanyanDBStreamQueryTests.java +++ b/src/test/java/org/apache/skywalking/banyandb/v1/client/ITBanyanDBStreamQueryTests.java @@ -47,7 +47,7 @@ public class ITBanyanDBStreamQueryTests extends BanyanDBClientTestCI { public void setUp() throws IOException, BanyanDBException, InterruptedException { this.setUpConnection(); Group expectedGroup = this.client.define( - Group.create("default", Catalog.STREAM, 2, IntervalRule.create(IntervalRule.Unit.HOUR, 4), + Group.create("default", Catalog.STREAM, 2, IntervalRule.create(IntervalRule.Unit.DAY, 1), IntervalRule.create(IntervalRule.Unit.DAY, 7)) ); @@ -72,7 +72,7 @@ public class ITBanyanDBStreamQueryTests extends BanyanDBClientTestCI { .addTagSpec(TagFamilySpec.TagSpec.newStringTag("mq.topic")) .addTagSpec(TagFamilySpec.TagSpec.newStringTag("mq.queue")) .build()) - .addIndex(IndexRule.create("trace_id", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.GLOBAL)) + .addIndex(IndexRule.create("trace_id", IndexRule.IndexType.INVERTED)) .build(); this.client.define(expectedStream); Assert.assertNotNull(expectedStream); diff --git a/src/test/java/org/apache/skywalking/banyandb/v1/client/metadata/IndexRuleMetadataRegistryTest.java b/src/test/java/org/apache/skywalking/banyandb/v1/client/metadata/IndexRuleMetadataRegistryTest.java index dcae37c..c5c229f 100644 --- a/src/test/java/org/apache/skywalking/banyandb/v1/client/metadata/IndexRuleMetadataRegistryTest.java +++ b/src/test/java/org/apache/skywalking/banyandb/v1/client/metadata/IndexRuleMetadataRegistryTest.java @@ -38,14 +38,14 @@ public class IndexRuleMetadataRegistryTest extends AbstractBanyanDBClientTest { @Test public void testIndexRuleRegistry_create() throws BanyanDBException { - IndexRule indexRule = IndexRule.create("default", "db.instance", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES); + IndexRule indexRule = IndexRule.create("default", "db.instance", IndexRule.IndexType.INVERTED); this.registry.create(indexRule); Assert.assertEquals(indexRuleRegistry.size(), 1); } @Test public void testIndexRuleRegistry_createAndGet() throws BanyanDBException { - IndexRule indexRule = IndexRule.create("default", "db.instance", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES); + IndexRule indexRule = IndexRule.create("default", "db.instance", IndexRule.IndexType.INVERTED); indexRule = indexRule.withAnalyzer(IndexRule.Analyzer.SIMPLE); this.registry.create(indexRule); IndexRule getIndexRule = this.registry.get("default", "db.instance"); @@ -56,7 +56,7 @@ public class IndexRuleMetadataRegistryTest extends AbstractBanyanDBClientTest { @Test public void testIndexRuleRegistry_createAndList() throws BanyanDBException { - IndexRule indexRule = IndexRule.create("default", "db.instance", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES); + IndexRule indexRule = IndexRule.create("default", "db.instance", IndexRule.IndexType.INVERTED); this.registry.create(indexRule); List<IndexRule> listIndexRule = this.registry.list("default"); Assert.assertNotNull(listIndexRule); @@ -66,7 +66,7 @@ public class IndexRuleMetadataRegistryTest extends AbstractBanyanDBClientTest { @Test public void testIndexRuleRegistry_createAndDelete() throws BanyanDBException { - IndexRule indexRule = IndexRule.create("default", "db.instance", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES); + IndexRule indexRule = IndexRule.create("default", "db.instance", IndexRule.IndexType.INVERTED); this.registry.create(indexRule); boolean deleted = this.registry.delete("default", "db.instance"); Assert.assertTrue(deleted); diff --git a/src/test/java/org/apache/skywalking/banyandb/v1/client/metadata/MeasureMetadataRegistryTest.java b/src/test/java/org/apache/skywalking/banyandb/v1/client/metadata/MeasureMetadataRegistryTest.java index e87bef1..bd2fca4 100644 --- a/src/test/java/org/apache/skywalking/banyandb/v1/client/metadata/MeasureMetadataRegistryTest.java +++ b/src/test/java/org/apache/skywalking/banyandb/v1/client/metadata/MeasureMetadataRegistryTest.java @@ -44,7 +44,7 @@ public class MeasureMetadataRegistryTest extends AbstractBanyanDBClientTest { .addField(Measure.FieldSpec.newIntField("total").compressWithZSTD().encodeWithGorilla().build()) .addField(Measure.FieldSpec.newIntField("value").compressWithZSTD().encodeWithGorilla().build()) .addField(Measure.FieldSpec.newFloatField("sum").compressWithZSTD().encodeWithGorilla().build()) - .addIndex(IndexRule.create("scope", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES)) + .addIndex(IndexRule.create("scope", IndexRule.IndexType.INVERTED)) .build(); this.client.define(expectedMeasure); Assert.assertTrue(measureRegistry.containsKey("service_cpm_minute")); @@ -66,7 +66,7 @@ public class MeasureMetadataRegistryTest extends AbstractBanyanDBClientTest { .addField(Measure.FieldSpec.newIntField("total").compressWithZSTD().encodeWithGorilla().build()) .addField(Measure.FieldSpec.newIntField("value").compressWithZSTD().encodeWithGorilla().build()) .addField(Measure.FieldSpec.newFloatField("sum").compressWithZSTD().encodeWithGorilla().build()) - .addIndex(IndexRule.create("scope", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES)) + .addIndex(IndexRule.create("scope", IndexRule.IndexType.INVERTED)) .build(); this.client.define(expectedMeasure); List<Measure> actualMeasures = new MeasureMetadataRegistry(this.channel).list("sw_metric"); @@ -86,7 +86,7 @@ public class MeasureMetadataRegistryTest extends AbstractBanyanDBClientTest { .addField(Measure.FieldSpec.newIntField("total").compressWithZSTD().encodeWithGorilla().build()) .addField(Measure.FieldSpec.newIntField("value").compressWithZSTD().encodeWithGorilla().build()) .addField(Measure.FieldSpec.newFloatField("sum").compressWithZSTD().encodeWithGorilla().build()) - .addIndex(IndexRule.create("scope", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.SERIES)) + .addIndex(IndexRule.create("scope", IndexRule.IndexType.INVERTED)) .build(); this.client.define(expectedMeasure); boolean deleted = this.client.delete(expectedMeasure); diff --git a/src/test/java/org/apache/skywalking/banyandb/v1/client/metadata/StreamMetadataRegistryTest.java b/src/test/java/org/apache/skywalking/banyandb/v1/client/metadata/StreamMetadataRegistryTest.java index 140608a..0e88def 100644 --- a/src/test/java/org/apache/skywalking/banyandb/v1/client/metadata/StreamMetadataRegistryTest.java +++ b/src/test/java/org/apache/skywalking/banyandb/v1/client/metadata/StreamMetadataRegistryTest.java @@ -46,7 +46,7 @@ public class StreamMetadataRegistryTest extends AbstractBanyanDBClientTest { .addTagSpec(TagFamilySpec.TagSpec.newStringTag("service_id")) .addTagSpec(TagFamilySpec.TagSpec.newStringTag("service_instance_id")) .build()) - .addIndex(IndexRule.create("trace_id", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.GLOBAL)) + .addIndex(IndexRule.create("trace_id", IndexRule.IndexType.INVERTED)) .build(); this.client.define(expectedStream); Assert.assertTrue(streamRegistry.containsKey("sw")); @@ -69,7 +69,7 @@ public class StreamMetadataRegistryTest extends AbstractBanyanDBClientTest { .addTagSpec(TagFamilySpec.TagSpec.newIntTag("state")) .addTagSpec(TagFamilySpec.TagSpec.newStringTag("service_id")) .build()) - .addIndex(IndexRule.create("trace_id", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.GLOBAL)) + .addIndex(IndexRule.create("trace_id", IndexRule.IndexType.INVERTED)) .build(); client.define(expectedStream); List<Stream> actualStreams = new StreamMetadataRegistry(this.channel).list("default"); @@ -90,7 +90,7 @@ public class StreamMetadataRegistryTest extends AbstractBanyanDBClientTest { .addTagSpec(TagFamilySpec.TagSpec.newIntTag("state")) .addTagSpec(TagFamilySpec.TagSpec.newStringTag("service_id")) .build()) - .addIndex(IndexRule.create("trace_id", IndexRule.IndexType.INVERTED, IndexRule.IndexLocation.GLOBAL)) + .addIndex(IndexRule.create("trace_id", IndexRule.IndexType.INVERTED)) .build(); this.client.define(expectedStream); boolean deleted = this.client.delete(expectedStream);