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]

Reply via email to