Skip to content

Commit 1cd5733

Browse files
authored
BanyanDB: Support @EnableSort on the column to enable sorting for IndexRule and set the default to false. (#12823)
1 parent 88cd1eb commit 1cd5733

File tree

21 files changed

+141
-60
lines changed

21 files changed

+141
-60
lines changed

docs/en/changes/changes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
* BanyanDB: Introduce index mode and refactor banyandb group settings.
3333
* BanyanDB: Support update the Schema when OAP starting.
3434
* BanyanDB: Speed up OAP booting while initializing BanyanDB.
35+
* BanyanDB: Support `@EnableSort` on the column to enable sorting for `IndexRule` and set the default to false.
3536

3637
#### UI
3738

oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ public class SegmentRecord extends Record {
9191
@Setter
9292
@Getter
9393
@ElasticSearch.EnableDocValues
94+
@BanyanDB.EnableSort
9495
@Column(name = LATENCY)
9596
private int latency;
9697
@Setter

oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledSlowTraceRecord.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ public class SampledSlowTraceRecord extends Record {
6262
@Column(name = URI, storageOnly = true)
6363
private String uri;
6464
@ElasticSearch.EnableDocValues
65+
@BanyanDB.EnableSort
6566
@Column(name = LATENCY, dataType = Column.ValueDataType.SAMPLED_RECORD)
6667
private long latency;
6768
@Setter

oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus4xxTraceRecord.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public class SampledStatus4xxTraceRecord extends Record {
6363
@Column(name = URI, storageOnly = true)
6464
private String uri;
6565
@ElasticSearch.EnableDocValues
66+
@BanyanDB.EnableSort
6667
@Column(name = LATENCY, dataType = Column.ValueDataType.SAMPLED_RECORD)
6768
private long latency;
6869
@Setter

oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/trace/SampledStatus5xxTraceRecord.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public class SampledStatus5xxTraceRecord extends Record {
6363
@Column(name = URI, storageOnly = true)
6464
private String uri;
6565
@ElasticSearch.EnableDocValues
66+
@BanyanDB.EnableSort
6667
@Column(name = LATENCY, dataType = Column.ValueDataType.SAMPLED_RECORD)
6768
private long latency;
6869
@Setter

oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/metrics/Event.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ protected StorageID id0() {
109109
private String parameters;
110110

111111
@ElasticSearch.EnableDocValues
112+
@BanyanDB.EnableSort
112113
@Column(name = START_TIME)
113114
private long startTime;
114115

oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/topn/TopN.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public abstract class TopN extends Record implements ComparableStorageData {
3939
@Getter
4040
@Setter
4141
@ElasticSearch.EnableDocValues
42+
@BanyanDB.EnableSort
4243
@Column(name = LATENCY, dataType = Column.ValueDataType.SAMPLED_RECORD)
4344
private long latency;
4445
@Getter

oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/browser/source/BrowserAppPagePerf.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ public String getEntityId() {
4040
}
4141

4242
@Getter
43-
@ScopeDefaultColumn.DefinedByField(columnName = "service_id", groupByCondInTopN = true)
43+
@ScopeDefaultColumn.DefinedByField(columnName = "service_id")
44+
@ScopeDefaultColumn.BanyanDB(groupByCondInTopN = true)
4445
private String serviceId;
4546
@Getter
4647
@Setter

oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/profiling/ebpf/storage/EBPFProfilingScheduleRecord.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ public class EBPFProfilingScheduleRecord extends Metrics {
6767
@Column(name = PROCESS_ID, length = 600)
6868
private String processId;
6969
@ElasticSearch.EnableDocValues
70+
@BanyanDB.EnableSort
7071
@Column(name = START_TIME)
7172
private long startTime;
7273
@Column(name = END_TIME)

oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/source/DefaultScopeDefine.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,12 +234,18 @@ private static void addNewScope(ScopeDeclaration declaration, Class originalClas
234234
for (Field field : scopeClassField) {
235235
ScopeDefaultColumn.DefinedByField definedByField = field.getAnnotation(
236236
ScopeDefaultColumn.DefinedByField.class);
237+
ScopeDefaultColumn.BanyanDB banyanDB = field.getAnnotation(
238+
ScopeDefaultColumn.BanyanDB.class);
239+
boolean groupByCondInTopN = false;
240+
if (banyanDB != null) {
241+
groupByCondInTopN = banyanDB.groupByCondInTopN();
242+
}
237243
if (definedByField != null) {
238244
if (!definedByField.requireDynamicActive() || ACTIVE_EXTRA_MODEL_COLUMNS) {
239245
scopeDefaultColumns.add(
240246
new ScopeDefaultColumn(
241247
field.getName(), definedByField.columnName(), field.getType(), false,
242-
definedByField.length(), definedByField.groupByCondInTopN(), definedByField.isAttribute()
248+
definedByField.length(), groupByCondInTopN, definedByField.isAttribute()
243249
));
244250
}
245251
}

0 commit comments

Comments
 (0)