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

sql: fix panic when renaming a scalar source #27039

Merged
merged 1 commit into from
Jun 28, 2018
Merged

Conversation

justinj
Copy link
Contributor

@justinj justinj commented Jun 27, 2018

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.

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.
@justinj justinj requested review from knz and a team June 27, 2018 22:21
@cockroach-teamcity
Copy link
Member

This change is Reviewable

@knz
Copy link
Contributor

knz commented Jun 28, 2018

:lgtm: wow good find, brilliant analysis and adequate patch. Thank you!


Reviewed 2 of 2 files at r1.
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

Build failed (retrying...)

@craig
Copy link
Contributor

craig bot commented Jun 28, 2018

Build failed (retrying...)

@justinj
Copy link
Contributor Author

justinj commented Jun 28, 2018

Gonna give bors a little kick

bors r+

@craig
Copy link
Contributor

craig bot commented Jun 28, 2018

Not awaiting review

@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 <[email protected]>
Co-authored-by: Andrew Couch <[email protected]>
Co-authored-by: Justin Jaffray <[email protected]>
Co-authored-by: neeral <[email protected]>
Co-authored-by: Tobias Schottdorf <[email protected]>
@craig
Copy link
Contributor

craig bot commented Jun 28, 2018

Build succeeded

@craig craig bot merged commit b838964 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.

3 participants