perfsonar / perl-shared

Shared libraries used by perl packages and referenced as a submodule in many git repos
Apache License 2.0
7 stars 3 forks source link

TaskManager constantly recreates tasks due to handling of archiver private fields #94

Closed arlake228 closed 3 years ago

arlake228 commented 3 years ago

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.