diff options
author | Tor Egge <Tor.Egge@oath.com> | 2017-11-13 14:08:31 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@oath.com> | 2017-11-13 14:08:31 +0000 |
commit | 0e92278e72fe8264e1a4a506f30ace3411cdc405 (patch) | |
tree | a2d952c5bc637d70228ee5d6c09bb06e9024f0d6 /storage | |
parent | fcfabf9a202c2ee80048d2caa3f2c5376583d13b (diff) |
Use tracking of sent api::RequestBucketInfoCommand to supply correct
bucket space when receiving reply. This is needed to select distributor
bucket database to update.
Diffstat (limited to 'storage')
-rw-r--r-- | storage/src/vespa/storage/distributor/bucketdbupdater.cpp | 8 | ||||
-rw-r--r-- | storage/src/vespa/storage/distributor/bucketdbupdater.h | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/storage/src/vespa/storage/distributor/bucketdbupdater.cpp b/storage/src/vespa/storage/distributor/bucketdbupdater.cpp index edd52a997dc..72f51806f11 100644 --- a/storage/src/vespa/storage/distributor/bucketdbupdater.cpp +++ b/storage/src/vespa/storage/distributor/bucketdbupdater.cpp @@ -405,7 +405,7 @@ BucketDBUpdater::mergeBucketInfoWithDatabase( std::sort(newList.begin(), newList.end(), sort_pred); BucketListMerger merger(newList, existing, req.timestamp); - updateDatabase(req.targetNode, merger); + updateDatabase(req.bucket.getBucketSpace(), req.targetNode, merger); } bool @@ -460,15 +460,15 @@ BucketDBUpdater::findRelatedBucketsInDatabase(uint16_t node, const document::Buc } void -BucketDBUpdater::updateDatabase(uint16_t node, BucketListMerger& merger) +BucketDBUpdater::updateDatabase(document::BucketSpace bucketSpace, uint16_t node, BucketListMerger& merger) { for (const document::BucketId & bucketId : merger.getRemovedEntries()) { - document::Bucket bucket(BucketSpace::placeHolder(), bucketId); + document::Bucket bucket(bucketSpace, bucketId); _bucketSpaceComponent.removeNodeFromDB(bucket, node); } for (const BucketListMerger::BucketEntry& entry : merger.getAddedEntries()) { - document::Bucket bucket(BucketSpace::placeHolder(), entry.first); + document::Bucket bucket(bucketSpace, entry.first); _bucketSpaceComponent.updateBucketDatabase( bucket, BucketCopy(merger.getTimestamp(), node, entry.second), diff --git a/storage/src/vespa/storage/distributor/bucketdbupdater.h b/storage/src/vespa/storage/distributor/bucketdbupdater.h index c11510ffd1b..c4b387c9a2f 100644 --- a/storage/src/vespa/storage/distributor/bucketdbupdater.h +++ b/storage/src/vespa/storage/distributor/bucketdbupdater.h @@ -152,7 +152,7 @@ private: Updates the bucket database from the information generated by the given bucket list merger. */ - void updateDatabase(uint16_t node, BucketListMerger& merger); + void updateDatabase(document::BucketSpace bucketSpace, uint16_t node, BucketListMerger& merger); void updateState(const lib::ClusterState& oldState, const lib::ClusterState& newState); |