Clone
Vaidotas Valuckas
committed
on 16 Jul
Fix race conditions in credentials providers when evaluated during execution
Credentials providers will be evaluated at execution time possi… Show more
Fix race conditions in credentials providers when evaluated during execution

Credentials providers will be evaluated at execution time possibly in a multi-threaded environment if they are not declared as task inputs and not validated before execution.

This change uses thread-safe collections for storing credentials providers and synchronizes their evaluation. Evaluation part is synchronized because error messages may be constructed there and error messages are assembled from possibly multiple missing properties - we don't want them duplicated and we want to have a deterministic order when missing properties are reported.

Show less