Reload of relying-party.xml creates new AbstractReloadingMetadataProvider threads without destroying earlier ones

Description

Any change to relying-party.xml, even 'touch', will fire off a new thread to regularly reload a defined metadata file.

For instance:
<MetadataProvider id="shibboleth-sites" xsi:type="FilesystemMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata"
metadataFile="/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml" requireValidMetadata="false" minRefreshDelay="PT1M" maxRefreshDelay="PT1M"/>

This will attempt a reload of the metadata file once per minute.

For each 'touch' of relying party, there will be an additional attempt to load the metadata file each minute.

So, normally, this would be seen in the log:
16:36:59.164 - - INFO [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:238] - Metadata from '/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml' unchanged since last refresh, next refresh will occur at approximately 2011-08-08T23:37:59.163Z
16:37:59.185 - - INFO [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:238] - Metadata from '/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml' unchanged since last refresh, next refresh will occur at approximately 2011-08-08T23:38:59.184Z
16:38:59.202 - - INFO [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:238] - Metadata from '/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml' unchanged since last refresh, next refresh will occur at approximately 2011-08-08T23:39:59.202Z
16:39:59.211 - - INFO [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:238] - Metadata from '/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml' unchanged since last refresh, next refresh will occur at approximately 2011-08-08T23:40:59.211Z

After four 'touch'es of relying-party.xml, this is seen in the logs:
16:54:57.129 - - INFO [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:238] - Metadata from '/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml' unchanged since last refresh, next refresh will occur at approximately 2011-08-08T23:55:57.129Z
16:55:02.018 - - INFO [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:238] - Metadata from '/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml' unchanged since last refresh, next refresh will occur at approximately 2011-08-08T23:56:02.018Z
16:55:02.025 - - INFO [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:238] - Metadata from '/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml' unchanged since last refresh, next refresh will occur at approximately 2011-08-08T23:56:02.025Z
16:55:02.838 - - INFO [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:238] - Metadata from '/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml' unchanged since last refresh, next refresh will occur at approximately 2011-08-08T23:56:02.838Z
16:55:57.138 - - INFO [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:238] - Metadata from '/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml' unchanged since last refresh, next refresh will occur at approximately 2011-08-08T23:56:57.138Z
16:56:02.029 - - INFO [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:238] - Metadata from '/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml' unchanged since last refresh, next refresh will occur at approximately 2011-08-08T23:57:02.028Z
16:56:02.035 - - INFO [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:238] - Metadata from '/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml' unchanged since last refresh, next refresh will occur at approximately 2011-08-08T23:57:02.035Z
16:56:02.849 - - INFO [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:238] - Metadata from '/var/local/shibboleth2-idp/metadata/shibboleth-sites.xml' unchanged since last refresh, next refresh will occur at approximately 2011-08-08T23:57:02.849Z

Additionally, if changes were made to the file, the reload threads will all think that the metadata needs updating and they will all run the update. Luckily this has not caused threading conflicts (so far).

Environment

Solaris
JDK 1.6.0_24

Activity

Show:

ChadC October 9, 2011 at 2:27 PM

fixed in rev 1008

Fixed

Details

Assignee

Reporter

Fix versions

Affects versions

Created October 9, 2011 at 1:53 PM
Updated October 9, 2011 at 2:27 PM
Resolved October 9, 2011 at 2:27 PM