This is an automated email from the ASF dual-hosted git repository.

djwang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudberry.git

commit 5cfde24dc4e2897bf5c58437be97c7ab93c476aa
Author: NJrslv <[email protected]>
AuthorDate: Tue Mar 31 14:15:58 2026 +0300

    [gp_stats_collector] Wrap hook call in try/catch on error path
    
    Add PG_TRY/PG_CATCH around query_info_collect_hook in PortalCleanup
    error path to prevent exceptions from propagating during cleanup.
---
 src/backend/commands/portalcmds.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/portalcmds.c 
b/src/backend/commands/portalcmds.c
index 0ea5874e884..e23dc1d9c43 100644
--- a/src/backend/commands/portalcmds.c
+++ b/src/backend/commands/portalcmds.c
@@ -374,10 +374,22 @@ PortalCleanup(Portal portal)
                        FreeQueryDesc(queryDesc);
 
                        CurrentResourceOwner = saveResourceOwner;
-               } else {
+               }
+               else
+               {
                        /* GPDB hook for collecting query info */
                        if (queryDesc->gpsc_query_key && 
query_info_collect_hook)
-                               (*query_info_collect_hook)(METRICS_QUERY_ERROR, 
queryDesc);
+                       {
+                               PG_TRY();
+                               {
+                                       
(*query_info_collect_hook)(METRICS_QUERY_ERROR, queryDesc);
+                               }
+                               PG_CATCH();
+                               {
+                                       FlushErrorState();
+                               }
+                               PG_END_TRY();
+                       }
                }
        }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to