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
internal error: null rejection requested on non-null column #100559
Comments
Hello, I am Blathers. I am here to help you get the issue triaged. Hoot - a bug! Though bugs are the bane of my existence, rest assured the wretched thing will get the best of care here. I have CC'd a few people who may be able to assist you:
If we have not gotten back to your issue within a few business days, you can try the following:
🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf. |
Hi @DerZc, thanks for submitting this find! It looks like the problem is that our null-rejection rules (which simplify outer joins like |
Hi @DrewKimball, I got it, thank you for such a quick and detailed explanation! |
It is possible for exploration rules to reveal opportunities to null-reject (simplify) an outer join that were not visible during normalization. Previously, this would cause an internal error, since it was assumed null-rejection would never be requested by an expression that can prove the requested column is non-null. This patch removes the assertion and instead removes any proven non-null columns from the requested null-rejection column set. Note that this solution is orthogonal to improving null-rejection during normalization - one instance of this is tracked in cockroachdb#100564. Fixes cockroachdb#100559 Release note (bug fix): Fixed a bug existing since before 22.1 that could cause an internal error in rare cases for a query with outer joins that can be simplified to non-outer joins and at least one semi-join.
99423: roachprod: apply (VM) labels to persistent disks r=renatolabs a=srosenberg Previously, roachprod provisioning in GCE and AWS didn't propagate VM labels to the corresponding persistent disks. In GCE, the labels specified via `--labels` [1] are applied only to the VM instances, and not their persistent disks. There is further evidence [2] this isn't supported in GCE, although the documentation doesn't make it explicit. In AWS, `--tag-specifications` supports multiple resources as of ~2017; roachprod was passing only 'ResourceType=instance'. In Azure, labels appear to be propagated by default; i.e., no change is required. The missing storage labels made it difficult to accurately determine the cost of a roachprod cluster, based on the usage label. This change ensures the usage (and other) labels are propagated to all persistent disks provisioned via roachprod. Resolves: #90592 Epic: CRDB-10428 Release note: None [1] https://cloud.google.com/sdk/gcloud/reference/compute/instances/create [2] https://issuetracker.google.com/issues/163152709 99987: logictest: correctly disable auto stats on system tables r=yuzefovich a=yuzefovich This commit fixes an oversight of 9c6fcd1 where we attempted to disable the auto stats collection on system tables by overriding the corresponding cluster setting before the cluster is started. The problem with that change was that we overrode the cluster setting object that is only used by the temp storage config and has no bearing on the settings used by each node in the cluster. As it turns out, previously we didn't explicitly initialize the `Settings` field of the arguments for each node, so a fresh copy was always created. This oversight is now fixed - we explicitly create a settings object for each node / tenant and then override the auto stats on system tables to be disabled on it. Fixes: #99897. Release note: None 100565: opt: fix internal error when exploration uncovers null-rejection r=DrewKimball a=DrewKimball It is possible for exploration rules to reveal opportunities to null-reject (simplify) an outer join that were not visible during normalization. Previously, this would cause an internal error, since it was assumed null-rejection would never be requested by an expression that can prove the requested column is non-null. This patch removes the assertion and instead removes any proven non-null columns from the requested null-rejection column set. Note that this solution is orthogonal to improving null-rejection during normalization - one instance of this is tracked in #100564. Fixes #100559 Release note (bug fix): Fixed a bug existing since before 22.1 that could cause an internal error in rare cases for a query with outer joins that can be simplified to non-outer joins and at least one semi-join. Co-authored-by: Stan Rosenberg <stan.rosenberg@gmail.com> Co-authored-by: Yahor Yuzefovich <yahor@cockroachlabs.com> Co-authored-by: Drew Kimball <drewk@cockroachlabs.com>
It is possible for exploration rules to reveal opportunities to null-reject (simplify) an outer join that were not visible during normalization. Previously, this would cause an internal error, since it was assumed null-rejection would never be requested by an expression that can prove the requested column is non-null. This patch removes the assertion and instead removes any proven non-null columns from the requested null-rejection column set. Note that this solution is orthogonal to improving null-rejection during normalization - one instance of this is tracked in #100564. Fixes #100559 Release note (bug fix): Fixed a bug existing since before 22.1 that could cause an internal error in rare cases for a query with outer joins that can be simplified to non-outer joins and at least one semi-join.
It is possible for exploration rules to reveal opportunities to null-reject (simplify) an outer join that were not visible during normalization. Previously, this would cause an internal error, since it was assumed null-rejection would never be requested by an expression that can prove the requested column is non-null. This patch removes the assertion and instead removes any proven non-null columns from the requested null-rejection column set. Note that this solution is orthogonal to improving null-rejection during normalization - one instance of this is tracked in #100564. Fixes #100559 Release note (bug fix): Fixed a bug existing since before 22.1 that could cause an internal error in rare cases for a query with outer joins that can be simplified to non-outer joins and at least one semi-join.
It is possible for exploration rules to reveal opportunities to null-reject (simplify) an outer join that were not visible during normalization. Previously, this would cause an internal error, since it was assumed null-rejection would never be requested by an expression that can prove the requested column is non-null. This patch removes the assertion and instead removes any proven non-null columns from the requested null-rejection column set. Note that this solution is orthogonal to improving null-rejection during normalization - one instance of this is tracked in #100564. Fixes #100559 Release note (bug fix): Fixed a bug existing since before 22.1 that could cause an internal error in rare cases for a query with outer joins that can be simplified to non-outer joins and at least one semi-join.
It is possible for exploration rules to reveal opportunities to null-reject (simplify) an outer join that were not visible during normalization. Previously, this would cause an internal error, since it was assumed null-rejection would never be requested by an expression that can prove the requested column is non-null. This patch removes the assertion and instead removes any proven non-null columns from the requested null-rejection column set. Note that this solution is orthogonal to improving null-rejection during normalization - one instance of this is tracked in #100564. Fixes #100559 Release note (bug fix): Fixed a bug existing since before 22.1 that could cause an internal error in rare cases for a query with outer joins that can be simplified to non-outer joins and at least one semi-join.
Describe the problem
The following program triggers an internal error:
This is the error message:
To Reproduce
I build cockroach from the last commit in github repo (07c7d4b), but this bug can reproduce with the last release version v22.2.7.
I run cockroach in a single machine, and execute the query with CLI
cockroach sql --echo-sql --insecure --port 26257 --user root < database5.sql
Expected behavior
No error.
Environment:
Jira issue: CRDB-26492
The text was updated successfully, but these errors were encountered: