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

Timeout when making query while purging #4195

Open
aalegriadg opened this issue Oct 3, 2022 · 1 comment
Open

Timeout when making query while purging #4195

aalegriadg opened this issue Oct 3, 2022 · 1 comment

Comments

@aalegriadg
Copy link

I have tried to make a query during a purge of many documents from the database and I get the following timeout error:

Error running query. Reason: (timeout) The request could not be processed in a reasonable amount of time.

And the following couchdb log error:

[error] 2022-10-03T15:25:47.790110Z [email protected] <0.27022.0> aa85e646df fabric_worker_timeout map_view,'[email protected]',<<"shards/00000000-7fffffff/database.1664801850">>

It catches my attention since I am querying a partition whose documents are not included in the purge. That is, I am purging documents from partition2 and querying a view on partition1 using the get_partitioned_view_result method.

What is the cause of the error? Is it not possible to perform queries while documents are being purged? Is it due to couchdb configuration?

@nickva
Copy link
Contributor

nickva commented Oct 3, 2022

It's probably because the view shard is processing the purge requests and has to catch up. Processing a lot of purge requests is about same as the making a lot of db updates and waiting for the view to catch up.

Partition could be located on the same shard as the other partitions and views are built per-shard. So, if the shard hasn't caught up yet, it will block clients waiting the latest updates from the partitions on that shard. One way to handle it could be to split he shard range to hopefully isolate the partition to just one shard.

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

No branches or pull requests

2 participants