fix: Return empty vector instead of nil for empty evaluator. - #13485
Conversation
|
Hello @jeschkies!
Please, if the current pull request addresses a bug fix, label it with the |
| } | ||
|
|
||
| func (q *query) JoinSampleVector(next bool, r StepResult, stepEvaluator StepEvaluator, maxSeries int) (promql_parser.Value, error) { | ||
|
|
There was a problem hiding this comment.
that's my formatted ^^
|
This PR must be merged before a backport PR will be created. |
As commented in the code, we should not break the convention. |
cstyan
left a comment
There was a problem hiding this comment.
discussed on slack with Karsten, LGTM 👍
|
The backport to To backport manually, run these commands in your terminal: # Fetch latest updates from GitHub
git fetch
# Create a new branch
git switch --create backport-13485-to-k210 origin/k210
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x 08615bf7519b31e825903577427f7407194baf74When the conflicts are resolved, stage and commit the changes: If you have the GitHub CLI installed: # Push the branch to GitHub:
git push --set-upstream origin backport-13485-to-k210
# Create the PR body template
PR_BODY=$(gh pr view 13485 --json body --template 'Backport 08615bf7519b31e825903577427f7407194baf74 from #13485{{ "\n\n---\n\n" }}{{ index . "body" }}')
# Create the PR on GitHub
echo "${PR_BODY}" | gh pr create --title 'chore: [k210] fix: Return empty vector instead of nil for empty evaluator.' --body-file - --label 'size/M' --label 'type/bug' --label 'backport' --base k210 --milestone k210 --webOr, if you don't have the GitHub CLI installed (we recommend you install it!): # Push the branch to GitHub:
git push --set-upstream origin backport-13485-to-k210
# Create a pull request where the `base` branch is `k210` and the `compare`/`head` branch is `backport-13485-to-k210`.
# Remove the local backport branch
git switch main
git branch -D backport-13485-to-k210 |
|
The backport to To backport manually, run these commands in your terminal: # Fetch latest updates from GitHub
git fetch
# Create a new branch
git switch --create backport-13485-to-k210 origin/k210
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x 08615bf7519b31e825903577427f7407194baf74When the conflicts are resolved, stage and commit the changes: If you have the GitHub CLI installed: # Push the branch to GitHub:
git push --set-upstream origin backport-13485-to-k210
# Create the PR body template
PR_BODY=$(gh pr view 13485 --json body --template 'Backport 08615bf7519b31e825903577427f7407194baf74 from #13485{{ "\n\n---\n\n" }}{{ index . "body" }}')
# Create the PR on GitHub
echo "${PR_BODY}" | gh pr create --title 'chore: [k210] fix: Return empty vector instead of nil for empty evaluator.' --body-file - --label 'size/M' --label 'type/bug' --label 'backport' --base k210 --milestone k210 --webOr, if you don't have the GitHub CLI installed (we recommend you install it!): # Push the branch to GitHub:
git push --set-upstream origin backport-13485-to-k210
# Create a pull request where the `base` branch is `k210` and the `compare`/`head` branch is `backport-13485-to-k210`.
# Remove the local backport branch
git switch main
git branch -D backport-13485-to-k210 |
What this PR does / why we need it:
In case an underlying step evaluator in the query engine would return
falseforNext()the engine would returnnilinstead of an empty vector.This issues has not been noticed because all current evaluators would always return
truewith an empty vector. However, the newlast_over_timeandfirst_over_timemerge evaluators broke that convention here. It returns true with an empty vector.Checklist
CONTRIBUTING.mdguide (required)featPRs are unlikely to be accepted unless a case can be made for the feature actually being a bug fix to existing behavior.docs/sources/setup/upgrade/_index.mdproduction/helm/loki/Chart.yamland updateproduction/helm/loki/CHANGELOG.mdandproduction/helm/loki/README.md. Example PRdeprecated-config.yamlanddeleted-config.yamlfiles respectively in thetools/deprecated-config-checkerdirectory. Example PR