diff --git a/src/ripple/app/ledger/impl/LedgerMaster.cpp b/src/ripple/app/ledger/impl/LedgerMaster.cpp index 586023737a..6a517aaab1 100644 --- a/src/ripple/app/ledger/impl/LedgerMaster.cpp +++ b/src/ripple/app/ledger/impl/LedgerMaster.cpp @@ -304,6 +304,25 @@ bool LedgerMaster::isCaughtUp(std::string& reason) { using namespace std::chrono_literals; + +#ifdef RIPPLED_REPORTING + if (app_.config().reporting()) + { + auto age = PgQuery(app_.getPgPool())("SELECT age()"); + if (!age || age.isNull()) + { + reason = "No ledgers in database"; + return false; + } + if (std::chrono::seconds{age.asInt()} > 3min) + { + reason = "No recently-published ledger"; + return false; + } + return true; + } +#endif + if (getPublishedLedgerAge() > 3min) { reason = "No recently-published ledger";