You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ha...@apache.org on 2023/02/23 15:12:46 UTC
[skywalking-banyandb-java-client] branch group created (now 7f2d742)
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a change to branch group
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb-java-client.git
at 7f2d742 Tweak Group builders for property operations
This branch includes the following new commits:
new 7f2d742 Tweak Group builders for property operations
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[skywalking-banyandb-java-client] 01/01: Tweak Group builders for property operations
Posted by ha...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch group
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb-java-client.git
commit 7f2d7424a67f75d8c1747ac57ed815ecf8259201
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Thu Feb 23 23:11:54 2023 +0800
Tweak Group builders for property operations
Signed-off-by: Gao Hongtao <ha...@gmail.com>
---
.../banyandb/v1/client/metadata/Group.java | 45 ++++++++++++++++------
.../banyandb/v1/client/BanyanDBClientTestCI.java | 2 +-
.../v1/client/ITBanyanDBPropertyTests.java | 8 +---
3 files changed, 36 insertions(+), 19 deletions(-)
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 a306ba8..4fcca7d 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
@@ -19,9 +19,11 @@
package org.apache.skywalking.banyandb.v1.client.metadata;
import com.google.auto.value.AutoValue;
+import com.google.common.base.Preconditions;
import org.apache.skywalking.banyandb.common.v1.BanyandbCommon;
import org.apache.skywalking.banyandb.v1.client.util.TimeUtils;
+import javax.annotation.Nullable;
import java.time.ZonedDateTime;
@AutoValue
@@ -36,33 +38,54 @@ 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) {
+ 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);
}
public static Group create(String name, Catalog catalog, int shardNum, IntervalRule blockInterval, 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);
}
- @Override
+ public static Group create(String name) {
+ return new AutoValue_Group(null, name, null, Catalog.UNSPECIFIED, 0, null, null, null);
+ }
+
+ public static Group create(String name, ZonedDateTime updatedAt) {
+ return new AutoValue_Group(null, name, updatedAt, Catalog.UNSPECIFIED, 0, null, null, null);
+ }
+
+ @Override
public BanyandbCommon.Group serialize() {
- return BanyandbCommon.Group.newBuilder()
+ BanyandbCommon.Group.Builder builder = BanyandbCommon.Group.newBuilder()
// use name as the group
.setMetadata(this.buildMetadata().toBuilder())
- .setCatalog(catalog().getCatalog())
- .setResourceOpts(BanyandbCommon.ResourceOpts.newBuilder()
+ .setCatalog(catalog().getCatalog());
+ if (shardNum() > 0) {
+ builder.setResourceOpts(BanyandbCommon.ResourceOpts.newBuilder()
.setShardNum(shardNum())
.setBlockInterval(blockInterval().serialize())
.setSegmentInterval(segmentInterval().serialize())
.setTtl(ttl().serialize())
- .build())
- .build();
+ .build());
+ }
+ return builder.build();
}
public static Group fromProtobuf(BanyandbCommon.Group group) {
@@ -75,14 +98,14 @@ public abstract class Group extends NamedSchema<BanyandbCommon.Group> {
catalog = Catalog.MEASURE;
break;
}
-
+ BanyandbCommon.ResourceOpts opts = group.getResourceOpts();
return new AutoValue_Group(null,
group.getMetadata().getName(),
TimeUtils.parseTimestamp(group.getUpdatedAt()),
catalog,
- group.getResourceOpts().getShardNum(),
- IntervalRule.fromProtobuf(group.getResourceOpts().getBlockInterval()),
- IntervalRule.fromProtobuf(group.getResourceOpts().getSegmentInterval()),
- IntervalRule.fromProtobuf(group.getResourceOpts().getTtl()));
+ 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/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientTestCI.java b/src/test/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClientTestCI.java
index 0bcaa5b..d91f987 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
@@ -30,7 +30,7 @@ import java.io.IOException;
public class BanyanDBClientTestCI {
private static final String REGISTRY = "ghcr.io";
private static final String IMAGE_NAME = "apache/skywalking-banyandb";
- private static final String TAG = "1c19243df23f8350ea5c1542fd914c49e8698960";
+ private static final String TAG = "adbd3e87df7f84e5d1904fcf40476d2e81842058";
private static final String IMAGE = REGISTRY + "/" + IMAGE_NAME + ":" + TAG;
diff --git a/src/test/java/org/apache/skywalking/banyandb/v1/client/ITBanyanDBPropertyTests.java b/src/test/java/org/apache/skywalking/banyandb/v1/client/ITBanyanDBPropertyTests.java
index 1d7303d..b2eaf03 100644
--- a/src/test/java/org/apache/skywalking/banyandb/v1/client/ITBanyanDBPropertyTests.java
+++ b/src/test/java/org/apache/skywalking/banyandb/v1/client/ITBanyanDBPropertyTests.java
@@ -20,9 +20,7 @@ package org.apache.skywalking.banyandb.v1.client;
import io.grpc.Status;
import org.apache.skywalking.banyandb.v1.client.grpc.exception.BanyanDBException;
-import org.apache.skywalking.banyandb.v1.client.metadata.Catalog;
import org.apache.skywalking.banyandb.v1.client.metadata.Group;
-import org.apache.skywalking.banyandb.v1.client.metadata.IntervalRule;
import org.apache.skywalking.banyandb.v1.client.metadata.Property;
import org.junit.After;
import org.junit.Assert;
@@ -38,11 +36,7 @@ public class ITBanyanDBPropertyTests extends BanyanDBClientTestCI {
@Before
public void setUp() throws IOException, BanyanDBException, InterruptedException {
super.setUpConnection();
- Group expectedGroup = this.client.define(
- Group.create("default", Catalog.STREAM, 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("default"));
Assert.assertNotNull(expectedGroup);
}