Check contexts for nondeterminism to ensure cacheability #50341
Labels
:Core/Infra/Scripting
Scripting abstractions, Painless, and Mustache
>enhancement
Team:Core/Infra
Meta label for core/infra team
Related: #49466 which handles nondeterminism for whitelist methods
As a future-proofing measure, we should detect when contexts provide non-deterministic classes and methods.
A sketch:
ScriptClassInfo
we need to check theexecuteArguments
for nondeternism. So, inSClass.analyze
when creating theScriptRoot
we can check to see ifexecuteArguments
is all deterministic. This can be done inScriptClassinfo
ie addScriptClassinfo.areExecuteArgumentsDeterministic
or insideSClass
. The result should be passed to theScriptRoot
instance viamarkNonDeterministic
.The text was updated successfully, but these errors were encountered: