[ 
https://issues.apache.org/jira/browse/DRILL-5006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Rogers updated DRILL-5006:
-------------------------------
    Description: 
Using a pipe-separated file 388 MB in size, do a SELECT * on the file (also 
added an ORDER BY). This produces a huge result set. Do this query in the web 
UI. A number of things happen:

* Using top, we see that Drill grinds on the query for a while, as expected.
* Top shows Drill to stop consuming CPU. The web UI does nothing during this 
time. This time lasts several minutes.
* Drill eventually shows the first 30 rows of the query.
* The browser "spins" forever waiting for the server to finish sending data.
* The Safari browser enters the "spinning beachball" state on that page because 
of memory use, waiting for data, etc.

Actually, it seems that the server is busily returning zillions of empty lines 
in the HTML. Scrolling down past the first 30 rows shows miles of empty white 
space.

Fetching of data seems to never complete, even after many minutes.

It is known that the web UI is limited. But, it should not be possible to 
overwhelm it with an errant query. Possible solutions:

1. Spill large results to disk, then page them in the display. Discard them 
after the web session ends, after some amount of time, etc. (This is that 
long-term, but hard solution.)
2. Read the first 30 (or whatever results) and display them. Read and discard 
all other results to keep the browser (or web server or whatever is hanging) 
from becoming overloaded.

  was:
Using a pipe-separated file 388 MB in size, do a SELECT * on the file (also 
added an ORDER BY). This produces a huge result set. Do this query in the web 
UI. A number of things happen:

* Using top, we see that Drill grinds on the query for a while, as expected.
* Top shows Drill to stop consuming CPU. The web UI does nothing during this 
time. This time lasts several minutes.
* Drill eventually shows the first 30 rows of the query.
* The browser "spins" forever waiting for the server to finish sending data.
* The Safari browser enters the "spinning beachball" state on that page because 
of memory use, waiting for data, etc.

Fetching of data seems to never complete, even after many minutes.

It is known that the web UI is limited. But, it should not be possible to 
overwhelm it with an errant query. Possible solutions:

1. Spill large results to disk, then page them in the display. Discard them 
after the web session ends, after some amount of time, etc. (This is that 
long-term, but hard solution.)
2. Read the first 30 (or whatever results) and display them. Read and discard 
all other results to keep the browser (or web server or whatever is hanging) 
from becoming overloaded.


> Drill web UI hangs if execute a query with a large result set
> -------------------------------------------------------------
>
>                 Key: DRILL-5006
>                 URL: https://issues.apache.org/jira/browse/DRILL-5006
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.8.0
>            Reporter: Paul Rogers
>            Priority: Minor
>
> Using a pipe-separated file 388 MB in size, do a SELECT * on the file (also 
> added an ORDER BY). This produces a huge result set. Do this query in the web 
> UI. A number of things happen:
> * Using top, we see that Drill grinds on the query for a while, as expected.
> * Top shows Drill to stop consuming CPU. The web UI does nothing during this 
> time. This time lasts several minutes.
> * Drill eventually shows the first 30 rows of the query.
> * The browser "spins" forever waiting for the server to finish sending data.
> * The Safari browser enters the "spinning beachball" state on that page 
> because of memory use, waiting for data, etc.
> Actually, it seems that the server is busily returning zillions of empty 
> lines in the HTML. Scrolling down past the first 30 rows shows miles of empty 
> white space.
> Fetching of data seems to never complete, even after many minutes.
> It is known that the web UI is limited. But, it should not be possible to 
> overwhelm it with an errant query. Possible solutions:
> 1. Spill large results to disk, then page them in the display. Discard them 
> after the web session ends, after some amount of time, etc. (This is that 
> long-term, but hard solution.)
> 2. Read the first 30 (or whatever results) and display them. Read and discard 
> all other results to keep the browser (or web server or whatever is hanging) 
> from becoming overloaded.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to