Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FISH-642 Workaround fix for OpenMQ blowing away logging on cluster instances. #5043

Closed
wants to merge 1 commit into from

Conversation

Pandrex247
Copy link
Member

Description

This is a part-fix / workaround.

Application logging breaks for clustered instances (as in Shoal/GMS clustered instances) due to OpenMQ blowing away logging configuration.

The cause of OpenMQ blowing it away is due to it running into an exception when starting the clustered broker, specifically that a loopback address is being used. Rather than exiting out at this point however, OpenMQ attempts to fallover to a non-clustered broker. This logic is currently flawed however due to the fact that the Broker which is being started gets "exited" before continuing to start using a non-clustered mbus - the broker doesn't exit due to being started in-process, and attempts to carry on despite having all configuration nulled, unsurprisingly running into NPEs (which you don't see because a side-effect of nulling the configuration is that it also blows away the logging configuration).

It should be pointed out that this flaw in OpenMQ exists regardless of this workaround / part-fix - the OpenMQ broker won't start regardless, but with this change you at least get told it hasn't started. This change doesn't cause OpenMQ to print quite the same exception that it would normally however (if it could actually print the exception). It still gets the same NPEs caused by throwing away all configuration, but in a slightly different place, causing it to not get wrapped in a nicer "Illegal Loopback Address Used" message.

Important Info

Blockers

payara/Payara_PatchedProjects#349

Testing

New tests

None

Testing Performed

Started cluster instances on Windows and Linux and deployed test application, hitting endpoint http://localhost:28080/ticket1567-logging/hello and checking logs to see if messages are printed out.

As noted above, clustered instances on Linux with a "default" networking setup will get errors related to OpenMQ not starting.

Documentation

None

Workaround fix for OpenMQ blowing away logging on cluster instances.
@lprimak
Copy link
Contributor

lprimak commented Dec 10, 2020

jenkins test

@Pandrex247
Copy link
Member Author

I've made an alternative fix for this (see link above).
The alternative fix should provide nicer log vomit as OpenMQ self-destructs.

@MattGill98
Copy link
Contributor

jenkins test please

@Pandrex247
Copy link
Member Author

Closing to not hide focus from better fix. I shan't delete the branch though just in case

@Pandrex247 Pandrex247 closed this Dec 15, 2020
@Pandrex247 Pandrex247 deleted the FISH-642 branch March 29, 2022 14:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants