Opened 10 years ago

Closed 10 years ago

#9562 closed Bug Report (Fixed)

NFS disk usage display can hang frontend

Reported by: ajlill@… Owned by: danielk
Priority: minor Milestone: 0.25
Component: MythTV - General Version: 0.24-fixes
Severity: medium Keywords:
Cc: Ticket locked: no


Updating the disk free stats should be done asynchronously. I've got thousands of recordings across a dozen NFS mounted filesystems, and any theme with a disk free display is totally unusable.

Attachments (1)

p1 (1.2 KB) - added by ajlill@… 10 years ago.
remove misleading comments/code

Download all attachments as: .zip

Change History (6)

Changed 10 years ago by ajlill@…

Attachment: p1 added

remove misleading comments/code

comment:2 Changed 10 years ago by ajlill@…

You're right, it's already done asynchronously. It looks like the real culprit is a call to QUERY_SG_GETFILELIST[]:[]mbe[]:[]Videos[]:[][]:[]1 from GetArtwork??

Here's a patch to get rid of the misleading comments and useless code in playbackbox.cpp

comment:3 Changed 10 years ago by beirdo

Summary: disk usage display can hang frontendNFS disk usage display can hang frontend

Sounds like you have your NFS mounts hardmounted rather than softmounted?

comment:4 Changed 10 years ago by Raymond Wagner

Milestone: unknown0.25
Owner: set to danielk
Status: newassigned

comment:5 Changed 10 years ago by Raymond Wagner

Resolution: Fixed
Status: assignedclosed

This creates a runnable that updates the free space list on the master backend.

The problem with the existing code is that if any mount goes dead each frontend causes one more worker thread to queue up every 15 seconds. If you have 3 frontends 720 threads are started every hour the mount is down. This instead uses one runnable to update the total disk space every 15 seconds for use by all the frontends. If no frontend requests an updated disk space calculation for one minute the runnable shuts down.

Branch: master Changeset: 394c2e82c8723605d939b02a789f068aa8c62d44

Note: See TracTickets for help on using tickets.