-
Notifications
You must be signed in to change notification settings - Fork 1k
Open
0 / 10 of 1 issue completedOpen
0 / 10 of 1 issue completed
Copy link
Labels
Milestone
Description
Issue Overview
PR 5217 and PR 4960 have potential interdependencies that need to be verified before merge:
- PR 5217: Fixes crashes during PROXYSQL STOP/START cycles by implementing proper module shutdown/restart sequences and null pointer protection
- PR 4960: Adds fine-grained control to enable/disable MySQL and PostgreSQL modules (workers, admin, monitor)
Potential Dependency Areas
1. Module Lifecycle Management
- PR 5217 assumes all modules are present during STOP/START cycles
- PR 4960 allows selective module disable/enable at startup
- Risk: STOP/START behavior when modules are disabled via PR 4960
2. Admin Interface Variables
- PR 5217: Fixed null pointer protection in
save_*_from_runtime()functions - PR 4960: Fixed admin interface variable synchronization (
mysql-monitor_enabled,pgsql-monitor_enabled) - Risk: Both modify
lib/ProxySQL_Admin.cpp- potential merge conflicts
3. Global Variables and Thread Management
- PR 5217: Uses
GloVars.global.nostartfor restart sequences - PR 4960: Adds module-specific flags (
mysql_workers,pgsql_workers, etc.) - Risk: Interaction between global stop/start and module-specific flags
Verification Tasks
- Test PROXYSQL STOP/START with all module combinations from PR 4960
- Verify admin queries behave correctly when modules are disabled
- Check null pointer protection works with selective module states
- Validate variable synchronization in mixed module states
- Test crash scenarios with partial module configurations
Acceptance Criteria
- No crashes when PROXYSQL STOP/START is used with disabled modules
- Admin interface variables correctly reflect module states
- Graceful error handling for operations on disabled modules
- All existing functionality works when modules are enabled
Files Potentially Affected
lib/ProxySQL_Admin.cpp(modified in both PRs)src/main.cpp(modified in both PRs)- Global variable handling and module lifecycle management