Skip to content

Verify dependencies between PR 5217 (PROXYSQL STOP/START crash fixes) and PR 4960 (module enable/disable) #5218

@renecannao

Description

@renecannao

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.nostart for 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

  1. No crashes when PROXYSQL STOP/START is used with disabled modules
  2. Admin interface variables correctly reflect module states
  3. Graceful error handling for operations on disabled modules
  4. 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

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions