Skip to content

Conversation

@shawnregan
Copy link

karmi and others added 30 commits October 12, 2016 16:02
When both `version` and `features` have been specified in the `skip`
section, the former took precedence and the latter was never evaluated.
This check verifies that the YAML has correct indentation, because
frequently, the YAML test configurations are incorrectly indented, like this:

    - skip:
      version: " - 5.0.0"
      reason:  The full_id setting was rejected in 5.0.0 see #21266

Related: elastic/elasticsearch#21980
This patch is needed to accept the `ignore` parameter for all APIs,
which is then used in transport to ignore specific responses.

Related: 6ae36e4
…option in the documentation

Both the readme and the class level docs refer to what I assume is the
old name of the option to configure the number of nodes in the test
cluster. This change addresses the need.

Closes elastic#366
During determining version, the started JVM process could stay around.

This patch adds an `ensure` clause to make sure we kill it.

Closes elastic#342
Closes elastic#374
This fixes failures introduced in 937f6f5.

Related elastic#374
…mfile

Bundler will automatically add the current directory as the source of dependency --
the extra specification caused it to exit with error during installation.

Also cleaned up `File.exists?` -> `File.exist?`

Closes elastic#376
…luster class

Since Elasticsearch 5.x and higher no longer includes the cluster name as the top
level directory in the data directory layout, the `__remove_cluster_data` method
no longer worked. When the calling user code did not remove indices manually,
the nodes didn't start, because the cluster was not in a "green" state.

Closes elastic#371
When using the `Test::Cluster` extension on a system where Elasticsearch
was installed from a package (eg. Ubuntu with `apt`), the launch script
is not placed on the global path, and the extension cannot correctly
determine the version or start the Elasticsearch process.

In this case, the easiest solution is to download Elasticsearch from
as `.tar.gz`, extract it, and pass the path to the `bin/elasticsearch`
script as the `:command` argument.

Related: elastic#335
In ES 5.x, filtered queries have been removed completely - a `filter` exists to be applied inside a query.

The DSL already partly supports that -- but there is an error as just the last of multiple filters is considered. This patch fixes that.

Related: elastic#309

Closes elastic#367
Closes elastic#368
Making ruby 2.4.0 Happy!

Fixnum has been deprecated and is being replaced by Integer going forward.

Closes elastic#382
karmi and others added 30 commits April 7, 2017 11:53
When password has special characters that are not supported in the URL, then InvalidURIError is raised. Fixed the full_url method in Connection.rb to URL encode the password and username. Also added a unit test for the same

Closes elastic#422
Elasticsearch 5.x now has match_phrase and match_phrase_prefix queries that are not currently available in the DSL.

Closes elastic#441
Closes elastic#448
Type flag is no longer supported in 5.x

Related: elastic#441, elastic#448
Add `terminate_after` parameter to the Count action to be able to specify
the maximum count for each shard, upon reaching which the query execution
will terminate early.

Also update the link to Elasic Count API guide.

Closes elastic#442

Related: elastic/elasticsearch#26895
Since "Add correct Content-Length on HEAD requests"
(elastic/elasticsearch#21123), Elasticsearch correctly returns a non
zero Content-Length header. Unfortunately that uncovered a bug in the
Curb transport driver.

HEAD responses are special, they return a non zero Content-Length header
but send no body at all. libcurl by default expects to read
`Content-Length` bytes which are never sent. This causes libcurl to
block until the timeout is reached.

Since we use the low-level `http()` curb interface we have to explicitly
set `CURLOPT_NOBODY` before the request.

Closes elastic#433
…the test cluster

In many instances of the tests, the left-over argument `:nodes` has been used, instead
of the new `:number_of_nodes`, introduced in 4e6e6d2.

Related: 4e6e6d2

Closes elastic#425
In order to prevent hard-to-debug errors such as,

    client = Elasticsearch::Client.new(url: 'http://localhost:9200/', log: true);
    client.cluster.health
    2017-11-20 16:04:31 +0100: GET http://localhost:9200//_cluster/health [status:404, request:0.012s, query:N/A]
    2017-11-20 16:04:31 +0100: < {"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index", ...

the trailing slash is removed from the URL passed to client.

Related: elastic#411, elastic#278, elastic#288

Closes elastic#471
…e for current percolator

The "Percolate" API has been deprecated in Elasticsearch 5.0, yet it remained in the Ruby API.

This patch marks it as deprecated, updates the inline documentation for better visibility,
and adds a standalone Ruby example in the `examples/` folder.

Closes elastic#429

(cherry picked from commit 331b796)
…__report_unsupported_method` use `Kernel.warn` so they can be suppressed

Closes elastic#399

(cherry picked from commit 698065a)
Add the optional parameter `:slices` to Elasticsearch::API::Actions#reindex.

In ES 5.1+ reindex supports [Automatic Slicing](https://www.elastic.co/guide/en/elasticsearch/reference/5.1/docs-reindex.html#docs-reindex-automatic-slice) which allows users to parallelize reindexing requests.

Closes elastic#500

(cherry picked from commit 84fb730)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.