[SERVER-24071] Introduce ChunkRange class Created: 05/May/16  Updated: 16/May/16  Resolved: 09/May/16

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 3.3.6

Type: Improvement Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: Kaloian Manassiev
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-24108 Pessimizing move warning in chunktest... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding 14 (05/13/16)
Participants:

 Description   

We find ourselves writing a lot of functions, which have a ton of arguments like this. The reason for this is that all shard manipulation methods require a complete shard description for error checking.

Currently we have 4 different types which each represent and parse a chunk in a different way: Chunk, ChunkType, MoveChunkRequest, ChunkRange. We should unify all these into two structures, which inherit from each other:

class ChunkRange - only contains min and max, which are the bounds of the chunk

struct ChunkType : public ChunkRange - contains in addition the namespace, version, jumbo bit, shard and name of the chunk (which actually can be omitted since it's generated from the the min key).

This ticket is for the ChunkRange structure.



 Comments   
Comment by Githook User [ 11/May/16 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-24071 Introduce ChunkVersion legacy format parser

This change goes towards cleaning up the ChunkVersion class so it has
clearly specified methods for the three variants of parsing, which it
supports.

Also it moves all the catalog types to be under the s/common library so
they can be used not only from the catalog.
Branch: master
https://github.com/mongodb/mongo/commit/995ca1226f958da71273266f2150349afc94e71a

Comment by Githook User [ 10/May/16 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-24071 Use ChunkRange for parsing and creating chunk bounds
Branch: master
https://github.com/mongodb/mongo/commit/1d897277a9226a374a084c86a922096071ad0b1b

Comment by Githook User [ 10/May/16 ]

Author:

{u'username': u'GeertBosch', u'name': u'Geert Bosch', u'email': u'geert@mongodb.com'}

Message: SERVER-24071 Fix pessimizing move
Branch: master
https://github.com/mongodb/mongo/commit/9f00caa5498c7b885035b83cd0ee6b661e24004a

Comment by Githook User [ 09/May/16 ]

Author:

{u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}

Message: SERVER-24071 Introduce ChunkRange class

This change introduces a ChunkRange class to be used for parsing and
serialization of chunk min and max bounds. It also switches the chunk
manager and sharding utilities to use ranges encoding the chunk bounds
separately.
Branch: master
https://github.com/mongodb/mongo/commit/4176a6eadb2598c54862d7d80369febf7e1ecce9

Generated at Thu Feb 08 04:05:18 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.