Split 02530_dictionaries_update_field and add update_lag#81180
Split 02530_dictionaries_update_field and add update_lag#81180
02530_dictionaries_update_field and add update_lag#81180Conversation
|
Interesting and logical But I was looking at one failure of this test Here is relevant portion of logs So as you can see here it does not exceed the default lag Do you have some ideas? |
not really |
| ) | ||
| ENGINE = MergeTree() | ||
| ORDER BY tuple() | ||
| " |
There was a problem hiding this comment.
Was it the intention to use different engines in different tests?
There was a problem hiding this comment.
Yes, for some reason, it significantly affects test duration. I didn't have a chance to understand why.
There was a problem hiding this comment.
The problem is the newly added update_lag, and with update_lag=30 it always queries all records, and apparently TinyLog gives different order
I have a better idea how to improve it, I've committed my suggestions on top, PTAL
Also we can make ExternalLoader::PeriodicUpdater::check_period_sec, that way these tests will be ~5x faster
Changelog category (leave one):
There is a possibility of a data race when an update happens during an insert, i.e., it updates
last_update_timeto a value greater than thenow()value for the ongoing insert. ATST it doesn't see the inserted row because it is not yet committed. Theupdate_lagparameter is only1sby default, which is too small for CI, especially when parallel replicas are enabled. Also, the test runs fairly long, so it makes sense to split it.Closes: #65382