- // Translate cacheDuration into validUntil.
- time_t exp = m_maxCacheDuration;
- if (entity2->getCacheDuration())
- exp = min(m_maxCacheDuration, entity2->getCacheDurationEpoch());
- exp += time(NULL);
- if (entity2->getValidUntil()) {
- if (exp < entity2->getValidUntilEpoch())
- entity2->setValidUntil(exp);
- }
- else {
- entity2->setValidUntil(exp);
- }
+ if (entity2->getValidUntil() && entity2->getValidUntilEpoch() < now + 60)
+ throw MetadataException("Metadata was already invalid at the time of retrieval.");
+
+ log.info("caching resolved metadata for (%s)", name.c_str());