forked from erlang/otp
-
Notifications
You must be signed in to change notification settings - Fork 7
250922 sync otp 27.3.4.2 to 28.1 #78
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
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In this commit, a new option `ipv6_probe` is added for gen_tcp:connect API. The option can either be a proplist boolean flag or a timeout non-neg-integer or `infinity` When this option is provided, gen_tcp will try to connect the target with ipv6, then fallback to default options if failed to connect.
Acked-by: William Yang <[email protected]>
When a new node is added to the mnesia cluster, it selects a random node to copy the table from if no 'master' node is defined (set master node is not mandatory). by setting arg: 'copy_from_node', operator is now free to choice which node to copy from. default is 'undefined', means disable. note, if the specified node is not in the candidates list, it will fallback to default behavior.
Merge pull request #20 from emqx/mnesia-post-commit-hook-emqx-OTP-24.1.5
Merge pull request #25 from thalesmg/ocsp-stapling-tmg-otp24
They are legal `Address`es to connect to.
Closes: EMQX-10390
so the use is not forced to bloat the options with public_key:cacerts_get()
Albeit there's already the `{repeat_until_ok, N}` TC property, it's arguably of reduced
use in a CI environment, as any failure will fail the whole suite, even if the final
execution succeeds.
Here we introduce a new kind of TC property: `{flaky, N}`, where `N` is a positive
integer.
It works similarly to `{repeat_until_ok, N}`: the TC is repeated up to `N` times until it
succeeds or retries are exhausted. The TC gets the status of its last run: if it
eventually succeeded, it's considered a success.
Example usage:
```erlang
-module(my_SUITE).
all() ->
%% This test case will be run up to 10 times.
[{testcase, t_my_flaky_test, [{flaky, 10}]}].
t_my_flaky_test(Config) ->
K = {?MODULE, ?FUNCTION_NAME},
N = persistent_term:get(K, 0),
case N > 5 of
true ->
ok;
false ->
persistent_term:put(K, N + 1),
error(boom)
end.
```
Execution logs:
```
Testing lib.my_SUITE: Stopping test case repeat operation: {flaky,10}
Testing lib.my_SUITE: TEST COMPLETE, 1 ok, 0 failed of 1 test cases
```
Note that, even though it actually ran 6 times, the final statistics are not duplicated.
The produced HTML logs do contain logs from all failures, nevertheless, for debugging
purposes.
sync(27.2): rebase emqx-OTP-27.1-2 stripped from irrelevant changes
…rnal-copies-otp27 250114 fix cstruct merge for external copies otp27
``` Error: Missing download info for actions/cache@6849a64 ``` Apparently, something broke with v4.1.2, despite the commit SHA being correct... actions/cache@6849a64
Sync otp 27.3.4.2
Previously any push would trigger the main workflow, now it is only triggered when pushing a tag matching the pattern OTP-* The build environment docker image build needs to know the merge base in order to build on the correct major version, for PRs, the major version is derived from maint-26 maint-27 etc; for tag pushes, it can be derived from the tag string OTP-26.x.y etc; for branch pushes however, it will result in using the `latest` docker image, as a result, it will not be able to pass certain checks for OPT 27 when latest is on 28 or later.
EMQX fork is maintained with a special branch naming convention. The build script parses merge base branch of pattern maint-*, this commit also adds emqx-OTP-*. Without this fix, the github CI run image will have the latest major version and leads to build failures. For example, when sending a PR to emqx-OTP-27.x.y.z, the latest major is 29, some of the beams are built on 29 and cannot be loaded on 27
…amp-to-27.3.4.2 stdlib: Fix zip to handle invalid dos timestamps
Optimization commit 28f7e80 broke max_fragment_length handling, that is the TLS sender lost its knowledge of the maximum fragment length. Make TLS sender process aware of it in the cases it is negotiated, for default maximum we do not need to store it in the connection state. Closes erlang#10191
…h-for-data ssl: update `tls_sender` with `max_fragment_length`
…eader-if-too-large fix(mqtt): allow application to check max packet size
fdbe7d0 to
c4aeaa6
Compare
This reverts commit 2023887. The fix only worked by chance, because often the remaining bytes are not valid MQTT packets hence result in a socket close before application can send the DISCONNECT packet.
Revert "fix(mqtt): allow application to check max packet size"
…c-OTP-27.3.4.2-to-28.1
id
approved these changes
Oct 6, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.