You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2024/07/26 02:46:52 UTC
(skywalking) branch fix-stream-order created (now b3fb2a6e88)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a change to branch fix-stream-order
in repository https://gitbox.apache.org/repos/asf/skywalking.git
at b3fb2a6e88 Remove the index of stream timestamp column
This branch includes the following new commits:
new b3fb2a6e88 Remove the index of stream timestamp column
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) 01/01: Remove the index of stream timestamp column
Posted by wu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch fix-stream-order
in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit b3fb2a6e88aa7437c734d511fb3a2746000256db
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Fri Jul 26 10:46:42 2024 +0800
Remove the index of stream timestamp column
---
.../storage/plugin/banyandb/MetadataRegistry.java | 24 ++++++++++++++--------
1 file changed, 15 insertions(+), 9 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 86795cf496..e45d879714 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
@@ -96,11 +96,19 @@ public enum MetadataRegistry {
if (shardingColumns.isEmpty()) {
throw new IllegalStateException("sharding keys of model[stream." + model.getName() + "] must not be empty");
}
+
+ String timestampColumn4Stream = model.getBanyanDBModelExtension().getTimestampColumn();
+ if (StringUtil.isBlank(timestampColumn4Stream)) {
+ throw new IllegalStateException(
+ "Model[stream." + model.getName() + "] miss defined @BanyanDB.TimestampColumn");
+ }
+ schemaBuilder.timestampColumn4Stream(timestampColumn4Stream);
+
// parse tag metadata
// this can be used to build both
// 1) a list of TagFamilySpec,
// 2) a list of IndexRule,
- List<TagMetadata> tags = parseTagMetadata(model, schemaBuilder, shardingColumns);
+ List<TagMetadata> tags = parseTagMetadata(model, schemaBuilder, shardingColumns, timestampColumn4Stream);
List<TagFamilySpec> tagFamilySpecs = schemaMetadata.extractTagFamilySpec(tags, false);
// iterate over tagFamilySpecs to save tag names
for (final TagFamilySpec tagFamilySpec : tagFamilySpecs) {
@@ -108,12 +116,7 @@ public enum MetadataRegistry {
schemaBuilder.tag(tagSpec.getTagName());
}
}
- String timestampColumn4Stream = model.getBanyanDBModelExtension().getTimestampColumn();
- if (StringUtil.isBlank(timestampColumn4Stream)) {
- throw new IllegalStateException(
- "Model[stream." + model.getName() + "] miss defined @BanyanDB.TimestampColumn");
- }
- schemaBuilder.timestampColumn4Stream(timestampColumn4Stream);
+
List<IndexRule> indexRules = tags.stream()
.map(TagMetadata::getIndexRule)
.filter(Objects::nonNull)
@@ -314,11 +317,14 @@ public enum MetadataRegistry {
*
* @since 9.4.0 Skip {@link Record#TIME_BUCKET}
*/
- List<TagMetadata> parseTagMetadata(Model model, Schema.SchemaBuilder builder, List<String> shardingColumns) {
+ List<TagMetadata> parseTagMetadata(Model model,
+ Schema.SchemaBuilder builder,
+ List<String> shardingColumns,
+ String timestampColumn4Stream) {
List<TagMetadata> tagMetadataList = new ArrayList<>();
for (final ModelColumn col : model.getColumns()) {
final String columnStorageName = col.getColumnName().getStorageName();
- if (columnStorageName.equals(Record.TIME_BUCKET)) {
+ if (columnStorageName.equals(Record.TIME_BUCKET) || columnStorageName.equals(timestampColumn4Stream)) {
continue;
}
final TagFamilySpec.TagSpec tagSpec = parseTagSpec(col);