-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Close #3270: Prevent rollover lookback from passing the Unix epoch #3299
Close #3270: Prevent rollover lookback from passing the Unix epoch #3299
Conversation
…Unix epoch Version 1.26 introduced an automatic configuration for the query lookback when using ElasticSearch with aliases enabled. When aliases are enabled, the ES plugin will look back 100 years. This pre-dates the Unix epoch, and while such dates can be modeled as negative timestamps, the model defined in `jaeger/model/time.go` only supports unsigned timestamps. As a result, the 100-year lookback ends up overflowing the time model, resulting in a distant-future lookback date, rather than a distant-past lookback date. While the time model could be updated to support negative timestamps, it seems unlikely that any Jaeger users would reasonably need to search for spans from the 1920s. This reduces the automatic lookback to 50 years to remove the overflow issue while still providing an extremely long search window that should serve even the most ambitious searches of historical trace data. Signed-off-by: Charles Treatman <charles_treatman@comcast.com>
821d51a
to
a043395
Compare
@ctreatma great fix :) Could you please sign the commits (DCO check)? https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md#certificate-of-origin---sign-your-work |
Codecov Report
@@ Coverage Diff @@
## master #3299 +/- ##
==========================================
+ Coverage 95.81% 95.84% +0.03%
==========================================
Files 259 259
Lines 15413 15413
==========================================
+ Hits 14768 14773 +5
+ Misses 554 551 -3
+ Partials 91 89 -2
Continue to review full report at Codecov.
|
Signed-off-by: Charles Treatman <charles_treatman@comcast.com>
11d1d8f
to
baab745
Compare
What's the workaround until this is released? Downgrade to 1.25? |
@oliversalzburg in case you missed the notification, this fix is now available in release 1.27. |
Which problem is this PR solving?
Resolves #3270
Short description of the changes
Version 1.26 introduced an automatic configuration for the query lookback
when using ElasticSearch with aliases enabled. When aliases are enabled,
the ES plugin will look back 100 years. This pre-dates the Unix epoch, and
while such dates can be modeled as negative timestamps, the model defined
in
jaeger/model/time.go
only supports unsigned timestamps. As a result,the 100-year lookback ends up overflowing the time model, resulting in a
distant-future lookback date, rather than a distant-past lookback date.
While the time model could be updated to support negative timestamps, it
seems unlikely that any Jaeger users would reasonably need to search for
spans from the 1920s. This reduces the automatic lookback to 50 years to
remove the overflow issue while still providing an extremely long search
window that should serve even the most ambitious searches of historical
trace data.