Warning message "Top level ::CompositeIO is deprecated, require 'multipart/post' and use `Multipart::Post::CompositeReadIO` instead!" during the upgrade 15.0.2 -> 15.2.2. Will this cause problems or can we ignore this message?

Warning message “Top level ::CompositeIO is deprecated, require ‘multipart/post’ and use 'Multipart::Post::CompositeReadIO' instead!” during the upgrade 15.0.2 → 15.2.2.

Will this cause problems or can we ignore this message?

(Install log.)

Installing cookbook gem dependencies:
Compiling cookbooks…
Top level ::CompositeIO is deprecated, require ‘multipart/post’ and use Multipart::Post::CompositeReadIO instead!
Top level ::Parts is deprecated, require ‘multipart/post’ and use Multipart::Post::Parts instead!

(Larger snippet of the install log.)

[2022-08-22T17:31:01-06:00] INFO: Starting Chef Infra Client Run for gitlabv-local-myVirtualBox
[2022-08-22T17:31:01-06:00] INFO: Running start handlers
[2022-08-22T17:31:01-06:00] INFO: Start handlers complete.
Resolving cookbooks for run list: [“gitlab”]
[2022-08-22T17:31:02-06:00] INFO: Loading cookbooks [gitlab@0.0.1, package@0.1.0, logrotate@0.1.0, postgresql@0.1.0, redis@0.1.0, monitoring@0.1.0, registry@0.1.0, mattermost@0.1.0, consul@0.1.0, gitaly@0.1.0, praefect@0.1.0, gitlab-kas@0.1.0, gitlab-pages@0.1.0, letsencrypt@0.1.0, nginx@0.1.0, runit@5.1.3, acme@4.1.5, crond@0.1.0]
Synchronizing cookbooks:

  • package (0.1.0)
  • logrotate (0.1.0)
  • postgresql (0.1.0)
  • redis (0.1.0)
  • registry (0.1.0)
  • gitlab (0.0.1)
  • praefect (0.1.0)
  • gitlab-kas (0.1.0)
  • gitlab-pages (0.1.0)
  • letsencrypt (0.1.0)
  • nginx (0.1.0)
  • runit (5.1.3)
  • acme (4.1.5)
  • crond (0.1.0)
  • mattermost (0.1.0)
  • consul (0.1.0)
  • gitaly (0.1.0)
  • monitoring (0.1.0)
    Installing cookbook gem dependencies:
    Compiling cookbooks…
    Top level ::CompositeIO is deprecated, require ‘multipart/post’ and use Multipart::Post::CompositeReadIO instead!
    Top level ::Parts is deprecated, require ‘multipart/post’ and use Multipart::Post::Parts instead!
    Loading Cinc Auditor profile files:
    Loading Cinc Auditor input files:
    Loading Cinc Auditor waiver files:
    Recipe: gitlab::default
  • directory[/etc/gitlab] action create (up to date)
    [2022-08-22T17:31:05-06:00] WARN: Selected systemd because /run/systemd/system/ exists
    /opt/gitlab/embedded/lib/ruby/gems/2.7.0/gems/ohai-17.9.0/lib/ohai/plugins/rpm.rb:25: warning: already initialized constant MACROS_MARKER
    /opt/gitlab/embedded/lib/ruby/gems/2.7.0/gems/ohai-17.9.0/lib/ohai/plugins/rpm.rb:25: warning: previous definition of MACROS_MARKER was here
    /opt/gitlab/embedded/lib/ruby/gems/2.7.0/gems/ohai-17.9.0/lib/ohai/plugins/rpm.rb:27: warning: already initialized constant DO_NOT_SPLIT
    /opt/gitlab/embedded/lib/ruby/gems/2.7.0/gems/ohai-17.9.0/lib/ohai/plugins/rpm.rb:27: warning: previous definition of DO_NOT_SPLIT was here
    Converging 306 resources
  • directory[/etc/gitlab] action create (up to date)
  • directory[Create /var/opt/gitlab] action create (up to date)
  • directory[Create /var/log/gitlab] action create (up to date)
  • directory[/opt/gitlab/embedded/etc] action create (up to date)
  • template[/opt/gitlab/embedded/etc/gitconfig] action create (up to date)

UPDATE:

TLDR; this error is most commonly caused by faraday-multipart dependency on multipart-post. faraday-multipart has released a fix for this - simply upgrading the gem to 1.0.4 or newer should resolve this issue.

================

Further digging, I found the offending piece of code:

multipart-post/lib/composite_io.rb:

warn "Top level ::CompositeIO is deprecated, require 'multipart/post' and use `Multipart::Post::CompositeReadIO` instead!"

Which is being used by:

Gemfile.lock:

    faraday (1.10.0)
      faraday-em_http (~> 1.0)
      faraday-em_synchrony (~> 1.0)
      faraday-excon (~> 1.1)
      faraday-httpclient (~> 1.0)
      faraday-multipart (~> 1.0)
    ...
    faraday-multipart (1.0.3)
      multipart-post (>= 1.2, < 3)

Which leads me to this issue: Use new multipart-post 2.2.0 release · Issue #5 · lostisland/faraday-multipart · GitHub

Bottom line answer - there is a fix for this which should be merged and released in a few days. bundle update again and this should go away when faraday libraries are updated.