RE: BUG #17518: Getting Error "new multixact has more than one updating member" when trying to delete records.

Krier, Bob <rkrier@cleo.com>

From: "Krier, Bob" <rkrier@cleo.com>
To: "David G. Johnston" <david.g.johnston@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2022-06-27T16:36:03Z
Lists: pgsql-bugs
Hi David,

Thanks for the response.


  *   I haven’t tried via psql.  I only have a snapshot of the customer’s database that I can restore in RDS.  It is very time consuming to set this up.  I’ve corrected the problem by running VACUUM (FULL, FREEZE, VERBOSE, ANALYZE, INDEX_CLEANUP, TRUNCATE) on the table and the problem is resolved.
  *   Deleting by date where it only matches to 1 row seems to work.  If I match on more than one, it seems to fail.  I’m not sure what conditions make it happen.  I have not tried to delete by PK.  I’m not sure what you mean by “How about columns?”.  You don’t specify columns on a delete statement.
  *   Can I construct a self-contained minimal reproducer?:  No unfortunately exporting the table and importing it to another Postgres instance does not reproduce the issue.   Again the vacuum above corrects the issue.
  *   Does it manifiest standalone…?  Again I only have the snapshot to restore on RDS and can reproduce it that way.

Again, the issue is resolved.   Thanks for your attention to this!

Bob


Bob 
Krier
Cleo  |  
Principal Software Engineer II
Tel: 815-986-6759
Email: rkrier@cleo.com
  |  
Web: www.cleo.com
Request a Demo |
 Take a tour of CIC Cockpit with RADAR
From: David G. Johnston <david.g.johnston@gmail.com>
Sent: Saturday, June 25, 2022 4:52 PM
To: Krier, Bob <rkrier@cleo.com>; PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Subject: Re: BUG #17518: Getting Error "new multixact has more than one updating member" when trying to delete records.

On Tue, Jun 14, 2022 at 9:03 AM PG Bug reporting form <noreply@postgresql.org<mailto:noreply@postgresql.org>> wrote:
The following bug has been logged on the website:

Bug reference:      17518
Logged by:          Bob Krier
Email address:      rkrier@cleo.com<mailto:rkrier@cleo.com>
PostgreSQL version: 12.10
Operating system:   AWS RDS
Description:

We are getting an error executing a delete statement from JDBC like
follows:

DELETE FROM "EBI"."LOG_OF_CONNECTION" WHERE "DATE" < {some java date in
milliseconds}.  The error is as follows:
--->   "SQLException: ERROR: new multixact has more than one updating
member"

If you try this via psql you don't see the error though?

Do you get the same error if you delete a single row using a PK instead of a bunch of rows via a date inequality?

Does it seem to matter which rows are being deleted in general, or how many?  How about columns?

Can you construct a self-contained minimal reproducer?

Does it manifest on standalone community PostgreSQL or just RDS?

David J.

Commits

  1. Make multixact error message more explicit

  2. CREATE INDEX: use the original userid for more ACL checks.