Skip to content
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

opt: fix panic in generating tuple IN constraints #27053

Merged
merged 1 commit into from
Jun 28, 2018

Conversation

justinj
Copy link
Contributor

@justinj justinj commented Jun 28, 2018

Fixes #27016.

Previously this code would panic if there were no constrainable columns.
I've added an equivalent test case to the one provided, but it will be
difficult to run the test provided until #27034 lands. I suspect the
problem there was with placeholders (it didn't panic with the old code
and the placeholders replaced with constants).

We should also consider adding prepared statement support to opt_tester
so that we can test situations like that in the future.

Release note (bug fix): Fix a panic in the optimizer with IN filters.

@justinj justinj requested a review from RaduBerinde June 28, 2018 15:06
@justinj justinj requested a review from a team as a code owner June 28, 2018 15:06
@cockroach-teamcity
Copy link
Member

This change is Reviewable

@RaduBerinde
Copy link
Member

:lgtm:


Review status: :shipit: complete! 0 of 0 LGTMs obtained (and 1 stale)


Comments from Reviewable

@justinj
Copy link
Contributor Author

justinj commented Jun 28, 2018

TFTR!

bors r+

@craig
Copy link
Contributor

craig bot commented Jun 28, 2018

Timed out (retrying...)

@craig
Copy link
Contributor

craig bot commented Jun 28, 2018

Build failed

Fixes cockroachdb#27016.

Previously this code would panic if there were no constrainable columns.
I've added an equivalent test case to the one provided, but it will be
difficult to run the test provided until cockroachdb#27034 lands. I suspect the
problem there was with placeholders.

We should also consider adding prepared statement support to opt_tester
so that we can test situations like that in the future.

Release note (bug fix): Fix a panic in the optimizer with IN filters.
@justinj
Copy link
Contributor Author

justinj commented Jun 28, 2018

Had to rebase

bors r+

@craig
Copy link
Contributor

craig bot commented Jun 28, 2018

Build failed (retrying...)

craig bot pushed a commit that referenced this pull request Jun 28, 2018
25359: Metric metadata endpoint r=sploiselle a=sploiselle

This PR integrates two changes:
- Makes explicit more metric metadata properties
- Adds an endpoint to make all metric metadata externally consumbale

## Explicit Metric Metadata
Timeseries metrics had two implicit metadata properties:
- Units, which is the unit of data collected (Count, Bytes, or Duration)
- AxisLabel, which is the element measured by the metric (i.e. what the Y-axis represents)

Because these properties are used to display charts to users and do not change for the lifetime of
the metric, they should be defined when the when the metric is created. This ensures end users can
consistently and meaningfully interpret data in the way the metric's author intended.

### Testing
This PR adds a test to `status_test.go` to ensure that all metrics metadata have a Name, Help, and AxisLabel defined. Because Units have a zero value of "Count", the test doesn't check for it being set.

## Metric Metadata Endpoint
This PR adds an endpoint at `<Admin UI>/_admin/metricmetadata` that exposes all metric metadata, including the new Units and AxisLabel properties added in the first commit.

While this endpoint doesn't have much intrinsic value, it will be leveraged to generate a catalog of timeseries charts. That commit is ready to go, but is large, so wanted to make more incremental changes by splitting them into two PRs.

26949: ui: properly segregate/aggregate app sql stats r=couchand a=couchand

Previously we had been a bit lazy about the apps that statement statistics roll into, but feedback highlighted that the app was an important distinction for users.  This adds support for apps to the statements list and details pages.

The statements list now has a filter above the list to choose an app:
<img width="548" alt="screen shot 2018-06-25 at 1 04 56 pm" src="https://user-images.githubusercontent.com/793969/41864643-aeba45bc-7878-11e8-85ff-60d39d71beb6.png">

The details page now lists all apps a query appears in (when viewing all apps) or just the stats relevant to a single app.
<img width="466" alt="screen shot 2018-06-25 at 1 05 05 pm" src="https://user-images.githubusercontent.com/793969/41864691-d196db7c-7878-11e8-89d5-32717753a935.png">

Fixes: #26990 

27039: sql: fix panic when renaming a scalar source r=justinj a=justinj

Quite an edge case, found with RSG.

Release note (bug fix): fixed a panic that could occur when renaming a
scalar function used as a data source.

27042: cli: Fix ordering of columns in node status r=RaduBerinde a=neeral

The header and data for columns updated_at and started_at were swapped.
Example output before:
```
$ cockroach node status --insecure
+----+--------------------+------------------------------------------+
| id |      address       |                  build                   |
updated_at            |            started_at            | is_live |
+----+--------------------+------------------------------------------+
|  1 | neeral-M51AC:26257 | v2.1.0-alpha.20180604-872-g50ae724       |
2018-06-28 00:52:49.925433+00:00 | 2018-06-28 00:52:49.925691+00:00 |
true    |
|  2 | neeral-M51AC:25262 | v2.1.0-alpha.20180604-848-ga22c68d-dirty |
2018-06-27 22:18:44.617039+00:00 | 2018-06-28 00:42:54.651608+00:00 |
false   |
|  3 | neeral-M51AC:25263 | v2.1.0-alpha.20180604-849-g1782ff9-dirty |
2018-06-28 00:19:53.20144+00:00  | 2018-06-28 00:53:07.018604+00:00 |
true    |
|  4 | neeral-M51AC:25264 | v2.1.0-alpha.20180604-849-g1782ff9-dirty |
2018-06-28 00:19:59.773341+00:00 | 2018-06-28 00:52:59.80999+00:00  |
true    |
|  5 | neeral-M51AC:25265 | v2.1.0-alpha.20180604-849-g1782ff9-dirty |
2018-06-28 00:20:01.927442+00:00 | 2018-06-28 00:53:01.962355+00:00 |
true    |
+----+--------------------+------------------------------------------+
```

27048: build: assert clean for submodules r=benesch a=tschottdorf

I saw failing builds due to a dirty `c-deps/protobuf` directory; this
isn't cleaned up by the prior version of the script (and it also does
not tell you the diff). This new one will.

Also added a second `-f` to `git clean` which does not stop in nested
repos (excluding submodules). We don't need that but it seemed right
to add it.

Release note: None

27053: opt: fix panic in generating tuple IN constraints r=justinj a=justinj

Fixes #27016.

Previously this code would panic if there were no constrainable columns.
I've added an equivalent test case to the one provided, but it will be
difficult to run the test provided until #27034 lands. I suspect the
problem there was with placeholders (it didn't panic with the old code
and the placeholders replaced with constants).

We should also consider adding prepared statement support to opt_tester
so that we can test situations like that in the future.

Release note (bug fix): Fix a panic in the optimizer with IN filters.

Co-authored-by: Sean Loiselle <himself@seanloiselle.com>
Co-authored-by: Andrew Couch <andrew@cockroachlabs.com>
Co-authored-by: Justin Jaffray <justin@cockroachlabs.com>
Co-authored-by: neeral <neeral@users.noreply.github.com>
Co-authored-by: Tobias Schottdorf <tobias.schottdorf@gmail.com>
@craig
Copy link
Contributor

craig bot commented Jun 28, 2018

Build succeeded

@craig craig bot merged commit 84a7b51 into cockroachdb:master Jun 28, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

opt: crash found while running hibernate test suite - index out of range
3 participants