[SERVER-23761] Prevent users from downgrading 3.4=>3.2 if any collection has an index with a non-default collation Created: 15/Apr/16 Updated: 28/Dec/18 Resolved: 16/Jun/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying, Storage |
| Affects Version/s: | None |
| Fix Version/s: | 3.2.8, 3.3.9 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | J Rassi | Assignee: | David Storch |
| Resolution: | Done | Votes: | 0 |
| Labels: | code-and-test | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||
| Backport Completed: | |||||||||||||||||||||||||||||
| Sprint: | Query 16 (06/24/16) | ||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||
| Description |
|
On all supported storage engines, 3.4.x versions will set a bit in the data files when either an index or a collection is created with a non-simple collation. On downgrade, this bit will cause 3.2 and older versions of the server to shut down with a MustUpgrade error. After creating indexes or collections with a non-simple collation on a 3.4.x version, the following steps must be taken in order to downgrade to 3.2:
3.2.8 contains a change which will cause the server to examine the catalog metadata if the collation feature bit is set. If no collation-related metadata associated with collections or indexes is found in the catalog, then the data files are clean for downgrade. In this case, the collation feature bit is cleared and startup will succeed. It is not possible to downgrade to a version older than 3.2.8 after creating indexes or collections with a non-simple collation. |
| Comments |
| Comment by David Storch [ 16/Jun/16 ] |
|
Thanks ramon.fernandez, yes, this will definitely need careful documentation. I made a note about this in |
| Comment by Ramon Fernandez Marina [ 16/Jun/16 ] |
|
Setting "Documentation Changes" to needed because the 3.2.8 requirement for downgrade needs to be part of our release notes on collation. Cc kay.kim |
| Comment by Githook User [ 16/Jun/16 ] |
|
Author: {u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}Message: The bit gets set when an index or collection with a collation is |
| Comment by Githook User [ 16/Jun/16 ] |
|
Author: {u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}Message: This is analogous to b968ee2da9, but for the MMAPv1 storage engine. |
| Comment by Githook User [ 15/Jun/16 ] |
|
Author: {u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}Message: This will ensure downgrade fails after creating collections or indices |
| Comment by Githook User [ 14/Jun/16 ] |
|
Author: {u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}Message: On startup, if the collation feature bit is set, we traverse the |