From 595fc9b84e6a636b71a1590ceb455c67a648ce7e Mon Sep 17 00:00:00 2001 From: Kaveh Vahedipour Date: Tue, 4 Oct 2016 11:41:26 +0200 Subject: [PATCH] moveShard with distributeShardsLike --- arangod/Agency/CleanOutServer.cpp | 26 ------------------- arangod/Agency/MoveShard.cpp | 4 +-- js/actions/api-cluster.js | 2 ++ .../APP/frontend/js/views/shardsView.js | 4 +-- js/server/modules/@arangodb/cluster.js | 4 +-- 5 files changed, 7 insertions(+), 33 deletions(-) diff --git a/arangod/Agency/CleanOutServer.cpp b/arangod/Agency/CleanOutServer.cpp index 0b17326269..fabb8c88d3 100644 --- a/arangod/Agency/CleanOutServer.cpp +++ b/arangod/Agency/CleanOutServer.cpp @@ -241,27 +241,6 @@ bool CleanOutServer::start() { return false; } -template -struct iter_pair_range : std::pair { - iter_pair_range(std::pair const& x) - : std::pair(x) - {} - Iter begin() const {return this->first;} - Iter end() const {return this->second;} -}; - -template -inline iter_pair_range as_range(std::pair const& x) -{ return iter_pair_range(x); } - -//template -/*std::ostream& operator<< (std::ostream& os, std::multimap const& mm) { - for (const auto& i : mm) { - os << i.first << ": " << i.second; - } - return os; - }*/ - bool CleanOutServer::scheduleMoveShards() { std::vector availServers; @@ -307,11 +286,6 @@ bool CleanOutServer::scheduleMoveShards() { } } - LOG(WARN) << originals; - for (const auto& i : clones) { - LOG(WARN) << i.first << ": " << i.second; - } - for (const auto& original : originals) { auto const& collection = (*(database.second))(original); diff --git a/arangod/Agency/MoveShard.cpp b/arangod/Agency/MoveShard.cpp index 16e2100323..9fe829ca7f 100644 --- a/arangod/Agency/MoveShard.cpp +++ b/arangod/Agency/MoveShard.cpp @@ -110,9 +110,7 @@ bool MoveShard::create() { shardsLikeMe.push_back(opos->first); } } - } catch (std::exception const& e) { - LOG(WARN) << e.what(); - } + } catch (...) {} } std::string path, now(timepointToString(std::chrono::system_clock::now())); diff --git a/js/actions/api-cluster.js b/js/actions/api-cluster.js index a7685bb332..8c0deadfc1 100644 --- a/js/actions/api-cluster.js +++ b/js/actions/api-cluster.js @@ -1076,6 +1076,8 @@ actions.defineHttp({ "body must be an object with string attributes 'database', 'collection', 'shard', 'fromServer' and 'toServer'"); return; } + body.shards=[body.shard]; + body.collections=[body.collection]; var r = require('@arangodb/cluster').moveShard(body); if (r.error) { actions.resultError(req, res, actions.HTTP_SERVICE_UNAVAILABLE, r); diff --git a/js/apps/system/_admin/aardvark/APP/frontend/js/views/shardsView.js b/js/apps/system/_admin/aardvark/APP/frontend/js/views/shardsView.js index ad148572eb..e059dd0ef9 100644 --- a/js/apps/system/_admin/aardvark/APP/frontend/js/views/shardsView.js +++ b/js/apps/system/_admin/aardvark/APP/frontend/js/views/shardsView.js @@ -168,8 +168,8 @@ var data = { database: dbName, - collection: collectionName, - shard: shardName, + collections: [collectionName], + shards: [shardName], fromServer: fromServer, toServer: toServer }; diff --git a/js/server/modules/@arangodb/cluster.js b/js/server/modules/@arangodb/cluster.js index ae2d738150..55cc264997 100644 --- a/js/server/modules/@arangodb/cluster.js +++ b/js/server/modules/@arangodb/cluster.js @@ -1784,8 +1784,8 @@ function moveShard (info) { id = global.ArangoClusterInfo.uniqid(); var todo = { 'type': 'moveShard', 'database': info.database, - 'collection': collInfo.id, - 'shard': info.shard, + 'collections': [collInfo.id], + 'shards': [info.shard], 'fromServer': info.fromServer, 'toServer': info.toServer, 'jobId': id,