In TaskSLAController, the _checkNewSLA function evaluates the retroactive pause only once at the time the SLA is started (when a new Task SLA [task_sla] record is created). In the _adjustPauseTime function, the history is queried in order to build the value of the pause duration.
If a History [sys_history_line] shard is marked offline at the time, a new Task SLA record is created and the data in it is inaccessible. The retroactive pause calculation will not find the necessary data, and the business elapsed time value will be incorrect.
WIthout the pause duration value, retroactive start SLAs can frequently breach.
This problem has been fixed in Calgary and onwards, together with the other known problem PRB576656 (ref.: https://hi.service-now.com/kb_view.do?sysparm_article=KB0539352), which now makes sure that a new history set is generated if the existing history list is in an offline shard.