Details
-
New Feature
-
Status: In Testing (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
Description
Appliers need to verify foreign key constraints during normal operation, in multi-active topologies, and for this reason appliers are configured to enable FK checking.
However, during node joining, in IST and latter catch up period, the node is still idle (from local connections), and only source for incoming transactions is the cluster sending certified write sets for applying. IST happens with parallel applying, and there is a possibility that foreign key check cause lock conflicts between appliers accessing FK child and parent tables. Also, the excessive FK checking will slow down IST process somewhat.
For this reasons, we could relax FK checks for appliers during IST and catch up periods. The relaxed FK check mode should, however, be configurable e.g. by wsrep_mode flag: SKIP_APPLIER_FK_CHECKS_IN_IST. When this operation mode is set, and the node is processing IST or catch up, appliers should skip FK checking.