[SERVER-28565] Do not return logicalTime on standalone RS Created: 30/Mar/17 Updated: 06/Dec/17 Resolved: 18/Apr/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 3.5.7 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Misha Tyulenev | Assignee: | Jack Mulrow |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Operating System: | ALL |
| Sprint: | Sharding 2017-04-17, Sharding 2017-05-08 |
| Participants: |
| Description |
|
Currently it will return logicalTime signed with default signature instead should not return the signature bson obj at all. The proposed implementation will construct TimeProofService only when the RS is known to transition to sharding state, so the initial LogicalClock initialization will use a dummy TPS. 1. make _timeProofService optional and add a methods to reset it.
2. set TPS in the initializeGlobalShardingState 3. make TimeProof optional
4. Do not generate _proof if there is not TPS in _makeSignedLogicalTime 5. Non sharded RS will return an error if the command it receives contains logicalTime metadata. Hence Return a BadInput error from advanceClusterTime or advanceClusterTimeFromTrustedSource if there is no TPS. 6. do not include logicalTime in the command response and metadata if there is no TPS 7. testcases - there is |
| Comments |
| Comment by Githook User [ 19/Apr/17 ] |
|
Author: {u'username': u'jsmulrow', u'name': u'Jack Mulrow', u'email': u'jack.mulrow@mongodb.com'}Message: |
| Comment by Githook User [ 18/Apr/17 ] |
|
Author: {u'username': u'jsmulrow', u'name': u'Jack Mulrow', u'email': u'jack.mulrow@mongodb.com'}Message: |
| Comment by Randolph Tan [ 04/Apr/17 ] |
|
Looks good to me |
| Comment by Misha Tyulenev [ 04/Apr/17 ] |
|
renctan, jack.mulrow please give feedback |