[SERVER-21146] Issuing moveChunk/mergeChunk/splitChunk, setShardVersion, _recvChunkStart on mongod can cause server hang Created: 26/Oct/15 Updated: 25/Apr/16 Resolved: 11/Nov/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | 3.2.0-rc0 |
| Fix Version/s: | 3.2.0-rc3 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Robert Guo (Inactive) | Assignee: | Kaloian Manassiev |
| Resolution: | Done | Votes: | 0 |
| Labels: | fuzzer-blocker | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Operating System: | ALL | ||||||||
| Sprint: | Sharding B (10/30/15) | ||||||||
| Participants: | |||||||||
| Linked BF Score: | 0 | ||||||||
| Description |
|
On a single instance mongod, each of the 5 commands checks for the existence of the "config" or "configdb" field in the command object. If it exists and is a string, then shardingState is set to initializing in ShardingState::initialize. However the initialization never succeeds and the InitializationState is left in "initializing". Which causes calls to while loops waiting on initializationState to never exit:
This affects subsequent calls to move/merge/splitChunk, setShardVersion, _recvChunkStart and shutdown |
| Comments |
| Comment by Githook User [ 11/Nov/15 ] |
|
Author: {u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}Message: |
| Comment by Githook User [ 11/Nov/15 ] |
|
Author: {u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}Message: This change introduces a kError state to the sharding state so that it can |
| Comment by Misha Tyulenev [ 05/Nov/15 ] |
|
|
| Comment by Misha Tyulenev [ 05/Nov/15 ] |
|
Agree, reopened |
| Comment by Spencer Brody (Inactive) [ 04/Nov/15 ] |
|
misha.tyulenev, I think it's misleading to mark this ticket as fixed as we didn't actually fix the hang, just restricted the ability to hit it if using access control. Instead could you re-open this one but add a new ticket describing the access control change that was made and close that one? |
| Comment by Githook User [ 03/Nov/15 ] |
|
Author: {u'username': u'mikety', u'name': u'Misha Tyulenev', u'email': u'misha@mongodb.com'}Message: |
| Comment by Robert Guo (Inactive) [ 02/Nov/15 ] |
|
_recvChunkStart and setShardVersion are similarly affected. I will update the ticket description to reflect this change. |
| Comment by Spencer Brody (Inactive) [ 28/Oct/15 ] |
|
misha.tyulenev, as part of this, can you please update the required privileges for the mongod versions of the commands to require internal user privileges so general end-users can't run the mongod version directly? You can do this by modifying the 'checkAuthForCommand' method in the Command definition. |
| Comment by Spencer Brody (Inactive) [ 26/Oct/15 ] |
|
This looks like a regression, so we should try to fix this before 3.2 |