Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

flush_index hangs when no indices exist #19

Closed
clintongormley opened this issue Feb 16, 2010 · 2 comments
Closed

flush_index hangs when no indices exist #19

clintongormley opened this issue Feb 16, 2010 · 2 comments

Comments

@clintongormley
Copy link
Contributor

flush_index hangs when no indices exist, then eventually just closes the connection

@kimchy
Copy link
Member

kimchy commented Feb 16, 2010

Yep, its a bug. A fix is traveling on the intertubes as I type...

@kimchy
Copy link
Member

kimchy commented Feb 16, 2010

flush_index hangs when no indices exist, closed by 1299f20.

dadoonet added a commit that referenced this issue Jun 5, 2015
dadoonet added a commit that referenced this issue Jun 5, 2015
dadoonet added a commit that referenced this issue Jun 5, 2015
Related to #19.
dadoonet added a commit that referenced this issue Jun 5, 2015
Closes #19.
(cherry picked from commit 3fb429c)
dadoonet added a commit that referenced this issue Jun 5, 2015
 Installing Oracle JVM is as easy as:

 ```
 echo debconf shared/accepted-oracle-license-v1-1 select true | \
   sudo debconf-set-selections && echo debconf shared/accepted-oracle-license-v1-1 seen true | \
   sudo debconf-set-selections && sudo add-apt-repository ppa:webupd8team/java && sudo apt-get update && sudo apt-get install oracle-java7-installer
 ```

 See http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html

 Closes #19.
dadoonet added a commit that referenced this issue Jun 9, 2015
brwe added a commit that referenced this issue Jun 9, 2015
Calling a multi-statement score using curl e.g. `a=22; _score*a` is not possible with the current lang-python, nor is it possible to write a script using semicolons or multiple lines. I can only get compound statements (e.g. list comprehensions with embedded if statements) to work, so I'm limited in the complexity of my scoring process.

I'm using ES 1.3.2 and latest lang-python:
```
$ ls -la /usr/share/elasticsearch/plugins/lang-python/
-rw-r--r-- 1 root root    10482 Aug 27 17:20 elasticsearch-lang-python-2.3.0.jar
-rw-r--r-- 1 root root 14340135 Aug 27 17:20 jython-standalone-2.5.3.jar
```

Here's a worked example:

```
# Delete existing data, add 2 simple records, fetch both results to stdout
curl -XDELETE "http://localhost:9200/test"
curl -XPUT "http://localhost:9200/test/doc/1" -d '{
  "num": 1.0
}'
curl -XPUT "http://localhost:9200/test/doc/2?refresh" -d '{
  "num": 2.0
}'
# show our records
curl -XGET 'http://localhost:9200/test/_search' -d '{
   "query" : { "match_all": {}}
}'
```

We'll run a simple query that uses `num` as a score modifier:
```doc["num"].value * _score```

If I create `/etc/elasticsearch/scripts/py1.py`:
```
doc["num"].value * _score
```

and wait for the script to reload (by monitoring the logs), I can call:
```
$ curl -XGET "http://localhost:9200/test/_search?pretty" -d'
{
  "query": {
    "function_score": {
      "script_score": {
        "script": "py1",
        "lang": "python"
      }
    }
  }
}'
```
and this will calculate the results.

The same can be achieved using an in-line call (ignoring `py1.py`):
```
curl -XGET "http://localhost:9200/test/_search?pretty" -d'
{
  "query": {
    "function_score": {
      "script_score": {
        "script": "doc[\"num\"].value * _score",
        "lang": "python"
      }
    }
  }
}'
```

However using more than 1 statement will fail. This example uses `;` to split 2 statements (this is legal in jython 2.5):
```
curl -XGET "http://localhost:9200/test/_search?pretty" -d'
{
  "query": {
    "function_score": {
      "script_score": {
        "script": "a=42; doc[\"num\"].value * _score",
        "lang": "python"
      }
    }
  }
}'

      "reason" : "QueryPhaseExecutionException[[test][3]: query[function score (ConstantScore(*:*),function=script[a=42; doc[\"num\"].value * _score], params [null])],from[0],size[10]: Query Failed [Failed to execute main query]]; nested: NullPointerException; "
and the log message:
org.elasticsearch.search.query.QueryPhaseExecutionException: [test][3]: query[function score (ConstantScore(*:*),function=script[a=42; doc["num"].value * _score], params [null])],from[0],size[10]: Query Failed [Failed to execute main query]
	at org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:162)
	at org.elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:261)
	at org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:206)
	at org.elasticsearch.search.action.SearchServiceTransportAction$5.call(SearchServiceTransportAction.java:203)
	at org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
```

Creating a `py2.py` in the scripts directory containing:
```
a=42; doc["num"].value * _score
```
and calling
```
$ curl -XGET "http://localhost:9200/test/_search?pretty" -d'
{
  "query": {
    "function_score": {
      "script_score": {
        "script": "py2",
        "lang": "python"
      }
    }
  }
}'
has the same error:
      "reason" : "QueryPhaseExecutionException[[test][3]: query[function score (ConstantScore(*:*),function=script[py2], params [null])],from[0],size[10]: Query Failed [Failed to execute main query]]; nested: PyException; "
```

If a `py3.py` script is made with the same two statements split over two lines:
```
a=42
doc["num"].value * _score
```
then the same errors are thrown.

I'll note that if I experiment with equivalent groovy scripts then both the semicolon is allowed and multi-line scripts (in /scripts) are allowed.

Closes #19.

(cherry picked from commit 9fca562)
ywelsch added a commit to ywelsch/elasticsearch that referenced this issue Apr 24, 2018
…c#19)

Moves Legislator to point-to-point communication and RPC style.
ClaudioMFreitas pushed a commit to ClaudioMFreitas/elasticsearch-1 that referenced this issue Nov 12, 2019
Disable Sudo since we wont need it
henningandersen pushed a commit to henningandersen/elasticsearch that referenced this issue Jun 4, 2020
The Kibana link is pointing to an internally accessible Cluster, so
paste the hardware configuration instead in the README file and clarify
that the link is private.

Relates elastic#19
cbuescher pushed a commit to cbuescher/elasticsearch that referenced this issue Oct 2, 2023
With this commit we disable query benchmarking for the `pmc` track and
the `defaults` car because scroll queries take up a lot of time recently
and we don't show it in the graphs (because we use the results from the
`4gheap` car for that). This lets our nightly benchmark take up a lot of
time.

In parallel we will investigate why scroll is so slow recently and will
reenable query benchmarking again after we found out.

Relates elastic#19
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants