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

Backport/william/v4.2.12 #4732

Merged
merged 10 commits into from May 5, 2021
Merged

Conversation

qzhuyan
Copy link
Contributor

@qzhuyan qzhuyan commented May 4, 2021

backport fixes to 4.2 for the following issues:

#2671
#2985

If your build fails due to your commit message not passing the build checks, please review the guidelines here: https://github.com/emqx/emqx/blob/master/CONTRIBUTING.md.

PR Checklist

Please convert it to a draft if any of the following conditions are not met. Reviewers may skip over until all the items are checked:

  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)
  • In case of non-backward compatible changes, reviewer should check this item as a write-off, and add details in Backward Compatibility section

Backward Compatibility

More information

Use global lock to reduce remote lock overhead.

So that emqx route trans can run in dirty *sync* context.

At least 10X subscribe/unsubscribe improvments.
So change broker call timeout to infinity.
intro. new lock type: 'spawn' of broker.perf.route_lock_type

mnesia get lock calls are not optimized for selective receive.

hence taking locks would be very expensive while there are tones of
messages in the brokers message queue.

This optimization run the transaction in a separate process to utilize
the selective receive optimization of the compiler.
@qzhuyan qzhuyan mentioned this pull request May 4, 2021
3 tasks
k32
k32 previously approved these changes May 4, 2021
priv/emqx.schema Outdated Show resolved Hide resolved
src/emqx.appup.src Outdated Show resolved Hide resolved
src/emqx_router.erl Outdated Show resolved Hide resolved
zmstone
zmstone previously approved these changes May 4, 2021
It is meaningless to do elvis checks on maintenance branches.
@zmstone zmstone merged commit 84e032f into emqx:dev/v4.2.12 May 5, 2021
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.

None yet

3 participants