File descriptors are left open by the filesystem store
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
glance_store |
Confirmed
|
Medium
|
Flavio Percoco |
Bug Description
From this m-l thread: http://
I believe what's happening is that the ChunkedFile code opens the file and
creates the iterator. Nova then starts iterating through the file.
If nova (or any other user of glance) iterates all the way through the file
then the ChunkedFile code will hit the "finally" clause in __iter__() and
close the file descriptor.
If nova starts iterating through the file and then stops (due to running out
of room, for example), the ChunkedFile.
file descriptor. At this point deleting the image will not actually free up
any space.
I'm not a glance guy so I could be wrong about the code. The
externally-visible data are:
1) glance-api is holding an open file descriptor to a deleted image file
2) If I kill glance-api the disk space is freed up.
3) If I modify nova to always finish iterating through the file the problem
doesn't occur in the first place.
Chris
Changed in glance: | |
importance: | Undecided → High |
assignee: | nobody → Flavio Percoco (flaper87) |
affects: | glance → glance-store |
Changed in glance-store: | |
status: | New → Invalid |
status: | Invalid → Confirmed |
importance: | High → Medium |
I wonder if:
https:/ /review. openstack. org/#/c/ 119132
would help here? ie if the client connection from nova stops pulling data it will eventually get torn down by the glance server -- hopefully releasing any fds the server has open for servicing that request.
Similarly, from the client side: /review. openstack. org/#/c/ 168673
https:/
Both of these are time-out rather than (better) state driven.