linrrzqqq opened a new pull request, #67450: URL: https://github.com/apache/doris/pull/67450
### What problem does this PR solve? Related PR: #61280 Problem Summary: This PR fixes two issues in Python UDF module cache cleanup: 1. The Python module cache uses the complete UDF location string as its key, but the cleanup logic incorrectly treated the key as a tuple, introduced by: https://github.com/apache/doris/issues/61280. As a result, `DROP FUNCTION` could fail to remove the cached module, and subsequent executions could continue using stale Python code. 2. The BE only checked whether an Arrow Flight action returned a result successfully. It did not inspect the JSON payload returned by the Python server, so a response such as `{"success": false, "error": "..."}` was incorrectly counted as successful. The fix: - Matches cache entries using the complete UDF location and obtains the module name from the cached module before eviction. - Parses the Flight action result and requires `success` to be `true`. - Propagates Python-side cache cleanup errors through the returned BE status and includes the error details in logs. ### Release note Fix Python UDF module cache cleanup and properly report Python server cleanup failures. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
