Thread

Commits

  1. Improve error message for database object stats manipulation functions.

  1. Improve error messages for database object stats manipulation functions during recovery

    Fujii Masao <masao.fujii@oss.nttdata.com> — 2024-10-25T17:07:44Z

    Hi,
    
    When database object stats manipulation functions like pg_set_relation_stats() are run,
    they currently produce the following error and hint messages, which are "internal"
    and make it hard for users to understand the issue:
    
           ERROR:  cannot acquire lock mode ShareUpdateExclusiveLock on database objects while recovery is in progress
           HINT:  Only RowExclusiveLock or less can be acquired on database objects during recovery.
    
    So I'd like to propose updating these to clearer messages:
    
           ERROR:  recovery is in progress
           HINT:  Database object statistics manipulation functions cannot be executed during recovery.
    
    Thought?
    
    I've attached a patch implementing these changes. It also updates the documentation to
    clearly state that these functions are not available during recovery.
    
    Regards,
    
    -- 
    Fujii Masao
    Advanced Computing Technology Center
    Research and Development Headquarters
    NTT DATA CORPORATION
    
  2. Re: Improve error messages for database object stats manipulation functions during recovery

    Heikki Linnakangas <hlinnaka@iki.fi> — 2024-11-12T21:09:58Z

    On 25/10/2024 20:07, Fujii Masao wrote:
    > Hi,
    > 
    > When database object stats manipulation functions like 
    > pg_set_relation_stats() are run,
    > they currently produce the following error and hint messages, which are 
    > "internal"
    > and make it hard for users to understand the issue:
    > 
    >        ERROR:  cannot acquire lock mode ShareUpdateExclusiveLock on 
    > database objects while recovery is in progress
    >        HINT:  Only RowExclusiveLock or less can be acquired on database 
    > objects during recovery.
    > 
    > So I'd like to propose updating these to clearer messages:
    > 
    >        ERROR:  recovery is in progress
    >        HINT:  Database object statistics manipulation functions cannot 
    > be executed during recovery.
    > 
    > Thought?
    
    Makes sense.
    
    "Database object statistics manipulation functions" is a bit of a 
    mouthful". Maybe something like "statistics cannot be modified during 
    recovery".
    
    > I've attached a patch implementing these changes. It also updates the 
    > documentation to
    > clearly state that these functions are not available during recovery.
    
    Looks good to me.
    
    -- 
    Heikki Linnakangas
    Neon (https://neon.tech)
    
    
    
    
    
  3. Re: Improve error messages for database object stats manipulation functions during recovery

    Maxim Orlov <orlovmg@gmail.com> — 2024-11-15T11:59:00Z

    +1 for the patch.
    
    Recently, one of our customer have tried to upgrade the replica, and,
    obviously, failed. I don't remember the exact error message, but for him it
    was not so clear that server is in recovery. Explicitly declaring error is
    the way to go in my view.
    
    So, I consider this patch useful. Overall, looks good to me.
    
    -- 
    Best regards,
    Maxim Orlov.
    
  4. Re: Improve error messages for database object stats manipulation functions during recovery

    Fujii Masao <masao.fujii@oss.nttdata.com> — 2024-11-15T17:36:54Z

    
    On 2024/11/13 6:09, Heikki Linnakangas wrote:
    > On 25/10/2024 20:07, Fujii Masao wrote:
    >> Hi,
    >>
    >> When database object stats manipulation functions like pg_set_relation_stats() are run,
    >> they currently produce the following error and hint messages, which are "internal"
    >> and make it hard for users to understand the issue:
    >>
    >>        ERROR:  cannot acquire lock mode ShareUpdateExclusiveLock on database objects while recovery is in progress
    >>        HINT:  Only RowExclusiveLock or less can be acquired on database objects during recovery.
    >>
    >> So I'd like to propose updating these to clearer messages:
    >>
    >>        ERROR:  recovery is in progress
    >>        HINT:  Database object statistics manipulation functions cannot be executed during recovery.
    >>
    >> Thought?
    > 
    > Makes sense.
    > 
    > "Database object statistics manipulation functions" is a bit of a mouthful". Maybe something like "statistics cannot be modified during recovery".
    
    Sounds good! I've updated the hint messages as suggested and attached the revised patch.
    Thanks for the review!
    
    Unless there are any objections, I'll proceed with committing it.
    
    Regards,
    
    -- 
    Fujii Masao
    Advanced Computing Technology Center
    Research and Development Headquarters
    NTT DATA CORPORATION
    
  5. Re: Improve error messages for database object stats manipulation functions during recovery

    Fujii Masao <masao.fujii@oss.nttdata.com> — 2024-11-15T17:37:16Z

    
    On 2024/11/15 20:59, Maxim Orlov wrote:
    > +1 for the patch.
    > 
    > Recently, one of our customer have tried to upgrade the replica, and, obviously, failed. I don't remember the exact error message, but for him it was not so clear that server is in recovery. Explicitly declaring error is the way to go in my view.
    > 
    > So, I consider this patch useful. Overall, looks good to me.
    
    Thanks for the review!
    
    Regards,
    
    -- 
    Fujii Masao
    Advanced Computing Technology Center
    Research and Development Headquarters
    NTT DATA CORPORATION
    
    
    
    
    
  6. Re: Improve error messages for database object stats manipulation functions during recovery

    Fujii Masao <masao.fujii@oss.nttdata.com> — 2024-11-19T17:04:06Z

    
    On 2024/11/16 2:36, Fujii Masao wrote:
    > Sounds good! I've updated the hint messages as suggested and attached the revised patch.
    > Thanks for the review!
    > 
    > Unless there are any objections, I'll proceed with committing it.
    
    Pushed. Thanks!
    
    Regards,
    
    -- 
    Fujii Masao
    Advanced Computing Technology Center
    Research and Development Headquarters
    NTT DATA CORPORATION