Opened 11 years ago

Closed 11 years ago

#3655 closed Bug (duplicate)

built-in web browser blocks requests when moving files between different file systems

Reported by: mactijn Owned by:
Priority: Normal Milestone: None Set
Component: Daemon Version: 2.10
Severity: Normal Keywords:
Cc:

Description

The built-in webserver blocks requests when moving a file between different file systems. This leads to a connection timeout for RPC requests.

Situation

  • OS: Debian GNU/Linux "Squeeze" (testing) on armv5tel
  • {config::incomplete-dir-enabled}: true
  • {config::incomplete-dir}: (set to dir on disk A, a local disk)
  • {config::download-dir}: (set to dir on disk B, an SMB mount from a NAS)

Current behavior

  • a torrented set of large files is done downloading to {config::incomplete-dir}
  • the downloaded data is moved to {config::download-dir}
  • for the duration of this move, the built-in web server blocks (and buffers?) all HTTP requests

Expected behavior

  • a torrented set of large files is done downloading to {config::incomplete-dir}
  • the downloaded data is moved to {config::download-dir}
  • the built-in web server keeps responding

Notes

  • I did not browse the code, I am not a developer. However, I suspect these actions are performed in the same thread, and are therefor blocking. But this might just be bogustalk.
  • I suggest separating the web process entirely, and implement it as an optional, single-use web server, communicating with the transmission-daemon process via SCGI or a UNIX socket so that advanced users might disable it and replace it with nginx, lighttpd or apache + custom voodoo (adding more advanced customization)

Change History (3)

comment:1 Changed 11 years ago by mactijn

not verified on 2.11 yet

comment:2 Changed 11 years ago by mactijn

  • Component changed from Transmission to Daemon

comment:3 Changed 11 years ago by charles

  • Resolution set to duplicate
  • Status changed from new to closed

This is because RPC requests and the move-data work are done in the same thread.

Marking this as a duplicate of #1753

Note: See TracTickets for help on using tickets.