-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
fix: Return empty vector instead of nil for empty evaluator. #13485
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
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.
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 08615bf7519b31e825903577427f7407194baf74 When 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 --web Or, 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 08615bf7519b31e825903577427f7407194baf74 When 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 --web Or, 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
false
forNext()
the engine would returnnil
instead of an empty vector.This issues has not been noticed because all current evaluators would always return
true
with an empty vector. However, the newlast_over_time
andfirst_over_time
merge evaluators broke that convention here. It returns true with an empty vector.Checklist
CONTRIBUTING.md
guide (required)feat
PRs 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.md
production/helm/loki/Chart.yaml
and updateproduction/helm/loki/CHANGELOG.md
andproduction/helm/loki/README.md
. Example PRdeprecated-config.yaml
anddeleted-config.yaml
files respectively in thetools/deprecated-config-checker
directory. Example PR