2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-06-20 10:30:48 +00:00
Files
xcat-core/perl-xCAT
Vinícius Ferrão f139904c3e fix: invalidate NodeRange caches inherited across fork
xcatd forks child processes to handle plugin requests. The child
inherits NodeRange.pm's module-level caches (@allnodeset, %allgrphash,
@grplist) with their timestamps from the parent. If the parent had
populated these caches within the past 5 seconds, the child reuses
stale data that does not reflect database changes committed by other
requests that completed between cache population and the fork.

This causes non-deterministic failures in group-definition regression
tests (chdef_group, mkdef_group, rmdef_group) where lsdef -s runs
noderange expansion inside the forked plugin process and hits the
inherited stale cache that predates the mkdef -t group commit.

Track the PID at cache-build time and treat any cache built by a
different PID as expired, forcing a fresh database read in children.
2026-05-02 19:27:10 -03:00
..
2018-10-03 11:19:27 -04:00

xCAT is a toolkit for the deployment and administration of clusters.

xCAT documentation is available at: http://xcat-docs.readthedocs.org/

xCAT is made available as open source software under the EPL license:
http://www.opensource.org/licenses/eclipse-1.0.php