[3.4.2] Improvements for remote JS executor #7403
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request description
Now, when submitting a script invoke request to remote JS executor, script body will not be sent, expecting the executor to have it in its
scriptMap
. In case the script was not in the map ,NOT_FOUND_ERROR
code will be returned, andRemoteJsInvokeService
in turn will send the same invoke request again (to the same partition) but with the needed script body in it.Also, migrated from using UUID script id for remote executor to a hash of tenant id and script body. This will reduce the amount of compiled scripts with same body, and also the amount of scripts will not depend on the rule engine instance count.
General checklist
Back-End feature checklist