safe stat writing

Discuss newly added features or request new features.
Post Reply
isarrider
Posts: 29
Joined: 11 May 2015, 12:20

safe stat writing

Post by isarrider » 05 Jul 2015, 21:04

Hallo hugbug,

question:

how are the stats written?
As my pc freezes quite often
(guess thats why they not shipping W10 yet),
I loose all the stats every time:

ERROR Sun Jul 05 2015 22:50:31 Error reading diskstate for file C:\Apps\nzbget\queue\stats
ERROR Sun Jul 05 2015 22:50:31 Error reading server info from disk

Maybe some form of safewriting coule be implemented?
(Write the stats alternating in file1 and file2 every minute)?

Thx,
Isarrider

hugbug
Developer & Admin
Posts: 7645
Joined: 09 Sep 2008, 11:58
Location: Germany

Re: safe stat writing

Post by hugbug » 05 Jul 2015, 21:17

isarrider wrote:Maybe some form of safewriting coule be implemented?
(Write the stats alternating in file1 and file2 every minute)?
That will not help. Normally OS doesn't save directly into disk. For performance the data is kept in memory caches. The programs don't know when the OS decides to flush buffers into disk. And this is good so, we want performance and the caching helps a lot.
If the system crashes the caches are gone, you never know which parts of files were flushed and which not.

Nonetheless, for critical data there are system functions to force flushing and I have a ticket for that feature in my todo-list - https://github.com/nzbget/nzbget/issues/28

isarrider
Posts: 29
Joined: 11 May 2015, 12:20

Re: safe stat writing

Post by isarrider » 31 Jul 2015, 07:46

quick question,

how often is the queue written when Flush Queue is on?
ANd only the Queue is written I guess or also history and stats?

Thx Hugbug...

Isarrider

hugbug
Developer & Admin
Posts: 7645
Joined: 09 Sep 2008, 11:58
Location: Germany

Re: safe stat writing

Post by hugbug » 31 Jul 2015, 09:03

There is no difference. The queue is saved after every change such as:
- a file inside nzb was downloaded (one rar-file);
- a new nzb was added to queue;
- items were rearranged, paused, unpaused or properties were changed (category, priority, etc).
The queue is saved regardless of option FlushQueue. The option instructs OS to flush buffers from memory into disk, immediately. Without option the OS will flush later at some unpredictable time point.

Post Reply

Who is online

Users browsing this forum: No registered users and 16 guests