diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2018-11-16 11:49:40 +0000 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2018-11-16 11:49:40 +0000 |
commit | 348dd42d797bafe2ffb64a2ed224c106726ea938 (patch) | |
tree | 755f98c42dc7d3bc6b1498e46cd6df9ceaa230d7 | |
parent | 875bae16d0d3c1f026d658ab430878a73e3ac438 (diff) | |
parent | 198f2a0b6149a2e7c069ad3aaad6ced9f5bb3ea1 (diff) | |
download | gitlab-ce-348dd42d797bafe2ffb64a2ed224c106726ea938.tar.gz |
Merge branch 'sh-use-nokogiri-xml-backend' into 'master'
Use Nokogiri as the ActiveSupport XML backend
Closes #54068
See merge request gitlab-org/gitlab-ce!23136
-rw-r--r-- | changelogs/unreleased/sh-use-nokogiri-xml-backend.yml | 5 | ||||
-rw-r--r-- | config/application.rb | 3 | ||||
-rw-r--r-- | lib/gitlab/ci/parsers/test/junit.rb | 2 | ||||
-rw-r--r-- | spec/fast_spec_helper.rb | 1 |
4 files changed, 10 insertions, 1 deletions
diff --git a/changelogs/unreleased/sh-use-nokogiri-xml-backend.yml b/changelogs/unreleased/sh-use-nokogiri-xml-backend.yml new file mode 100644 index 00000000000..6a82e32c416 --- /dev/null +++ b/changelogs/unreleased/sh-use-nokogiri-xml-backend.yml @@ -0,0 +1,5 @@ +--- +title: Use Nokogiri as the ActiveSupport XML backend +merge_request: 23136 +author: +type: performance diff --git a/config/application.rb b/config/application.rb index 1b084e91cfb..921baa5d617 100644 --- a/config/application.rb +++ b/config/application.rb @@ -158,6 +158,9 @@ module Gitlab config.action_view.sanitized_allowed_protocols = %w(smb) + # Nokogiri is significantly faster and uses less memory than REXML + ActiveSupport::XmlMini.backend = 'Nokogiri' + # This middleware needs to precede ActiveRecord::QueryCache and other middlewares that # connect to the database. config.middleware.insert_after Rails::Rack::Logger, ::Gitlab::Middleware::BasicHealthCheck diff --git a/lib/gitlab/ci/parsers/test/junit.rb b/lib/gitlab/ci/parsers/test/junit.rb index ed5a79d9b9b..2791730fd26 100644 --- a/lib/gitlab/ci/parsers/test/junit.rb +++ b/lib/gitlab/ci/parsers/test/junit.rb @@ -14,7 +14,7 @@ module Gitlab test_case = create_test_case(test_case) test_suite.add_test_case(test_case) end - rescue REXML::ParseException + rescue Nokogiri::XML::SyntaxError raise JunitParserError, "XML parsing failed" rescue raise JunitParserError, "JUnit parsing failed" diff --git a/spec/fast_spec_helper.rb b/spec/fast_spec_helper.rb index fe475e1f7a0..0b5ab16ad71 100644 --- a/spec/fast_spec_helper.rb +++ b/spec/fast_spec_helper.rb @@ -9,3 +9,4 @@ require 'active_support/all' ActiveSupport::Dependencies.autoload_paths << 'lib' ActiveSupport::Dependencies.autoload_paths << 'ee/lib' +ActiveSupport::XmlMini.backend = 'Nokogiri' |