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

Changefeed won't start via Web UI with .limit(...) in query (2.1.4, OS X) #4852

Closed
dalanmiller opened this issue Sep 17, 2015 · 15 comments
Closed
Assignees
Milestone

Comments

@dalanmiller
Copy link
Contributor

This query will run:

`r.db("test").table("players").orderBy({index:r.desc("score")}).changes()`

However, this query will return the correct results but the changefeed won't start:

`r.db("test").table("players").orderBy({index:r.desc("score")}).limit(100).changes()`

Here is a video example of this happening

@danielmewes
Copy link
Member

That's weird. Could be related to #4850 as well.

@danielmewes danielmewes added this to the 2.1.x milestone Sep 17, 2015
@dalanmiller
Copy link
Contributor Author

Originally, I did this on Chrome but this also occurs on Safari. I don't think it's a browser issue.

@coffeemug
Copy link
Contributor

Is this reproducible in the drivers or is it purely a webui issue?

@dalanmiller
Copy link
Contributor Author

@coffeemug - Ran same query via Python driver and it's working as expected.

Ran into another issue where I ran the query, and it acts as if it never sets up the changefeed although the initial result is returned?

I see that without running any query that it is doing some sort of heartbeat to the server for I assume information on the different nodes currently connected in the cluster. But after running the query, it pings one constantly as seen here (for you @deontologician):

for_josh

@deontologician
Copy link
Contributor

Thank you 💯

@danielmewes
Copy link
Member

I think we should re-test this once #4850 is fixed, because it might be a side effect of that bug.
If this still persists, we have to look into it more.

The HTTP interface that the web UI is using uses a 500ms timeout for each cursor CONTINUE request, which is what those "heartbeats" are coming from.

@dalanmiller
Copy link
Contributor Author

Although it's working fine in the driver, I think this is pretty important considering we give this exact example in our docs and slides.

https://rethinkdb.com/api/python/changes/

@coffeemug
Copy link
Contributor

It's definitely very important to fix asap; we do things like demos of this all the time, it's a flagship feature of the product, and should definitely work.

BTW, can you reproduce it if the limit is smaller (e.g. 5 or 10 docs)?

@dalanmiller
Copy link
Contributor Author

@coffeemug - so interestingly if I run:

r.db("test").table("players").orderBy({index: "score"}).limit(40).changes()

It just halts with initial response and looks like this:

screenshot 2015-09-17 15 13 43

However, if I reduce the limit by one to 39, as in:

r.db("test").table("players").orderBy({index: "score"}).limit(39).changes()

Then it appears like the gif I posted above with the spinning icon. Here's a video for your entertainment and assistance 😮!

@deontologician
Copy link
Contributor

It looks like subsequent batches are causing the issue, this may be related to adding profile information to http queries

@deontologician
Copy link
Contributor

Ok, this was really dumb. In order for the dataexplorer to detect we're dealing with a changefeed and use the right logic, it checks the cursor's toString() output. Specifically, it checks if it's "[object Feed]" or "[object AtomFeed]" and this happens to be a query that results in an "[object OrderByLimitFeed]"

@coffeemug
Copy link
Contributor

We should totally add a predicate in the drivers on cursors to check for this stuff. Like cursor.isFeed() or something.

@danielmewes
Copy link
Member

See�#4857 for adding explicit information on whether something is a feed or not.�

@coffeemug
Copy link
Contributor

Ah, cool!

deontologician pushed a commit that referenced this issue Sep 18, 2015
@deontologician
Copy link
Contributor

Fixed in f59feae

@danielmewes danielmewes modified the milestones: 2.1.x, 2.1.5 Oct 1, 2015
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

4 participants