Skip to content

RUST-954 Pin cursor connections in load balancer mode #446

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

Merged
Merged
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
1db15ce
fold Cursor construction into execute_cursor_operation
abr-egn Aug 16, 2021
e884e19
tidy
abr-egn Aug 16, 2021
ad879cd
pass connection out from execute
abr-egn Aug 16, 2021
b8ef956
attach connection to cursor
abr-egn Aug 16, 2021
4fc93aa
don't pin for cursor id 0
abr-egn Aug 16, 2021
7247301
thread connection through to cursor get more execution
abr-egn Aug 16, 2021
b1ffc5f
thread connection to execute_operation
abr-egn Aug 17, 2021
324c0ec
continue plumbing pinned connection
abr-egn Aug 17, 2021
28e00c1
name shuffling
abr-egn Aug 18, 2021
1cea507
shift pinned connection to operation
abr-egn Aug 18, 2021
6dff912
move PinnedConnection from GenericCursor to GetMoreProviders
abr-egn Aug 19, 2021
2dff7c1
finish pinned connection migration to GetMoreProvider
abr-egn Aug 19, 2021
8fdbf43
pass connection through execute; only use arc mutex for session cursor
abr-egn Aug 20, 2021
2dd05a4
use pinned connection in execute_retry
abr-egn Aug 20, 2021
178cf17
drop pinned connection on cursor exhaustion
abr-egn Aug 20, 2021
f727226
use wrapped arc mutex everywhere
abr-egn Aug 30, 2021
0ac80e9
flag pinned connections invalid on network error
abr-egn Aug 30, 2021
c2383ab
rustfmt
abr-egn Aug 30, 2021
4b66b58
lint
abr-egn Aug 30, 2021
a5e3d14
merge
abr-egn Aug 30, 2021
e7f98f1
review tidy
abr-egn Sep 1, 2021
c47d2f1
pin-by-id machinery
abr-egn Sep 2, 2021
4722ff0
pinning via handle
abr-egn Sep 2, 2021
ad5e3a9
pass pinned connection via operation
abr-egn Sep 2, 2021
c7991cc
format and lint
abr-egn Sep 2, 2021
b0b76fe
review updates
abr-egn Sep 8, 2021
b465438
rustfmt
abr-egn Sep 8, 2021
e2c380a
further review revisions
abr-egn Sep 9, 2021
55e8949
simpler pinning
abr-egn Sep 10, 2021
9513eb2
whoops
abr-egn Sep 10, 2021
a2ac863
rustfmt
abr-egn Sep 10, 2021
516f463
remove now-unused pinned connection data
abr-egn Sep 10, 2021
4f496cb
drain channel
abr-egn Sep 13, 2021
429a396
brevity
abr-egn Sep 13, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
don't pin for cursor id 0
  • Loading branch information
abr-egn committed Sep 14, 2021
commit 4fc93aaac511f1d95c42bf0dbde35d11b33e0856
2 changes: 1 addition & 1 deletion src/client/executor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ impl Client {
let mut implicit_session = self.start_implicit_session(&op).await?;
let (spec, conn) = self.execute_operation_inner(op, implicit_session.as_mut()).await?;
let is_load_balanced = self.inner.options.load_balanced.unwrap_or(false);
let pinned_connection = if is_load_balanced {
let pinned_connection = if is_load_balanced && spec.info.id != 0 {
Some(conn)
} else {
None
Expand Down