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

vinyl: add quota timeout #2014

Closed
locker opened this issue Dec 28, 2016 · 2 comments
Closed

vinyl: add quota timeout #2014

locker opened this issue Dec 28, 2016 · 2 comments
Assignees
Labels
Milestone

Comments

@locker
Copy link
Member

locker commented Dec 28, 2016

Currently, when we run out of available quota, we throttle all pending write requests until we reclaim enough memory by dumping data stored in there to disk. As this may take quite a while or even get stuck due to write errors, we need to introduce a timeout after which throttled requests will be cancelled.

@locker locker added the vinyl label Dec 28, 2016
@locker locker self-assigned this Dec 28, 2016
@kostja kostja added this to the 1.7.5 milestone Jan 11, 2017
locker added a commit that referenced this issue Jan 17, 2017
There must be a reasonable timeout on quota wait time, otherwise we risk
throttling a client forever, e.g. in case of a disk error. This patch
introduces quota timeout. The timeout is configured via vinyl.timeout
configuration option and set to 60 seconds by default.

Closes #2014
locker added a commit that referenced this issue Jan 20, 2017
There must be a reasonable timeout on quota wait time, otherwise we risk
throttling a client forever, e.g. in case of a disk error. This patch
introduces quota timeout. The timeout is configured via vinyl.timeout
configuration option and set to 60 seconds by default.

Closes #2014
locker added a commit that referenced this issue Jan 20, 2017
There must be a reasonable timeout on quota wait time, otherwise we risk
throttling a client forever, e.g. in case of a disk error. This patch
introduces quota timeout. The timeout is configured via vinyl.timeout
configuration option and set to 60 seconds by default.

Closes #2014
@kostja kostja added the prio2 label Apr 17, 2017
@kostja kostja added prio1 and removed prio2 labels May 12, 2017
locker added a commit that referenced this issue May 15, 2017
There must be a reasonable timeout on quota wait time, otherwise we risk
throttling a client forever, e.g. in case of a disk error. This patch
introduces quota timeout. The timeout is configured via vinyl_timeout
configuration option and set to 60 seconds by default.

Closes #2014
locker added a commit that referenced this issue May 16, 2017
There must be a reasonable timeout on quota wait time, otherwise we risk
throttling a client forever, e.g. in case of a disk error. This patch
introduces quota timeout. The timeout is configured via vinyl_timeout
configuration option and set to 60 seconds by default.

Closes #2014
@rtsisyk
Copy link
Contributor

rtsisyk commented May 18, 2017

Pushed 70a610d

@rtsisyk rtsisyk closed this as completed May 18, 2017
@rtsisyk
Copy link
Contributor

rtsisyk commented May 18, 2017

vinyl/quota_timeout.test.lua                                    [ fail ]

Test failed! Result content mismatch:

--- vinyl/quota_timeout.result	Thu May 18 12:31:26 2017

+++ vinyl/quota_timeout.reject	Thu May 18 12:36:26 2017

@@ -40,7 +40,6 @@

 -- and dump is disabled, it should fail with ER_VY_QUOTA_TIMEOUT.

 _ = s:auto_increment{pad}

 ---

-- error: Timed out waiting for Vinyl memory quota

 ...
 box.info.vinyl().memory.used
 ---

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants