[FOLIO-2447] Remove gen_random_uuid(), it fails in pgpool native replication Created: 05/Feb/20 Updated: 16/Aug/21 |
|
| Status: | Open |
| Project: | FOLIO |
| Components: | None |
| Affects versions: | None |
| Fix versions: | None |
| Type: | Bug | Priority: | P4 |
| Reporter: | Julian Ladisch | Assignee: | Julian Ladisch |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | keep-bug, platform-backlog | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original estimate: | Not Specified | ||
| Issue links: |
|
||||||||||||||||||||||||||||||||
| Sprint: | CP: Non-roadmap backlog | ||||||||||||||||||||||||||||||||
| Development Team: | Core: Platform | ||||||||||||||||||||||||||||||||
| Description |
|
gen_random_uuid() creates a different UUID in each node of a replicated PostgreSQL environment when Pgpool-II is used in native replication mode.
RMB documentation mentions it in the upgrading guide for RMB 25 and in connection with "generateId": https://github.com/folio-org/raml-module-builder/#the-post-tenant-api Tasks:
After all modules have removed gen_random_uuid RMB and Spring base should add this function that takes precedence over the function from pgcrypto: CREATE OR REPLACE FUNCTION public.gen_random_uuid() RETURNS uuid language plpgsql as $$ BEGIN RAISE 'FOLIO doesn''t allow gen_random_uuid() because it doesn''t work with a replicated database like Pgpool-II' USING ERRCODE = 'feature_not_supported'; END; $$; Note: Pgpool-II streaming replication mode is NOT affected by this issue, only Pgpool-II native replication mode. |
| Comments |
| Comment by Adam Dickmeiss [ 13/Aug/21 ] |
|
Can't we close this Julian Ladisch? |
| Comment by Julian Ladisch [ 13/Aug/21 ] |
|
No, this hasn't been fixed, see https://github.com/search?q=org%3Afolio-org+gen_random_uuid&type=Code . This issue is the umbrella for all these subtasks. |