Support BanyanDB's new property (#12936)

This commit is contained in:
Gao Hongtao 2025-01-08 11:56:45 +08:00 committed by GitHub
parent de6ae39fbf
commit c6ef231f39
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 35 additions and 25 deletions

View File

@ -52,6 +52,7 @@
* Fix `hierarchy-definition.yml` config file packaged into start.jar wrongly.
* Add `bydb.dependencies.properties` config file to define server dependency versions.
* Fix `AvgHistogramPercentileFunction` doesn't have proper field definition for `ranks`.
* BanyanDB: Support the new Property data module.
#### UI

View File

@ -72,7 +72,7 @@
<httpcore.version>4.4.13</httpcore.version>
<httpasyncclient.version>4.1.5</httpasyncclient.version>
<commons-compress.version>1.21</commons-compress.version>
<banyandb-java-client.version>0.8.0-rc0</banyandb-java-client.version>
<banyandb-java-client.version>0.8.0-rc1</banyandb-java-client.version>
<kafka-clients.version>3.4.0</kafka-clients.version>
<spring-kafka-test.version>2.4.6.RELEASE</spring-kafka-test.version>
<consul.client.version>1.5.3</consul.client.version>

View File

@ -20,6 +20,7 @@ package org.apache.skywalking.oap.server.storage.plugin.banyandb;
import io.grpc.Status;
import org.apache.skywalking.banyandb.database.v1.BanyandbDatabase;
import org.apache.skywalking.banyandb.property.v1.BanyandbProperty;
import org.apache.skywalking.banyandb.v1.client.BanyanDBClient;
import org.apache.skywalking.banyandb.v1.client.MeasureBulkWriteProcessor;
import org.apache.skywalking.banyandb.v1.client.MeasureQuery;
@ -78,9 +79,12 @@ public class BanyanDBStorageClient implements Client, HealthCheckable {
public List<Property> listProperties(String group, String name) throws IOException {
try {
List<Property> properties = this.client.findProperties(group, name);
BanyandbProperty.QueryResponse resp = this.client.query(BanyandbProperty.QueryRequest.newBuilder()
.addGroups(group)
.setContainer(name)
.build());
this.healthChecker.health();
return properties;
return resp.getPropertiesList();
} catch (BanyanDBException ex) {
if (ex.getStatus().equals(Status.Code.NOT_FOUND)) {
this.healthChecker.health();
@ -94,9 +98,16 @@ public class BanyanDBStorageClient implements Client, HealthCheckable {
public Property queryProperty(String group, String name, String id) throws IOException {
try {
Property p = this.client.findProperty(group, name, id);
BanyandbProperty.QueryResponse resp = this.client.query(BanyandbProperty.QueryRequest.newBuilder()
.addGroups(group)
.setContainer(name)
.addIds(id)
.build());
this.healthChecker.health();
return p;
if (resp.getPropertiesCount() == 0) {
return null;
}
return resp.getProperties(0);
} catch (BanyanDBException ex) {
if (ex.getStatus().equals(Status.Code.NOT_FOUND)) {
this.healthChecker.health();
@ -108,9 +119,9 @@ public class BanyanDBStorageClient implements Client, HealthCheckable {
}
}
public DeleteResponse deleteProperty(String group, String name, String id, String... tags) throws IOException {
public DeleteResponse deleteProperty(String group, String name, String id) throws IOException {
try {
DeleteResponse result = this.client.deleteProperty(group, name, id, tags);
DeleteResponse result = this.client.deleteProperty(group, name, id);
this.healthChecker.health();
return result;
} catch (BanyanDBException ex) {
@ -119,16 +130,6 @@ public class BanyanDBStorageClient implements Client, HealthCheckable {
}
}
public void keepAliveProperty(long leaseId) throws IOException {
try {
this.client.keepAliveProperty(leaseId);
this.healthChecker.health();
} catch (BanyanDBException ex) {
healthChecker.unHealth(ex);
throw new IOException("fail to keep alive property", ex);
}
}
public StreamQueryResponse query(StreamQuery q) throws IOException {
try {
StreamQueryResponse response = this.client.query(q);

View File

@ -209,7 +209,10 @@ public class BanyanDBStorageProvider extends ModuleProvider {
BanyandbCommon.Metadata.newBuilder()
.setName(
BanyanDBUITemplateManagementDAO.GROUP))
.setCatalog(BanyandbCommon.Catalog.CATALOG_UNSPECIFIED)
.setCatalog(BanyandbCommon.Catalog.CATALOG_PROPERTY)
.setResourceOpts(BanyandbCommon.ResourceOpts.newBuilder()
.setShardNum(1)
.build())
.build());
this.modelInstaller.start();

View File

@ -49,7 +49,8 @@ setup:
--set fullnameOverride=skywalking \
--set elasticsearch.enabled=false \
--set banyandb.enabled=true \
--set banyandb.standalone.image.tag=${SW_BANYANDB_COMMIT} \
--set banyandb.image.tag=${SW_BANYANDB_COMMIT} \
--set banyandb.image.repository=ghcr.io/apache/skywalking-banyandb \
--set oap.replicas=1 \
--set ui.image.repository=skywalking/ui \
--set ui.image.tag=latest \

View File

@ -50,7 +50,8 @@ setup:
--set fullnameOverride=skywalking \
--set elasticsearch.enabled=false \
--set banyandb.enabled=true \
--set banyandb.standalone.image.tag=${SW_BANYANDB_COMMIT} \
--set banyandb.image.tag=${SW_BANYANDB_COMMIT} \
--set banyandb.image.repository=ghcr.io/apache/skywalking-banyandb \
--set oap.replicas=1 \
--set ui.image.repository=skywalking/ui \
--set ui.image.tag=latest \

View File

@ -53,7 +53,8 @@ setup:
--set fullnameOverride=skywalking \
--set elasticsearch.enabled=false \
--set banyandb.enabled=true \
--set banyandb.standalone.image.tag=${SW_BANYANDB_COMMIT} \
--set banyandb.image.tag=${SW_BANYANDB_COMMIT} \
--set banyandb.image.repository=ghcr.io/apache/skywalking-banyandb \
--set oap.replicas=1 \
--set ui.image.repository=skywalking/ui \
--set ui.image.tag=latest \

View File

@ -50,7 +50,8 @@ setup:
--set fullnameOverride=skywalking \
--set elasticsearch.enabled=false \
--set banyandb.enabled=true \
--set banyandb.standalone.image.tag=${SW_BANYANDB_COMMIT} \
--set banyandb.image.tag=${SW_BANYANDB_COMMIT} \
--set banyandb.image.repository=ghcr.io/apache/skywalking-banyandb \
--set oap.replicas=1 \
--set ui.image.repository=skywalking/ui \
--set ui.image.tag=latest \

View File

@ -50,7 +50,8 @@ setup:
--set fullnameOverride=skywalking \
--set elasticsearch.enabled=false \
--set banyandb.enabled=true \
--set banyandb.standalone.image.tag=${SW_BANYANDB_COMMIT} \
--set banyandb.image.tag=${SW_BANYANDB_COMMIT} \
--set banyandb.image.repository=ghcr.io/apache/skywalking-banyandb \
--set oap.replicas=1 \
--set ui.image.repository=skywalking/ui \
--set ui.image.tag=latest \

View File

@ -21,9 +21,9 @@ SW_AGENT_GO_COMMIT=774a6d56baba1187eb03bf1861af542c923b3dff
SW_AGENT_PYTHON_COMMIT=c76a6ec51a478ac91abb20ec8f22a99b8d4d6a58
SW_AGENT_CLIENT_JS_COMMIT=af0565a67d382b683c1dbd94c379b7080db61449
SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
SW_KUBERNETES_COMMIT_SHA=1335f15bf821a40a7cd71448fa805f0be265afcc
SW_KUBERNETES_COMMIT_SHA=6fe5e6f0d3b7686c6be0457733e825ee68cb9b35
SW_ROVER_COMMIT=0ae8f12d6eb6cc9fa125c603ee57d0b21fc8c6d0
SW_BANYANDB_COMMIT=7f291fc5c626ea8b0d33c947563f7984cfc4886e
SW_BANYANDB_COMMIT=8dfe616f332848f041b0f184b023d9a256eac39e
SW_AGENT_PHP_COMMIT=3192c553002707d344bd6774cfab5bc61f67a1d3
SW_CTL_COMMIT=67cbc89dd7b214d5791321a7ca992f940cb586ba