Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ jobs:
SOLR_WRAPPER_SOLR_VERSION: ${{ matrix.solr_version }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '21'
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
Expand Down
2 changes: 1 addition & 1 deletion lib/solr_wrapper/checksum_validator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def checksumfile(alg)

def algorithm
return config.static_config.algorithm if config.static_config.algorithm
return 'sha1' if config.static_config.version =~ /^[1-6]/ || config.static_config.version =~ /^[7]\.[0-4]/
return 'sha1' if config.static_config.version =~ /^[1-6]\./ || config.static_config.version =~ /^[7]\.[0-4]/

'sha512'
end
Expand Down
20 changes: 15 additions & 5 deletions lib/solr_wrapper/client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,26 @@ def exists?(core_or_collection_name)
private

def collection?(name)
response = Faraday.get("#{url}admin/collections?action=LIST&wt=json")
data = JSON.parse(response.body)
return if data['error'] && data['error']['msg'] == 'Solr instance is not running in SolrCloud mode.'
response = http.get("/v2/collections")

if response.success?
JSON.parse(response.body)['collections'].include? name
else
response = http.get("/solr/admin/collections?action=LIST&wt=json")
data = JSON.parse(response.body)
return if data['error'] && data['error']['msg'] == 'Solr instance is not running in SolrCloud mode.'
data['collections'].include? name
end

data['collections'].include? name
end

def core?(name)
response = Faraday.get("#{url}admin/cores?action=STATUS&wt=json&core=#{name}")
response = http.get("/solr/admin/cores?action=STATUS&wt=json&core=#{name}")
!JSON.parse(response.body)['status'][name].empty?
end

def http
@http ||= Faraday.new(url)
end
end
end
4 changes: 2 additions & 2 deletions lib/solr_wrapper/configuration.rb
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ def version
end

def mirror_artifact_path
if version > '9'
if version > '9' || version.start_with?(/1\d/)
"solr/solr/#{version}/solr-#{version}.tgz"
else
"lucene/solr/#{version}/solr-#{version}.tgz"
Expand All @@ -118,7 +118,7 @@ def mirror_url
else
begin
client = Faraday.new(closest_mirror_url) do |faraday|
faraday.use Faraday::FollowRedirects::Middleware
faraday.response :follow_redirects
faraday.adapter Faraday.default_adapter
end

Expand Down
2 changes: 1 addition & 1 deletion lib/solr_wrapper/downloader.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ def self.fetch_with_progressbar(url, output)
pbar = SafeProgressBar.new(title: File.basename(url), total: nil, format: '%t: |%B| %p%% (%e )')

client = Faraday.new(url) do |faraday|
faraday.use Faraday::FollowRedirects::Middleware
faraday.response :follow_redirects
faraday.adapter Faraday.default_adapter
end

Expand Down
4 changes: 2 additions & 2 deletions lib/solr_wrapper/instance.rb
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ def wrap(&_block)
def start
extract_and_configure
if managed?
exec('start', p: port, c: config.cloud)
exec('start', p: port, **(extracted_version.start_with?(/1\d/) ? {} : { c: config.cloud }))

@started = true

Expand All @@ -98,7 +98,7 @@ def stop
# Stop Solr and wait for it to finish exiting
def restart
if managed? && started?
exec('restart', p: port, c: config.cloud)
exec('restart', p: port, **(extracted_version.start_with?(/1\d/) ? {} : { c: config.cloud }))
end
end

Expand Down
3 changes: 1 addition & 2 deletions solr_wrapper.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]

spec.add_dependency "faraday", ">= 1.0", "< 3"
spec.add_dependency "faraday", '~> 2.0'
spec.add_dependency "faraday-follow_redirects"
spec.add_dependency "minitar"
spec.add_dependency "ruby-progressbar"
Expand All @@ -29,6 +29,5 @@ Gem::Specification.new do |spec|
spec.add_development_dependency "rake", ">= 12.2", "< 14"

spec.add_development_dependency "rspec"
spec.add_development_dependency "simple_solr_client", "= 0.2.0" # 0.2.1 removed support for schema retrieval
spec.add_development_dependency "webmock"
end
Loading
Loading