Opened 16 years ago
Closed 16 years ago
#8519 closed patch (fixed)
Write FileTransfers not properly closed, prevents shutdown of backend
| Reported by: | Owned by: | cpinkham | |
|---|---|---|---|
| Priority: | critical | Milestone: | 0.23-fixes |
| Component: | MythTV - General | Version: | Master Head |
| Severity: | medium | Keywords: | |
| Cc: | Ticket locked: | no |
Description
When using the metadata grabber in MythVideo, the FileTransfer sockets don't get closed properly and the backend never goes into idle mode.
The frontend opens RemoteFile connections to write the images to the storage group in the backend. This create FileTransfer objects in the backend that don't get properly cleaned up when the transfer finishes. When a new writemode FileTransfer object is created, the MythSocket callbacks are disabled, which I've been told on IRC was due to the reader thread. But that thread is what properly closes the sockets and removes them from the fileTransferList in the MainServer. When the socket isn't removed from the fileTransferList, the backend thinks it still has open sockets, and won't go into idle mode and shutdown properly. The attached patch reenables the callbacks when the backend receives the DONE command, which allows the reader thread to close the socket and remove it from the fileTransferList.
Attachments (1)
Change History (5)
by , 16 years ago
| Attachment: | close_write_filetransfer.patch added |
|---|
comment:1 by , 16 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:2 by , 16 years ago
| Milestone: | unknown → 0.23-fixes |
|---|---|
| Priority: | minor → critical |
| Version: | Unspecified → Trunk Head |
comment:3 by , 16 years ago
comment:4 by , 16 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
(In [25127]) Backport [24994] from trunk.
Disable only the ReadyRead callbacks for FileTransfer uploads. Previously, we disabled all callbacks which caused the upload socket to not be closed properly when the upload completed.
Closes #8519.
This bumps the binary API version since libmythdb is modified, so make clean, recompiled plugins, whatever you normally do in this case.

(In [24994]) Disable only the ReadyRead callbacks for FileTransfer uploads. Previously, we disabled all callbacks which caused the upload socket to not be closed properly when the upload completed.
References #8519. This solves the issue in the ticket, in a different way than the patch attached to the ticket.
After a few days, if there are no regressions, I'll commit this to -fixes as well and close the ticket.
This bumps the binary API version since libmythdb is modified, so make clean, recompiled plugins, whatever you normally do in this case.