Commit 116a76b
connpool: do not wait in call() if all checked
This patch changes `connpool.call()` method. Previously, if there were
instances satisfying the static requirements but not the dynamic ones
the method waited until the timeout checking if they start to satisfy
the requirements.
It seems impractical. Existing dynamic options is unlikely to change
during this small period of time. Let's not wait these instances and
exit instead if no suitable instances have been found.
Assume a cluster with two instances `i-001` and `i-002`. `i-001` is
alive and RW. `i-002` is dead.
Previous version of `connpool.call(<func>, <args>, {mode = 'ro'})` would
wait in that case since it expected for an RO instance to appear.
New version of `connpool.call(<func>, <args>, {mode = 'ro'})` just
ends up with a "no candidates found" error.
Part of tarantool#10330
NO_DOC=small change of an undocumented behavior, related will be added
later
NO_CHANGELOG=will be added later
NO_TEST=related logic will be tested later in the patchset1 parent f840bef commit 116a76b
1 file changed
+10
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
241 | 241 | | |
242 | 242 | | |
243 | 243 | | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
248 | 250 | | |
249 | 251 | | |
250 | 252 | | |
| |||
291 | 293 | | |
292 | 294 | | |
293 | 295 | | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
298 | 300 | | |
299 | 301 | | |
300 | 302 | | |
| |||
0 commit comments