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

Database unresponsive after DROP MEASUREMENT #6819

Closed
lpalm opened this issue Jun 10, 2016 · 2 comments
Closed

Database unresponsive after DROP MEASUREMENT #6819

lpalm opened this issue Jun 10, 2016 · 2 comments
Assignees
Milestone

Comments

@lpalm
Copy link

lpalm commented Jun 10, 2016

Bug report

System info: Fedora release 22, InfluxDB version 0.13.0

Steps to reproduce:

  1. Drop a measurement via HTTP
  2. Try to write to the database before the DROP MEASUREMENT call returns

Expected behavior: The measurement gets deleted. Everything continues working.

Actual behavior: The HTTP request to delete the measurement often times out after 300 seconds. The entire database is unresponsive while deleting measurements.

We have a use case where measurements need to be periodically deleted. I understand this is not what InfluxDB is optimized for, but cleaning up data and updating measurements is both a legitimate use case and one that is listed in the public API (so presumably supported). How can I delete a measurement completely without rendering the database inoperable for several minutes? We can insert upwards of 100k points/second so not being able to insert for prolonged periods of time can cause significant, contiguous chunks of data to be lost.
The timing of the deletion here isn't super important, we're happy to do it over many hours if need be as long as the database doesn't stop responding to writes for several minutes at a time.

Thanks.

@e-dard
Copy link
Contributor

e-dard commented Jun 20, 2016

@lpalm thanks for the report. Some profiles would be useful during the 300 seconds when you're waiting on deleting a measurement and trying to write points. Could you provide blocking and goroutine profiles?

A simple way to do that is, drop the measurement, try and do some writes, and while everything seems tied up, run:

curl -o block.txt "http://localhost:8086/debug/pprof/block?debug=1"
curl -o goroutine.txt "http://localhost:8086/debug/pprof/goroutine?debug=1"

@lpalm
Copy link
Author

lpalm commented Jun 20, 2016

Sure, @e-dard . Here you go. I took two batches in case that's more helpful. Attached.
block_and_goroutine.zip

@jwilder jwilder added this to the 1.0.0 milestone Jun 22, 2016
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

3 participants