[Bug] Cross-partition UPDATE into a foreign partition silently loses rows
Maintainer antworten meist innerhalb von 2 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 48/100
Rechercherichtung
Start by tracing partition row movement through the UPDATE executor and the postgres_fdw foreign-partition write path; the reproduction uses batch_size '10' and moves 25 rows from local partition p1 to foreign partition p2. Check the existing tests for partition updates with foreign tables, then add a regression case showing all 25 rows reach p2 after the update.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Apache Cloudberry version
No response
What happened
An UPDATE that moves rows from a local partition to a postgres_fdw foreign partition commits, but the rows are deleted from the local partition and never reach the foreign table.
What you think should happen instead
No response
How to reproduce
-- in database fdwr
CREATE TABLE r2 (a int, b int) DISTRIBUTED BY (b);
-- in another database
CREATE EXTENSION postgres_fdw;
CREATE SERVER s FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host '/tmp', port '7000', dbname 'fdwr', batch_size '10');
CREATE USER MAPPING FOR current_user SERVER s;
CREATE TABLE part (a int, b int) PARTITION BY LIST (a) DISTRIBUTED BY (b);
CREATE TABLE p1 PARTITION OF part FOR VALUES IN (1);
CREATE FOREIGN TABLE p2 PARTITION OF part FOR VALUES IN (2)
SERVER s OPTIONS (table_name 'r2');
INSERT INTO part SELECT 1, i FROM generate_series(1, 25) i;
UPDATE part SET a = 2 WHERE a = 1;
SELECT count(*) FROM p1; -- 0
SELECT count(*) FROM p2; -- 0, expected 25
Operating System
ubuntu24
Anything else
No response
Are you willing to submit PR?
- Yes, I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct.
- Vorherrschende Sprache
- C
- Sterne
- 1.4k
- Forks
- 268
- Ø Merge
- 4 T. 3 Std.
- Gemergte PRs (30 T.)
- 78
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus apache/cloudberry
-
[Bug] Expand fails to recognize user-defined tablespacesEvtl. vergeben @nix-oss hat das vor 82 Tagen übernommen. Offentype: Bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
apache/cloudberry#1885 · 2 Reaktionen ·
Maintainer antworten meist innerhalb von 2 Tagen
-
gpexpand first stage fails: 'SyncPackages' object has no attribute 'ret' (extension sync never runs; regression)Evtl. vergeben @talmacschen-arch hat das vor 143 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
apache/cloudberry#1825 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
apache/cloudberry#2257 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
[Bug]Offentype: Bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 40/100
apache/cloudberry#2255 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 3/5 Ein halber Tag Anfängerfreundlichkeit 30/100
apache/cloudberry#2224 ·
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in apache/cloudberry
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 62/100
-
bug mod: circuit
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
msys2/MINGW-packages#33356 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 78/100
facebookincubator/muse-gadget-sdk#355 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
kmod-project/kmod#492 ·
Maintainer antworten meist innerhalb von 4 Tagen