pSConfig has special logic for determining if hidden fields in an archiver, such as _url, have changed. It keeps an internal cache that maps the checksum it calculates from talking to the pscheduler server (that excludes the private fields) to a checksum it calculates that does include the private fields. the problem is that this map is shared across all tasks meaning if two different tasks have archivers that only differ by _url then the check gets out of whack and it thinks archives have changed when they haven't and starts recreating things. combine this with the fact that when you delete a powstream task, pscheduler does not actually stop the powstream process, then you have condition where powstreams build up and bad things happen.
pSConfig has special logic for determining if hidden fields in an archiver, such as _url, have changed. It keeps an internal cache that maps the checksum it calculates from talking to the pscheduler server (that excludes the private fields) to a checksum it calculates that does include the private fields. the problem is that this map is shared across all tasks meaning if two different tasks have archivers that only differ by _url then the check gets out of whack and it thinks archives have changed when they haven't and starts recreating things. combine this with the fact that when you delete a powstream task, pscheduler does not actually stop the powstream process, then you have condition where powstreams build up and bad things happen.