diff --git a/arangod/Cluster/HeartbeatThread.cpp b/arangod/Cluster/HeartbeatThread.cpp index 8d767deaaa..b92b48bac9 100644 --- a/arangod/Cluster/HeartbeatThread.cpp +++ b/arangod/Cluster/HeartbeatThread.cpp @@ -372,13 +372,23 @@ void HeartbeatThread::runCoordinator() { AgencyCommManager::path("Shutdown"), AgencyCommManager::path("Sync/Commands", _myId), AgencyCommManager::path("Sync/UserVersion"), - AgencyCommManager::path("Target/FailedServers")})); + AgencyCommManager::path("Target/FailedServers"), "/.agency"})); AgencyCommResult result = _agency.sendTransactionWithFailover(trx, 1.0); if (!result.successful()) { LOG_TOPIC(WARN, Logger::HEARTBEAT) << "Heartbeat: Could not read from agency!"; } else { + + VPackSlice agentPool = + result.slice()[0].get( + std::vector({".agency","pool"})); + if (agentPool.isObject()) { + _agency.updateEndpoints(agentPool); + } else { + LOG(DEBUG) << "Cannot find an agency persisted in RAFT 8|"; + } + VPackSlice shutdownSlice = result.slice()[0].get( std::vector({AgencyCommManager::path(), "Shutdown"})); diff --git a/scripts/startLocalCluster.sh b/scripts/startLocalCluster.sh index 197246a5ef..b4ae3eef7c 100755 --- a/scripts/startLocalCluster.sh +++ b/scripts/startLocalCluster.sh @@ -202,6 +202,7 @@ for aid in `seq 0 $(( $NRAGENTS - 1 ))`; do --server.threads 16 \ --log.file cluster/$port.log \ --log.force-direct true \ + --log.level agency=DEBUG \ $LOG_LEVEL_AGENCY \ $AUTHENTICATION \ $SSLKEYFILE \