Skip to content

Conversation

@mergify
Copy link

@mergify mergify bot commented Feb 14, 2023

This is an automatic backport of pull request #7291 done by Mergify.
Cherry-pick of 3a3ff30 has failed:

On branch mergify/bp/v3.11.x/pr-7291
Your branch is up to date with 'origin/v3.11.x'.

You are currently cherry-picking commit 3a3ff308aa.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   deps/rabbit/apps/rabbitmq_prelaunch/BUILD.bazel
	modified:   deps/rabbit/src/rabbit_channel.erl
	modified:   deps/rabbit/src/rabbit_guid.erl
	modified:   deps/rabbit/src/rabbit_router.erl
	modified:   deps/rabbit/src/vhost.erl
	modified:   deps/rabbit_common/BUILD.bazel
	modified:   deps/rabbit_common/src/rabbit_authz_backend.erl
	modified:   deps/rabbit_common/src/rabbit_binary_generator.erl
	modified:   deps/rabbit_common/src/rabbit_core_metrics.erl
	renamed:    deps/rabbit/src/rabbit_framing.erl -> deps/rabbit_common/src/rabbit_framing.erl
	modified:   deps/rabbit_common/src/rabbit_net.erl
	modified:   deps/rabbit_common/src/rabbit_types.erl
	modified:   deps/rabbit_common/src/rabbit_writer.erl
	modified:   deps/rabbitmq_amqp1_0/BUILD.bazel
	modified:   deps/rabbitmq_auth_mechanism_ssl/BUILD.bazel
	modified:   deps/rabbitmq_aws/BUILD.bazel
	modified:   deps/rabbitmq_cli/BUILD.bazel
	modified:   deps/rabbitmq_peer_discovery_etcd/BUILD.bazel
	modified:   deps/rabbitmq_stream_common/BUILD.bazel
	modified:   deps/rabbitmq_web_mqtt/BUILD.bazel
	modified:   rabbitmq.bzl

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   deps/rabbit/BUILD.bazel
	both modified:   deps/rabbit/src/rabbit_access_control.erl
	both modified:   deps/rabbit/src/rabbit_exchange.erl
	both modified:   deps/rabbit_common/src/rabbit_misc.erl
	both modified:   deps/rabbitmq_consistent_hash_exchange/BUILD.bazel
	both modified:   deps/rabbitmq_mqtt/BUILD.bazel

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally


Mergify commands and options

More conditions and actions can be found in the documentation.

You can also trigger Mergify actions by commenting on this pull request:

  • @Mergifyio refresh will re-evaluate the rules
  • @Mergifyio rebase will rebase this PR on its base branch
  • @Mergifyio update will merge the base branch into this PR
  • @Mergifyio backport <destination> will backport this PR on <destination> branch

Additionally, on Mergify dashboard you can:

  • look at your merge queues
  • generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com

This is the latest commit in the series, it fixes (almost) all the
problems with missing and circular dependencies for typing.

The only 2 unsolved problems are:

- `lg` dependency for `rabbit` - the problem is that it's the only
  dependency that contains NIF. And there is no way to make dialyzer
  ignore it - looks like unknown check is not suppressable by dialyzer
  directives. In the future making `lg` a proper dependency can be a
  good thing anyway.

- some missing elixir function in `rabbitmq_cli` (CSV, JSON and
  logging related).

- `eetcd` dependency for `rabbitmq_peer_discovery_etcd` - this one
  uses sub-directories in `src/`, which confuses dialyzer (or our bazel
  machinery is not able to properly handle it). I've tried the latest
  rules_erlang which flattens directory for .beam files, but it wasn't
  enough for dialyzer - it wasn't able to find core erlang files. This
  is a niche plugin and an unusual dependency, so probably not worth
  investigating further.

(cherry picked from commit 949b535)
(cherry picked from commit 3a3ff30)

# Conflicts:
#	deps/rabbit/BUILD.bazel
#	deps/rabbit/src/rabbit_access_control.erl
#	deps/rabbit/src/rabbit_exchange.erl
#	deps/rabbit_common/src/rabbit_misc.erl
#	deps/rabbitmq_consistent_hash_exchange/BUILD.bazel
#	deps/rabbitmq_mqtt/BUILD.bazel
Leaving MQTT alone, as this branch does not contain
#5895, which fixed a
great many dialyzer warnings.
@HoloRin
Copy link
Contributor

HoloRin commented Feb 17, 2023

Since v3.11.x doesn't contain #5895, I've left warnings_as_errors = False for the MQTT plugin. Fixing those warnings for v3.11.x/v3.10.x may not be something we really care to do, or could come as a separate PR.

@HoloRin HoloRin merged commit fd75061 into v3.11.x Feb 17, 2023
@mergify mergify bot deleted the mergify/bp/v3.11.x/pr-7291 branch February 17, 2023 11:25
HoloRin added a commit that referenced this pull request Feb 17, 2023
… (backport #7295) (#7349)

* Fix all dependencies for the dialyzer

This is the latest commit in the series, it fixes (almost) all the
problems with missing and circular dependencies for typing.

The only 2 unsolved problems are:

- `lg` dependency for `rabbit` - the problem is that it's the only
  dependency that contains NIF. And there is no way to make dialyzer
  ignore it - looks like unknown check is not suppressable by dialyzer
  directives. In the future making `lg` a proper dependency can be a
  good thing anyway.

- some missing elixir function in `rabbitmq_cli` (CSV, JSON and
  logging related).

- `eetcd` dependency for `rabbitmq_peer_discovery_etcd` - this one
  uses sub-directories in `src/`, which confuses dialyzer (or our bazel
  machinery is not able to properly handle it). I've tried the latest
  rules_erlang which flattens directory for .beam files, but it wasn't
  enough for dialyzer - it wasn't able to find core erlang files. This
  is a niche plugin and an unusual dependency, so probably not worth
  investigating further.

(cherry picked from commit 949b535)
(cherry picked from commit 3a3ff30)

# Conflicts:
#	deps/rabbit/BUILD.bazel
#	deps/rabbit/src/rabbit_access_control.erl
#	deps/rabbit/src/rabbit_exchange.erl
#	deps/rabbit_common/src/rabbit_misc.erl
#	deps/rabbitmq_consistent_hash_exchange/BUILD.bazel
#	deps/rabbitmq_mqtt/BUILD.bazel
(cherry picked from commit 2ae27f2)

# Conflicts:
#	deps/rabbit_common/src/rabbit_misc.erl

* Resolve conflicts

(cherry picked from commit b205ac9)

# Conflicts:
#	deps/rabbit_common/src/rabbit_misc.erl

* Avoid using a type from rabbit in rabbit_common to avoid a dep cycle

(cherry picked from commit bca40c6)

* Resolved additional errors from merge

Leaving MQTT alone, as this branch does not contain
#5895, which fixed a
great many dialyzer warnings.

(cherry picked from commit 3f9e6f9)

* fixup merge artifacts

* Avoid referencing unexported types from jsx

* Additional dialyzer fixes

---------

Co-authored-by: Alexey Lebedeff <[email protected]>
Co-authored-by: Michael Klishin <[email protected]>
Co-authored-by: Rin Kuryloski <[email protected]>
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.

4 participants