-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add metrics tracking lucene near real-time refresh delay #13307
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #13307 +/- ##
============================================
+ Coverage 61.75% 62.08% +0.32%
+ Complexity 207 198 -9
============================================
Files 2436 2559 +123
Lines 133233 141302 +8069
Branches 20636 21918 +1282
============================================
+ Hits 82274 87723 +5449
- Misses 44911 46910 +1999
- Partials 6048 6669 +621
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
...java/org/apache/pinot/segment/local/realtime/impl/invertedindex/RealtimeLuceneTextIndex.java
Outdated
Show resolved
Hide resolved
...java/org/apache/pinot/segment/local/realtime/impl/invertedindex/RealtimeLuceneTextIndex.java
Outdated
Show resolved
Hide resolved
@@ -40,4 +40,29 @@ public static void validatePartialOrFullSegmentName(String partialOrFullSegmentN | |||
throw new IllegalArgumentException("Invalid partial or full segment name: " + partialOrFullSegmentName); | |||
} | |||
} | |||
|
|||
/** | |||
* A util to extract the table name from a segment name. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this can be done in LLCSegmentName already today.
* add metrics for lucene nrt delay * license * fix test, mock ServerMetrics * lint * missed mock metrics * missed cherry-pick * close ordering * address comment * use LLCSegmentName instead
Since the realtime Lucene index doesn't immediately make results available to searchers, this can cause confusion for users who see data, then search for it only to get no results. There is currently no visibility into how long they might have to wait for data to be searchable.
This adds two gauges:
These are per partition, and contain the value of the greatest delay across all columns. e.g., if you have two text indexes, on colA, and colB, if colA delay = 10s and colB delay = 20s, the gauge will emit 20s. This is pre-aggregated to avoid high cardinalities which is problematic for many metric systems.
Tested in an internal cluster.
sample delay:
suggested tags:
enhancement
,docs