-
-
Notifications
You must be signed in to change notification settings - Fork 217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Postfix for #7989 - Improve performance of external (UDR) functions #8046
Conversation
JRD_reschedule(tdbb); | ||
|
||
function->fun_external->execute(tdbb, request, transaction, inMsgLength, inMsg, outMsgLength, outMsg); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even if att_cancel_lock
is active and cancellation request has been posted to our attachment, the external function cannot be cancelled during its execution. But maybe we should call tdbb->checkCancelState()
immediately after its execution to react quickly? And maybe JRD_reschedule()
will be not needed after that change, given that we always check out the engine during function invocation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please see if it's now correct.
Add missing profiling, savepoint and stack traces.
It became slower than what initially done in #7989, but still much faster than v5.
I edited new timings verified in test in #7989.