ResolverExceptions ignored in AbstractReloadingMetadataResolver.RefreshMetadataTask

Brent Putman putmanb at georgetown.edu
Wed Feb 8 13:52:23 EST 2017



On 2/8/17 3:58 AM, Josu Vergara wrote:
>
> Hi,
>
> When there is a problem retrieving the metadata after the initial
> refresh, the ResolverException are silently ignored in the code of
> AbstractReloadingMetadataResolver.RefreshMetadataTask.
>

Well, they aren't *silently* ignored.  The refresh() that is called
from the task catches all Throwable, and logs the error.


>   Even though the different implementations of
> AbstractReloadingMetadataResolver log error messages before
> generating the ResolverException
>

Yes, but it's not just the different concrete subclass impls, the
AbstractReloadingMetadataResolver itself logs all exceptions raised and
visible in the the refresh().


> it would be great if we could have a mechanism to be notified in the
> code that an error occurred (for instance using a Listener pattern). 
> Is this a known limitation?  Are there plans to implement a solution?
>

I suppose it was "known", in that there is a comment there in the catch
block that nothing further is to be done.  No, there aren't any
existing plans to change anything at this time.  That's because
OpenSAML is primarily driven by the needs of the Shib IdP, and we just
don't have a use case for it.

That said, it wouldn't be hard to add an error listener capability to
it.  If you want to open a Jira ticket, that's fine, and we'll consider it.

Just curious: what would you do in such a listener - fire an email to
an administrator; trigger an event to a management system (SNMP, etc);
actually do something to attempt another refresh before the next
scheduled one; or other?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://shibboleth.net/pipermail/dev/attachments/20170208/d4463b77/attachment.html>


More information about the dev mailing list