mirror of
https://github.com/mongodb/mongo.git
synced 2024-11-30 17:10:48 +01:00
SERVER-1986 simpler mechanism for picking up split checks if mongos bounces frequently
This commit is contained in:
parent
34613b0bde
commit
bfdf4ba06e
17
s/chunk.cpp
17
s/chunk.cpp
@ -45,15 +45,18 @@ namespace mongo {
|
|||||||
|
|
||||||
int Chunk::MaxChunkSize = 1024 * 1024 * 64;
|
int Chunk::MaxChunkSize = 1024 * 1024 * 64;
|
||||||
|
|
||||||
Chunk::Chunk( ChunkManager * manager )
|
Chunk::Chunk( ChunkManager * manager ) : _manager(manager), _lastmod(0) {
|
||||||
: _manager(manager),
|
_setDataWritten();
|
||||||
_lastmod(0), _dataWritten(0)
|
}
|
||||||
{}
|
|
||||||
|
|
||||||
Chunk::Chunk(ChunkManager * info , const BSONObj& min, const BSONObj& max, const Shard& shard)
|
Chunk::Chunk(ChunkManager * info , const BSONObj& min, const BSONObj& max, const Shard& shard)
|
||||||
: _manager(info), _min(min), _max(max), _shard(shard),
|
: _manager(info), _min(min), _max(max), _shard(shard), _lastmod(0) {
|
||||||
_lastmod(0), _dataWritten(0)
|
_setDataWritten();
|
||||||
{}
|
}
|
||||||
|
|
||||||
|
void Chunk::_setDataWritten(){
|
||||||
|
_dataWritten = rand() % ( MaxChunkSize / 5 );
|
||||||
|
}
|
||||||
|
|
||||||
string Chunk::getns() const {
|
string Chunk::getns() const {
|
||||||
assert( _manager );
|
assert( _manager );
|
||||||
|
@ -210,6 +210,9 @@ namespace mongo {
|
|||||||
*/
|
*/
|
||||||
BSONObj _getExtremeKey( int sort ) const;
|
BSONObj _getExtremeKey( int sort ) const;
|
||||||
|
|
||||||
|
/** initializes _dataWritten with a random value so that a mongos restart wouldn't cause delay in splitting */
|
||||||
|
void _setDataWritten();
|
||||||
|
|
||||||
ShardKeyPattern skey() const;
|
ShardKeyPattern skey() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user