zuul/zuul
James E. Blair e4f1b9b65e Fix infinite recursion in getRelatedChanges
It's possible to have a loop in change relationships (whether accidentally
or intentionally).  The current method of getting related changes in order
to prune the change cache does not handle that.

This reworks that method to be safe for recursion.

During development, it was observed that the set of relevant changes was
actually a mixture of cache keys (which are objects) and cache references
(which are string representations of the same).  This change also refactors
the collection of relevant cache keys into a method which can be tested on
its own to verify we get keys of a consistent type.

Change-Id: Ie76f9b19f10b053f5c72bdaf7be3efc445b53639
2021-10-13 10:42:07 -07:00
..
ansible Add secret_data to zuul_return 2021-06-24 06:24:23 -07:00
cmd Exit sucessfully when manipulating project keys 2021-09-21 16:04:29 +02:00
connection Move common change cache related methods to mixin 2021-09-17 15:52:51 -07:00
driver Merge "Add TCP keepalive to gitlab" 2021-10-06 10:00:12 +00:00
execution_context Add wrapper driver execution context 2017-08-18 16:35:12 -07:00
executor Merge "Disable aliases in inventory.yaml for better readibility" 2021-09-29 16:41:44 +00:00
lib Add TCP keepalive to gitlab 2021-10-05 15:08:56 -07:00
manager Flatten SourceContext data structure 2021-09-30 15:51:57 -07:00
merger Send synthetic merge completed events on cleanup 2021-09-20 10:37:39 -07:00
reporter Flatten SourceContext data structure 2021-09-30 15:51:57 -07:00
source Reference change dependencies by key 2021-09-08 17:01:21 +02:00
sphinx docs: remove zuuldocs domain 2020-08-04 16:10:09 +10:00
trigger Filter events on event connection 2021-04-24 08:39:03 -07:00
web Let zuul-web look up the live log streaming address from ZooKeeper 2021-09-22 07:25:13 +02:00
zk Fix infinite recursion in getRelatedChanges 2021-10-13 10:42:07 -07:00
__init__.py Initial commit. 2012-05-29 14:49:32 -07:00
_setup_hook.py Revert "Revert "Create zuul/web/static on demand"" 2020-07-07 19:53:33 +02:00
change_matcher.py Match tag items against containing branches 2020-03-06 13:29:18 -08:00
configloader.py Flatten SourceContext data structure 2021-09-30 15:51:57 -07:00
exceptions.py Let zuul-web look up the live log streaming address from ZooKeeper 2021-09-22 07:25:13 +02:00
model.py Fix infinite recursion in getRelatedChanges 2021-10-13 10:42:07 -07:00
nodepool.py Don't add node resources to nonexistent tenant 2021-09-29 15:07:42 -07:00
rpcclient.py Route streams to different zones via finger gateway 2021-06-10 14:09:37 +02:00
rpclistener.py Let zuul-web look up the live log streaming address from ZooKeeper 2021-09-22 07:25:13 +02:00
scheduler.py Fix infinite recursion in getRelatedChanges 2021-10-13 10:42:07 -07:00
version.py Report git sha in status page version 2018-04-27 10:21:43 -07:00