diff --git a/js/server/bootstrap/module-internal.js b/js/server/bootstrap/module-internal.js index a870e02468..e246c69cd2 100644 --- a/js/server/bootstrap/module-internal.js +++ b/js/server/bootstrap/module-internal.js @@ -1,7 +1,7 @@ /*jslint indent: 2, nomen: true, maxlen: 120, sloppy: true, vars: true, white: true, plusplus: true, nonpropdel: true */ /*global require, db, ArangoCollection, ArangoDatabase, ArangoCursor, module, ShapedJson, RELOAD_AUTH, SYS_DEFINE_ACTION, SYS_EXECUTE_GLOBAL_CONTEXT_FUNCTION, - AHUACATL_RUN, AHUACATL_PARSE, AHUACATL_EXPLAIN */ + AHUACATL_RUN, AHUACATL_PARSE, AHUACATL_EXPLAIN, DISABLE_CLUSTER_DISPATCHER */ //////////////////////////////////////////////////////////////////////////////// /// @brief module "internal" @@ -34,11 +34,6 @@ // --SECTION-- Module "internal" // ----------------------------------------------------------------------------- -//////////////////////////////////////////////////////////////////////////////// -/// @addtogroup ArangoShell -/// @{ -//////////////////////////////////////////////////////////////////////////////// - (function () { var internal = require("internal"); var console = require("console"); @@ -62,53 +57,42 @@ internal.ShapedJson = ShapedJson; delete ShapedJson; -//////////////////////////////////////////////////////////////////////////////// -/// @} -//////////////////////////////////////////////////////////////////////////////// - // ----------------------------------------------------------------------------- // --SECTION-- private variables // ----------------------------------------------------------------------------- //////////////////////////////////////////////////////////////////////////////// -/// @addtogroup ArangoShell -/// @{ -//////////////////////////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////////////////////////// -/// @brief execute an AQL query +/// @brief executes an AQL query //////////////////////////////////////////////////////////////////////////////// internal.AQL_QUERY = AHUACATL_RUN; delete AHUACATL_RUN; //////////////////////////////////////////////////////////////////////////////// -/// @brief parse an AQL query +/// @brief parses an AQL query //////////////////////////////////////////////////////////////////////////////// internal.AQL_PARSE = AHUACATL_PARSE; delete AHUACATL_PARSE; //////////////////////////////////////////////////////////////////////////////// -/// @brief explain an AQL query +/// @brief explains an AQL query //////////////////////////////////////////////////////////////////////////////// internal.AQL_EXPLAIN = AHUACATL_EXPLAIN; delete AHUACATL_EXPLAIN; //////////////////////////////////////////////////////////////////////////////// -/// @} +/// @brief checks if dispatcher is disabled //////////////////////////////////////////////////////////////////////////////// + internal.DISABLE_CLUSTER_DISPATCHER = DISABLE_CLUSTER_DISPATCHER; + delete DISABLE_CLUSTER_DISPATCHER; + // ----------------------------------------------------------------------------- // --SECTION-- private functions // ----------------------------------------------------------------------------- -//////////////////////////////////////////////////////////////////////////////// -/// @addtogroup ArangoShell -/// @{ -//////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// /// @brief resets engine in development mode //////////////////////////////////////////////////////////////////////////////// @@ -231,10 +215,6 @@ delete SYS_EXECUTE_GLOBAL_CONTEXT_FUNCTION; } -//////////////////////////////////////////////////////////////////////////////// -/// @} -//////////////////////////////////////////////////////////////////////////////// - }()); // ----------------------------------------------------------------------------- diff --git a/js/server/modules/org/arangodb/cluster.js b/js/server/modules/org/arangodb/cluster.js index 2111593f3b..b32d72e8e8 100644 --- a/js/server/modules/org/arangodb/cluster.js +++ b/js/server/modules/org/arangodb/cluster.js @@ -35,6 +35,7 @@ var ArangoError = arangodb.ArangoError; var PortFinder = require("org/arangodb/cluster/planner").PortFinder; var Planner = require("org/arangodb/cluster/planner").Planner; var Kickstarter = require("org/arangodb/cluster/kickstarter").Kickstarter; +var internal = require("internal"); //////////////////////////////////////////////////////////////////////////////// /// @brief get values from Plan or Current by a prefix @@ -890,6 +891,10 @@ var isCoordinator = function () { return ArangoServerState.isCoordinator(); }; +//////////////////////////////////////////////////////////////////////////////// +/// @brief role +//////////////////////////////////////////////////////////////////////////////// + var role = function () { if (! isCluster()) { return undefined; @@ -898,6 +903,10 @@ var role = function () { return ArangoServerState.role(); }; +//////////////////////////////////////////////////////////////////////////////// +/// @brief status +//////////////////////////////////////////////////////////////////////////////// + var status = function () { if (! isCluster()) { return undefined; @@ -906,6 +915,10 @@ var status = function () { return ArangoServerState.status(); }; +//////////////////////////////////////////////////////////////////////////////// +/// @brief isCoordinatorRequest +//////////////////////////////////////////////////////////////////////////////// + var isCoordinatorRequest = function (req) { if (! req || ! req.hasOwnProperty("headers")) { return false; @@ -914,6 +927,10 @@ var isCoordinatorRequest = function (req) { return req.headers.hasOwnProperty("x-arango-coordinator"); }; +//////////////////////////////////////////////////////////////////////////////// +/// @brief handlePlanChange +//////////////////////////////////////////////////////////////////////////////// + var handlePlanChange = function () { if (! isCluster() || isCoordinator()) { return; @@ -933,18 +950,31 @@ var handlePlanChange = function () { } }; -exports.shardList = shardList; -exports.wait = wait; +//////////////////////////////////////////////////////////////////////////////// +/// @brief dispatcherDisabled +//////////////////////////////////////////////////////////////////////////////// + +var dispatcherDisabled = function () { + return internal.DISABLE_CLUSTER_DISPATCHER; +} + +// ----------------------------------------------------------------------------- +// --SECTION-- MODULE EXPORTS +// ----------------------------------------------------------------------------- + +exports.dispatcherDisabled = dispatcherDisabled; +exports.handlePlanChange = handlePlanChange; exports.isCluster = isCluster; exports.isCoordinator = isCoordinator; -exports.role = role; -exports.status = status; exports.isCoordinatorRequest = isCoordinatorRequest; -exports.handlePlanChange = handlePlanChange; +exports.role = role; +exports.shardList = shardList; +exports.status = status; +exports.wait = wait; -exports.PortFinder = PortFinder; -exports.Planner = Planner; exports.Kickstarter = Kickstarter; +exports.Planner = Planner; +exports.PortFinder = PortFinder; // ----------------------------------------------------------------------------- // --SECTION-- END-OF-FILE