diff --git a/arangod/Agency/Agent.h b/arangod/Agency/Agent.h index fb13dabc61..58b5ae3031 100644 --- a/arangod/Agency/Agent.h +++ b/arangod/Agency/Agent.h @@ -171,7 +171,7 @@ class Agent : public arangodb::Thread { /// @brief Activate this agent in single agent mode. bool activateAgency(); - /// @brief Activate new agent in pool to replace failed agent + /// @brief Activate new agent in pool to replace failed bool activateStandbyAgent(); /// @brief Assignment of persisted state diff --git a/arangod/Agency/Node.cpp b/arangod/Agency/Node.cpp index c471d585ce..5d848fcf30 100644 --- a/arangod/Agency/Node.cpp +++ b/arangod/Agency/Node.cpp @@ -661,11 +661,14 @@ bool Node::applies(VPackSlice const& slice) { return true; } -void Node::toBuilder(Builder& builder) const { +void Node::toBuilder(Builder& builder, bool showHidden) const { try { if (type() == NODE) { VPackObjectBuilder guard(&builder); for (auto const& child : _children) { + if (child.first[0] == '.' && !showHidden) { + continue; + } builder.add(VPackValue(child.first)); child.second->toBuilder(builder); } diff --git a/arangod/Agency/Node.h b/arangod/Agency/Node.h index c612863c69..1f113e7936 100644 --- a/arangod/Agency/Node.h +++ b/arangod/Agency/Node.h @@ -166,7 +166,7 @@ class Node { bool handle(arangodb::velocypack::Slice const&); /// @brief Create Builder representing this store - void toBuilder(Builder&) const; + void toBuilder(Builder&, bool showHidden = false) const; /// @brief Access children Children& children(); diff --git a/arangod/Agency/Store.cpp b/arangod/Agency/Store.cpp index 6918ba3c8e..6de5249954 100644 --- a/arangod/Agency/Store.cpp +++ b/arangod/Agency/Store.cpp @@ -466,7 +466,7 @@ query_t Store::clearExpired() const { /// Dump internal data to builder void Store::dumpToBuilder(Builder& builder) const { MUTEX_LOCKER(storeLocker, _storeLock); - toBuilder(builder); + toBuilder(builder, true); { VPackObjectBuilder guard(&builder); for (auto const& i : _timeTable) { @@ -591,7 +591,8 @@ Store& Store::operator=(VPackSlice const& slice) { } /// Put key value store in velocypack -void Store::toBuilder(Builder& b) const { _node.toBuilder(b); } +void Store::toBuilder(Builder& b, bool showHidden) const { + _node.toBuilder(b, showHidden); } /// Get kv-store at path vector Node Store::operator()(std::vector const& pv) { return _node(pv); } diff --git a/arangod/Agency/Store.h b/arangod/Agency/Store.h index 3129803f9b..c0d07cccca 100644 --- a/arangod/Agency/Store.h +++ b/arangod/Agency/Store.h @@ -100,7 +100,7 @@ class Store : public arangodb::Thread { bool applies(arangodb::velocypack::Slice const&); /// @brief Create Builder representing this store - void toBuilder(Builder&) const; + void toBuilder(Builder&, bool showHidden = false) const; /// @brief Copy out a node Node const get(std::string const& path) const;