Apparently things are worse than I originally thought and "recovery.js" isn't the only file involved. In case someone wants to replicate, here's what I did this morning. I reset browser.sessionstore.interval to 15000 and then got rid of all my currently open FF windows. Opened a single window with just Google running in it, left it sitting for a couple of minutes, and then closed it. Started the browser again and on this final restart the recovery.js file was only 5KB in size, down from around 900KB before.
Next, I opened a bunch of random reviews for Samsung 850 pro and Samsung Galaxy S7 in two separate windows. Literally just googled "samsung 850 pro review" and "samsung galaxy s7 review" and then went down the list of results opening them in new tabs. Opened a 3rd window and created a bunch of tabs showing front pages for various news sites.
Recovery.js at this point was at ~60KB.
Launched Process Monitor and configured it to track recovery.js and cookie* files:
Went to File->Capture Events and disabled it. Cleared all events that were currently showing up. Went back to File->Capture Events and re-enabled it. Left the three FF windows sitting idle for 45 minutes while I was using Chrome instead. Then I went to Tools->File Summary to get overall stats. Firefox managed to write 1.1GB to disk with the vast majority of data going into cookie* files.
Note that recovery.js managed to accumulate only about 1.3MB of writes.
Went back to one of the Firefox windows and opened my outlook.com mailbox. Cleared all events in Process Monitor and re-started the capture. Again, left all Firefox windows sitting idle, but only for ~10 minutes. This time recovery.js was at ~1.5MB and it took only about 1/4-th of the time to get there. Cookie* files had a ton of data written to them, as before.
So, looks like depending on what you've got open in your tabs, Firefox could be dumping tons of data into recovery.js, cookie* files, or both. Running at 1.1GB for every 45 minutes, you're looking at ~35GB/day written to your SSD if you leave your machine running. And at least in my case this wasn't even the worst example of how much data could be going into recovery.js. In my original tests I clocked Firefox at 2MB/s writing to this file and the writing thread never went dead always showing up on the top of the list in Resource Monitor.
Next, I opened a bunch of random reviews for Samsung 850 pro and Samsung Galaxy S7 in two separate windows. Literally just googled "samsung 850 pro review" and "samsung galaxy s7 review" and then went down the list of results opening them in new tabs. Opened a 3rd window and created a bunch of tabs showing front pages for various news sites.
Recovery.js at this point was at ~60KB.
Launched Process Monitor and configured it to track recovery.js and cookie* files:
Went to File->Capture Events and disabled it. Cleared all events that were currently showing up. Went back to File->Capture Events and re-enabled it. Left the three FF windows sitting idle for 45 minutes while I was using Chrome instead. Then I went to Tools->File Summary to get overall stats. Firefox managed to write 1.1GB to disk with the vast majority of data going into cookie* files.
Note that recovery.js managed to accumulate only about 1.3MB of writes.
Went back to one of the Firefox windows and opened my outlook.com mailbox. Cleared all events in Process Monitor and re-started the capture. Again, left all Firefox windows sitting idle, but only for ~10 minutes. This time recovery.js was at ~1.5MB and it took only about 1/4-th of the time to get there. Cookie* files had a ton of data written to them, as before.
So, looks like depending on what you've got open in your tabs, Firefox could be dumping tons of data into recovery.js, cookie* files, or both. Running at 1.1GB for every 45 minutes, you're looking at ~35GB/day written to your SSD if you leave your machine running. And at least in my case this wasn't even the worst example of how much data could be going into recovery.js. In my original tests I clocked Firefox at 2MB/s writing to this file and the writing thread never went dead always showing up on the top of the list in Resource Monitor.