Commit 7d26a32
authored
[Store] (CI run_tests_with_ssd failed / promotion-on-hit failed) eliminate race conditions (#2235)
* fix(transfer-engine): eliminate race condition in rePublishRpcMetaEntry
Remove the redundant storage_plugin_->remove() call before set().
All storage backends (HTTP PUT, Redis SET, Etcd put) have upsert
semantics, so remove-then-set creates a window where concurrent
get() returns empty / 404, causing transfer failures (-800).
Also change Json::UInt64 to Json::UInt for rpc_port to ensure
existing == desired comparison works correctly after JSON parse.
* fix: adjust eviction thread initial timing to prevent race in CI SSD tests
Start last_discard_time with an already-elapsed window so the first loop
iteration triggers DiscardExpiredProcessingReplicas immediately. Without
this, a task admitted shortly after thread startup can survive the first
reaper cycle and not be cleaned until ~2s later, causing promotion-on-hit
tests that sleep for 2s to flake.1 parent eed58e8 commit 7d26a32
2 files changed
Lines changed: 10 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3476 | 3476 | | |
3477 | 3477 | | |
3478 | 3478 | | |
3479 | | - | |
| 3479 | + | |
| 3480 | + | |
| 3481 | + | |
| 3482 | + | |
| 3483 | + | |
| 3484 | + | |
| 3485 | + | |
3480 | 3486 | | |
3481 | 3487 | | |
3482 | 3488 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1128 | 1128 | | |
1129 | 1129 | | |
1130 | 1130 | | |
1131 | | - | |
| 1131 | + | |
1132 | 1132 | | |
1133 | 1133 | | |
1134 | 1134 | | |
| |||
1157 | 1157 | | |
1158 | 1158 | | |
1159 | 1159 | | |
1160 | | - | |
1161 | | - | |
| 1160 | + | |
1162 | 1161 | | |
1163 | 1162 | | |
1164 | 1163 | | |
1165 | | - | |
1166 | 1164 | | |
1167 | 1165 | | |
1168 | 1166 | | |
1169 | 1167 | | |
1170 | 1168 | | |
1171 | | - | |
1172 | | - | |
| 1169 | + | |
1173 | 1170 | | |
1174 | 1171 | | |
1175 | 1172 | | |
| |||
0 commit comments