Conversation
NJrslv
added a commit
that referenced
this pull request
Jan 15, 2026
03c99a9 to
a3e8a2e
Compare
t1 f Update run_tests.sh Update Dockerfile
leborchuk
approved these changes
Feb 2, 2026
leborchuk
left a comment
There was a problem hiding this comment.
As discussed privately we will redesign it later in another PR. Right now we copy existing code from open-gpdb in order to make sure all out future PR is Ok
leborchuk
pushed a commit
that referenced
this pull request
Feb 10, 2026
We faced an issue - segments fail with backtrace ``` #7 0x00007f9b2adbf2e0 in set_qi_error_message (req=0x55f24a6011f0) at src/ProtoUtils.cpp:124 #8 0x00007f9b2adc30d9 in EventSender::collect_query_done (this=0x55f24a5489f0, query_desc=0x55f24a71ca68, status=METRICS_QUERY_ERROR) at src/EventSender.cpp:222 #9 0x00007f9b2adc23e1 in EventSender::query_metrics_collect (this=0x55f24a5489f0, status=METRICS_QUERY_ERROR, arg=0x55f24a71ca68) at src/EventSender.cpp:53 ``` the root cause here is we're trying to send info about error message in a hooks collector. For some queries ErrorData struckture could be NULL despite the fact that an error has occurred. it depends on error type and location of the error. So we should check if we had info about error details before using it.
leborchuk
pushed a commit
that referenced
this pull request
Mar 10, 2026
Design: In past, we use GUC diskquota_monitor_database to save the diskquota enabled databases. DBA has to reset the value in postgresql.conf each time and call pg_ctl reload to refresh the database list. To make this management process easy, we use a heap table (diskquota_name.database_list) in database `diskquota` to store the monitored database list instead. GUC diskquota_monitor_database is removed and the monitored database is loaded into table database_list by `create extension diskquota` and delete from table by `drop extension diskquota` automatically. When `create extension diskquota` is called, a UDF, diskquota_start_worker, is invoked, and the launcher will store the dboid into table diskquota_name.database_list, and start a bgworker for the corresponding database to control the disk usage of this database. When `drop extension diskquota` is called, a hook function, object_access_hook, is invoked, and the launcher will delete the dboid from table diskquota_name.database_list, and stop the corresponding bgworker. Protocol: The communication between the launcher process of diskquota and the backends uses a simple protocol, via a block of shared memory(MessageBox). When the backend wants to send a message to the launcher, it follows the steps: * acquires a lock * fills message data into the message_box * sends a signal SIGUSR1 to the launcher * waits for a response, in a loop with a timeout * consumes the response * releases the lock Note: now, the user must create database `diskquota' manually before using diskquota, or the launcher process will start failed. * Fix regression test caused by the changes of database diskquota uses * Add a test case: insert after drop extension diskquota 1. insert should not fail due to constraint of diskquota 2. constraint added by diskquota will be removed immediately when user drop extension 3. update error message for `ERR_PENDING' Fix changes from pg to gpdb: 1. Fix lwlock request and alloc 2. Fix some typo * remove the unneeded code to set `monitor_databases` * Fix a bug caused by debug_query_string when executes utility SPI reset ps display name of the worker process before logic loop * Update test cases 1. remove prepare0, fini 2. add test_insert_after_drop 3. update keywords to upper case 4. update result files for test_schema, test_extension, test_insert_after_drop
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #ISSUE_Number
What does this PR do?
Type of Change
Breaking Changes
Test Plan
make installcheckmake -C src/test installcheck-cbdb-parallelImpact
Performance:
User-facing changes:
Dependencies:
Checklist
Additional Context
CI Skip Instructions