[SERVER-36042] Server Selection Algorithm Causes Blocking with Causal Consistency Created: 10/Jul/18  Updated: 10/Jul/18  Resolved: 10/Jul/18

Status: Closed
Project: Core Server
Component/s: Concurrency, Performance, Replication
Affects Version/s: 3.6.0, 4.0.0
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Simon Yarde Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-35944 Session Pinning / Server Selection Al... Backlog
Operating System: ALL
Steps To Reproduce:

Example: a web-application can tolerate some staleness but must have predictably fast response times. It reads some state (RS) which is predicated upon by the next read (R). The server selected for RS (S1) could also respond to R without delay but instead a different server (S2) is selected at random whose replication lags behind S1 and the response is blocked until S2 catches up.

Participants:

 Description   

I previously raised this as an improvement but it may also need to be considered as a bug.

SERVER-35944 Session Pinning

Implementation appears to violate updates that were due to the Max Staleness specification on the introduction of causal consistency and there is potential to impact expected performance.

The server selection algorithm randomly directs reads to different servers which causes blocking if the reads are causally dependent and the selected server has yet to apply the operations depended upon.



 Comments   
Comment by Ramon Fernandez Marina [ 10/Jul/18 ]

simony, we're going to close this ticket in favor of SERVER-35944 since it has more information.

Generated at Thu Feb 08 04:41:50 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.