Skip to content

closedts: shorten target_duration from 30s to 3s#43147

Merged
craig[bot] merged 1 commit intocockroachdb:masterfrom
ajwerner:ajwerner/shorten-closedts-target_duration
Dec 17, 2019
Merged

closedts: shorten target_duration from 30s to 3s#43147
craig[bot] merged 1 commit intocockroachdb:masterfrom
ajwerner:ajwerner/shorten-closedts-target_duration

Conversation

@ajwerner
Copy link
Copy Markdown
Contributor

This PR dramatically shortens the closed timestamp target interval. With this
setting the experimental_follower_read_timestamp() will now be 4.8 seconds in
the past as opposed to the current 48 seconds in the past. This relatively
aggressive setting of 3s is intended to shake out issues.

This value has been verified to work on the schemachange/mixed/tpcc roachtest
introduced in #39096 and for vanilla TPC-C runs around where we have
established a baseline in the past using tpccbench. Specifically several runs
at 2300 warehouses on 3x c5d.4xlarge nodes which is right at the passing
boundary without the change were run only a very small difference in
efficiency or tail latency was observed.

It seems reasonable to attempt to live with this value on master for a while
and see what happens.

Fixes #37083.

Release note (enterprise change): Shorten the default closed timestamp target
interval from 30s to 3s leading to permit follower reads at 4.8 seconds in
the past rather than the previous 48 seconds.

@cockroach-teamcity
Copy link
Copy Markdown
Member

This change is Reviewable

@ajwerner ajwerner force-pushed the ajwerner/shorten-closedts-target_duration branch from 1ab8bb1 to a667e08 Compare December 13, 2019 19:01
@ajwerner ajwerner marked this pull request as ready for review December 13, 2019 19:44
@ajwerner ajwerner requested a review from nvb December 13, 2019 19:44
@ajwerner
Copy link
Copy Markdown
Contributor Author

@nvanbenschoten thoughts on getting this merged sooner rather than later?

With these settings we'll send a closed timestamp update every 600ms. That's starting to get pretty high from a chattiness perspective. I'm hopeful that later in this release we'll get more sophisticated with regards to how closed timestamp information is propagated to lower the trailing interval dramatically further and ideally make the protocol less chatty. In the meantime I'd like to shake out any implications of having a shorter window.

Copy link
Copy Markdown
Contributor

@nvb nvb left a comment

Choose a reason for hiding this comment

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

:lgtm: I think now is a good time to get this in. 🤞

Reviewed 2 of 2 files at r1.
Reviewable status: :shipit: complete! 1 of 0 LGTMs obtained

@ajwerner
Copy link
Copy Markdown
Contributor Author

🤞

bors r=nvanbenschoten

@craig
Copy link
Copy Markdown
Contributor

craig bot commented Dec 14, 2019

Build failed

@ajwerner
Copy link
Copy Markdown
Contributor Author

flaked on TestExecBuild/local/show_trace/replica

bors r+

@craig
Copy link
Copy Markdown
Contributor

craig bot commented Dec 15, 2019

Build failed

This PR dramatically shortens the closed timestamp target interval. With this
setting the experimental_follower_read_timestamp() will now be 4.8 seconds in
the past as opposed to the current 48 seconds in the past. This relatively
aggressive setting of 3s is intended to shake out issues.

This value has been verified to work on the `schemachange/mixed/tpcc` roachtest
introduced in cockroachdb#39096 and for vanilla TPC-C runs around where we have
established a baseline in the past using tpccbench. Specifically several runs
at 2300 warehouses on 3x c5d.4xlarge nodes which is right at the passing
boundary without the change were run only a very small difference in
efficiency or tail latency was observed.

It seems reasonable to attempt to live with this value on master for a while
and see what happens.

Fixes cockroachdb#37083.

Release note (enterprise change): Shorten the default closed timestamp target
interval from 30s to 3s leading to permit follower reads at 4.8 seconds in
the past rather than the previous 48 seconds.
@ajwerner ajwerner force-pushed the ajwerner/shorten-closedts-target_duration branch from a667e08 to 797819b Compare December 16, 2019 15:12
@danhhz
Copy link
Copy Markdown
Contributor

danhhz commented Dec 16, 2019

I'm 100% in favor of this, but please do check in on the nightly roachtest failures for the day or two after it merges.

@ajwerner
Copy link
Copy Markdown
Contributor Author

I'm 100% in favor of this, but please do check in on the nightly roachtest failures for the day or two after it merges.

Will do.

bors r+

craig bot pushed a commit that referenced this pull request Dec 17, 2019
43147: closedts: shorten target_duration from 30s to 3s r=ajwerner a=ajwerner

This PR dramatically shortens the closed timestamp target interval. With this
setting the experimental_follower_read_timestamp() will now be 4.8 seconds in
the past as opposed to the current 48 seconds in the past. This relatively
aggressive setting of 3s is intended to shake out issues.

This value has been verified to work on the `schemachange/mixed/tpcc` roachtest
introduced in #39096 and for vanilla TPC-C runs around where we have
established a baseline in the past using tpccbench. Specifically several runs
at 2300 warehouses on 3x c5d.4xlarge nodes which is right at the passing
boundary without the change were run only a very small difference in
efficiency or tail latency was observed.

It seems reasonable to attempt to live with this value on master for a while
and see what happens.

Fixes #37083.

Release note (enterprise change): Shorten the default closed timestamp target
interval from 30s to 3s leading to permit follower reads at 4.8 seconds in
the past rather than the previous 48 seconds.

43226: sql: fix namespace name resolution fallback code r=arulajmani a=arulajmani

Previously, the fallback for name resolution was broken. If an entry
is not present in the new `system.namespace`, we should look it up
in the old `system.namespace`. This was not happening, as we would
only fallback to the old `system.namespace` if the entry was a table.
Thus, databases created before the new `system.namespace` table was
created were not being resolved at all. This PR fixes that.

Fixes #43141

Release note: None

Co-authored-by: Andrew Werner <ajwerner@cockroachlabs.com>
Co-authored-by: arulajmani <arulajmani@gmail.com>
@craig
Copy link
Copy Markdown
Contributor

craig bot commented Dec 17, 2019

Build succeeded

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.

closedts: shorten default closed timestamp interval

4 participants