[SERVER-5165] investigate lack of type bracketing in shard selection code Created: 01/Mar/12 Updated: 11/Jul/16 Resolved: 02/May/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Question | Priority: | Major - P3 |
| Reporter: | Aaron Staple | Assignee: | Siyuan Zhou |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Participants: | |||||||||
| Description |
|
Many indexed queries are bracketed by data type. For example the index bounds for { a: { $gt:0 }} are
The max value of a we will scan is 1.7976931348623157e+308, not maxKey. When determining which shards a query should be sent to, though, we do not perform type bracketing. The queryutil code implements a special mode that disables bracketing just for this case. It would be helpful to understand why type bracketing is disabled.
(The 'false' argument disables type bracketing.) |
| Comments |
| Comment by Siyuan Zhou [ 02/May/14 ] |
|
Fixed in |
| Comment by auto [ 22/Mar/12 ] |
|
Author: {u'login': u'astaple', u'name': u'Aaron', u'email': u'aaron@10gen.com'}Message: |
| Comment by Greg Studer [ 02/Mar/12 ] |
|
I can't think of a reason that the semantics for determining where to send a query should be different from how that query is actually processed - but I'm not 100% sure how different types compare? |