0
Fixed

Identity Broker Full Import Scheduling

Richard Green 8 years ago • updated by anonymous 4 years ago 8

Hi Guys,

I've run accross an interesting issue with identity broker import scheduling. As an example, I have the following full import schedule configured for the DET Oneschool connector in SPOT:

<getAllEntities>
<timing name="Daily" offset="06:00:00" UseLocal="True" />
</getAllEntities>

The issue we are seeing, is that with this config, whenever the service is started a full import is immeadiately kicked off on this connector, regardless of the time of day. If the service is stopped and started again the same day, the import runs again.

I have seen the same behaviour on the WCIS connector with this config:

<getAllEntities>
<timing name="Daily" offset="05:30:00" UseLocal="True" />
</getAllEntities>

However for the imports that are scheduled to run at after hours in the evening, this behaviour is not exhibited. For example, the following config is on the HRuI connector:

<getAllEntities>
<timing name="Daily" offset="18:00:00" UseLocal="True" />
</getAllEntities>

It appears that any runs that are scheduled for the morning, reoccur whenever the service is started. As the Oneschool connector contains ~600k entities, this is rather inconvenient.

I've attached the entire connector config if needed for analysis. Is there anything evidently wrong here that can be quickly corrected? Is this a known issue?

Cheers
Richard

Affected Versions:
Fixed by Version:

Matthew, could you please take a look at this?

Hi Richard,

Thank you for all the information regarding the issue, it might it quite useful in diagnosing the problem. I haven't replicated this myself, but by having a look at the code there seems to be a potential issue with the daily timing, where the "UseLocal" setting is not used to calculate the first run of the timing, and as such it is using UTC time for the first run.

In Identity Broker v3.0.x, the daily timing uses a recurring timing as its underlying mechanism, and will run if it detects it was due to run in the past. In the example of the WCIS connector, this means that it would think it is due to run any time after 5:30am UTC on the same UTC date that the service was restarted.

I believe the workaround is to subtract 10 hours from the desired time and remove the "UseLocal" flag completely (ie. use UTC time). If you do not remove the UseLocal flag, the first time the service is run will be correct for UTC time but will be inconsistent with the local time you expect.

This has since been fixed in Event Broker v3 and Identity Broker v4. Please confirm if this workaround resolves your issue and I will document this for our current v3 user base.

If this is confirmed as your issue I will also move this to the Identity Broker project.

Thanks Matt,

I'll test this in MPE today

Cheers

Hi Matt,

I can confirm that this is the same issue that you've identified. After implementing the workaround, the service was restarted multiple times with no full imports being initiated.

I've assigned this back to you as requested for documentation.

Cheers
Richard

Updated billing key

Adam, I have updated the documentation for the IDB306:Daily timing. Please close if appropriate