[SERVER-7935] Create write lock levels & Introduce readPreferenceMode = avoidWriteLock Created: 13/Dec/12 Updated: 11/Jul/16 Resolved: 16/Dec/12 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | 2.2.2 |
| Fix Version/s: | None |
| Type: | New Feature | Priority: | Major - P3 |
| Reporter: | Zaid Masud | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Participants: |
| Description |
| Comments |
| Comment by Zaid Masud [ 16/Dec/12 ] |
|
Just so I understand, suppose there is a very large bulk insert that takes a few seconds on the primary. Are you saying that the write-lock impact of this bulk insert on secondaries is going to be much less than it would be on the primary? |
| Comment by Eliot Horowitz (Inactive) [ 16/Dec/12 ] |
|
Ok, resolving for now, let us know if things don't work they way you want. |
| Comment by Zaid Masud [ 15/Dec/12 ] |
|
Thanks for the clarification... we will do some further profiling for our use case and will let you know if secondary preferred member selection is shown to not be appropriate. I am thinking that secondaries could be deliberately set to different sync schedules. For predictable write patterns, I'm not sure if secondary preferred is completely optimal member selection for read performance. Anyhow, will let you know if we should revisit this following our profiling. |
| Comment by Eliot Horowitz (Inactive) [ 15/Dec/12 ] |
|
1) In the time to check if a primary is in a lock, it's likely that something else will start. So this method won't be very reliably in a real system. The time slicing is so fine grained, I'm not even sure its possible. 2) All secondaries will have the same write load. The load there is very time sliced, so any lock held for replication will be very short lived. I think secondary preferred will give you the functionality you need more reliably. |
| Comment by Zaid Masud [ 15/Dec/12 ] |
|
There are at least two practical differences from secondarypreferred:
|
| Comment by Eliot Horowitz (Inactive) [ 15/Dec/12 ] |
|
I'm not sure how this is practically different than secondarypreferred? |