Skip to content

ModCluster Management Protocol (MCMP) reimplementation#385

Open
jajik wants to merge 13 commits into
modcluster:mainfrom
jajik:mcmp
Open

ModCluster Management Protocol (MCMP) reimplementation#385
jajik wants to merge 13 commits into
modcluster:mainfrom
jajik:mcmp

Conversation

@jajik
Copy link
Copy Markdown
Member

@jajik jajik commented May 15, 2026

ref #380

This PR rewrites parts of the MCMP and changes its behaviour in several cases and adds a set of tests to make sure the behaviour is correct.

Highlights:

  • there's a big change in how mod_proxy_cluster's virtual hosts and aliases are handled
    • now it's one alias per each host allowing us a better (and correct) granular control of each context of each alias
  • the protocol is now less permissive (e.g. bad load value in STATUS means error response)
  • it's more deterministic especially when an error occurs, the state after an error are now defined
    • typically in a case of a failure during CONFIG processing we could get some parts processed and there was no indication of it
    • now there's a response indicating what failed and what did not
    • same applies to APP commands
  • ping/pong routine is updated with ping now supporting http
  • some refactoring and formatting took place, we're using APR API more now (e.g. when handling APR arrays), a bit more info in logging in some cases

What this PR does not include:

  • final MCMP (error) messages (that's going to be addressed in Take a look at error messages in case of invalid MCMP commands #330)
  • support for all output types
    • not all commands are providing all output flavours (xml), this is going to be addressed in a future PR; however, some changes here make the future implementation a bit easier
  • refactoring of all APR data structures handling (again, I'll do that in a separate PR later, this PR is huge enough)
  • mod_cluster_manager webpage changes to reflect changes above

I'll share a doc with more information in our team channel.


Side note: It seems this also resolves the instability we were seeing with the MODCLUSTER-736 test (or it's just the weather). It was the weather 🙂

Side note 2: I ran the perf suite with the changes as a smoke test, it looks ok (2 tomcats with 1 disable, 20 tomcats with 10 disable, 20 tomcats with 10 shutdown, 20 tomcats with 10 kill, 20 tomcats with 10 stop)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant