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: run all logic tests with both vectorize auto and off by default #40350

Merged
merged 1 commit into from
Sep 7, 2019

Conversation

yuzefovich
Copy link
Member

When vectorize is set to 'auto', we pay attention to whether the
stats are present on the input tables and whether the row count
threshold is met. This means that many logic tests might not be run
through the vectorized engine even if it supports the queries. Now
we will override the row count threshold so that the vectorized
engine is tested.

In order to not reduce the test coverage of the row execution engine,
we introduce new configs that explicitly turn off the vectorized engine.
Two of such configs are added to the list of default configs.

Release note: None

@cockroach-teamcity
Copy link
Member

This change is Reviewable

@yuzefovich yuzefovich force-pushed the logic-vec branch 2 times, most recently from 64e39e7 to e793b33 Compare August 29, 2019 23:20
@yuzefovich
Copy link
Member Author

This change noticed #40354.

Copy link
Member

@jordanlewis jordanlewis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's a thought - what if we stopped testing with vectorize=auto and instead tested with both off and experimental_on? We'd save on 2 configs, and I don't think we'd lose test coverage. What would be missing if we never tested with auto?

@yuzefovich
Copy link
Member Author

I can't think of anything except for the fact that we would not be running the logic tests with the config that users will run with by default.

@jordanlewis
Copy link
Member

I think the test coverage is strictly better without the auto setting so I propose we don't test with it. Perhaps we need some tests that ensure that the streaming setting is being respected - perhaps a single logic test that does this "by hand" would suffice.

@yuzefovich
Copy link
Member Author

What about other configs? Should we turn the vectorize off on all except for the -vec ones?

@jordanlewis
Copy link
Member

Just the ones where we have an explicit -vec vs non-vec config I think. The other ones can be left as default. I suppose it's kind of unsatisfying, but I'm okay with it for now.

@yuzefovich yuzefovich force-pushed the logic-vec branch 2 times, most recently from 2103667 to 22506de Compare August 30, 2019 03:16
@yuzefovich
Copy link
Member Author

@jordanlewis I believe that you're now on board with this change, right?

@jordanlewis
Copy link
Member

Yes, this looks good. Thank you @yuzefovich. LGTM

@yuzefovich
Copy link
Member Author

TFTRs!

bors r+

@craig
Copy link
Contributor

craig bot commented Sep 5, 2019

Build failed (retrying...)

@craig
Copy link
Contributor

craig bot commented Sep 5, 2019

Build failed (retrying...)

@yuzefovich
Copy link
Member Author

bors r-

@craig
Copy link
Contributor

craig bot commented Sep 5, 2019

Canceled

@yuzefovich
Copy link
Member Author

Blocked by #40517.

When vectorize is set to 'auto', we pay attention to whether the
stats are present on the input tables and whether the row count
threshold is met. This means that many logic tests might not be run
through the vectorized engine even if it supports the queries. Now
we will override the row count threshold so that the vectorized
engine is tested.

In order to not reduce the test coverage of the row execution engine,
we introduce new configs that explicitly turn off the vectorized engine.
Two of such configs are added to the list of default configs.

Release note: None
@yuzefovich
Copy link
Member Author

bors r+

@yuzefovich
Copy link
Member Author

bors r-

@yuzefovich
Copy link
Member Author

C'mon bors, do somethin'

bors r+

craig bot pushed a commit that referenced this pull request Sep 7, 2019
40350: sql: run all logic tests with both vectorize auto and off by default r=yuzefovich a=yuzefovich

When vectorize is set to 'auto', we pay attention to whether the
stats are present on the input tables and whether the row count
threshold is met. This means that many logic tests might not be run
through the vectorized engine even if it supports the queries. Now
we will override the row count threshold so that the vectorized
engine is tested.

In order to not reduce the test coverage of the row execution engine,
we introduce new configs that explicitly turn off the vectorized engine.
Two of such configs are added to the list of default configs.

Release note: None

40556: coldata: add test for Batch.Reset and fix the bugs it found r=jordanlewis a=danhhz

Release note: None

Co-authored-by: Yahor Yuzefovich <yahor@cockroachlabs.com>
Co-authored-by: Daniel Harrison <daniel.harrison@gmail.com>
@craig
Copy link
Contributor

craig bot commented Sep 7, 2019

Build succeeded

@craig craig bot merged commit bcb3cd1 into cockroachdb:master Sep 7, 2019
@yuzefovich yuzefovich deleted the logic-vec branch September 7, 2019 00:56
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.

4 participants