This is an automated email from the ASF dual-hosted git repository.
cwylie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new f8a72b987a8 read metadata in SimpleQueryableIndex if available to
compute segment ordering (#17181)
f8a72b987a8 is described below
commit f8a72b987a869a2969b36c06f8a5b01f6f61ce72
Author: Clint Wylie <[email protected]>
AuthorDate: Fri Sep 27 19:39:03 2024 -0700
read metadata in SimpleQueryableIndex if available to compute segment
ordering (#17181)
---
.../org/apache/druid/segment/SimpleQueryableIndex.java | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git
a/processing/src/main/java/org/apache/druid/segment/SimpleQueryableIndex.java
b/processing/src/main/java/org/apache/druid/segment/SimpleQueryableIndex.java
index 3f6c0f5e825..9518876cb75 100644
---
a/processing/src/main/java/org/apache/druid/segment/SimpleQueryableIndex.java
+++
b/processing/src/main/java/org/apache/druid/segment/SimpleQueryableIndex.java
@@ -49,6 +49,7 @@ public abstract class SimpleQueryableIndex implements
QueryableIndex
private final Map<String, Supplier<ColumnHolder>> columns;
private final SmooshedFileMapper fileMapper;
private final Supplier<Map<String, DimensionHandler>> dimensionHandlers;
+ private final List<OrderBy> ordering;
public SimpleQueryableIndex(
Interval dataInterval,
@@ -83,6 +84,14 @@ public abstract class SimpleQueryableIndex implements
QueryableIndex
} else {
this.dimensionHandlers = () ->
initDimensionHandlers(availableDimensions);
}
+
+ final Metadata metadata = getMetadata();
+ if (metadata != null && metadata.getOrdering() != null) {
+ this.ordering = metadata.getOrdering();
+ } else {
+ // When sort order isn't set in metadata.drd, assume the segment is
sorted by __time.
+ this.ordering = Cursors.ascendingTimeOrder();
+ }
}
@Override
@@ -112,13 +121,7 @@ public abstract class SimpleQueryableIndex implements
QueryableIndex
@Override
public List<OrderBy> getOrdering()
{
- final Metadata metadata = getMetadata();
- if (metadata != null && metadata.getOrdering() != null) {
- return metadata.getOrdering();
- } else {
- // When sort order isn't set in metadata.drd, assume the segment is
sorted by __time.
- return Cursors.ascendingTimeOrder();
- }
+ return ordering;
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]