999 days is not forever

September 13, 2008

One of my peculiar perversions is that I want my browser's history of visited URLs to stick around forever (or at least to not expire in a a crude time-based way). Firefox doesn't have an option to do this, but it does have an expiry time in days in a field that only accepts three digits, and back in the halcyon days of yore when I switched to Firefox and set it up, 999 days seemed acceptably close to forever.

Recently, I noticed that some of WanderingThoughts' old entries were coming up as unvisited URLs when I looked at the index page. I was immediately alarmed, thinking that I might have some sort of history file corruption issue (a big deal when you care as much about an intact history as I do), until the penny dropped.

To wit: 999 days is not forever; instead it is less than three years (in fact, it's about 2.7 years). As it happens, I've now been writing WanderingThoughts for longer than that, so of course the earliest entries were getting expired from my browser history. In fact, things must have been quietly expiring for some time (probably several years), and this is just the first time I have actually noticed it.

(If you ever find yourself in this situation, the way to work around the issue is to use about:config to directly set the values of browser.history_expire_days to 9999 days or so; you may also have to set browser.history_expire_days.mirror. I am sufficiently old-fashioned that I edited my prefs.js by hand.)

Amusingly, I ran into this issue again during some recent testing. I wanted to test how Firefox 3, with its fsync() issue, would work on our new ZFS-based NFS fileservers, and I figured that the problem was most likely to manifest with a big history file, such as my normal personal one. However, I couldn't just copy my regular history file into a test account's Firefox 3 setup, because I am still using a much older version of Firefox, with an older history file format.

So I had to set up Firefox 3 in the test account, delete its regular new-format history file, copy in my old history file, run Firefox 3 again, and after I quit out, check to make sure that it actually had migrated my history file to its new format. Which it didn't seem to have done, because the new history file was much, much smaller than my normal history file. But at the same time, some of the links that should show up as visited were doing so, so it clearly wasn't ignoring it entirely.

That's when I realized that, of course, the test account's Firefox 3 setup was using the default browser history expiry interval, and so most of my very large, very old browser history was being converted, just as I wanted, and then promptly getting expired when I closed the browser down. A quick preference change later and everything was fine (and our ZFS-based NFS fileservers seem to be okay with Firefox 3, which was good news for putting them into production).

Written on 13 September 2008.
« ZFS's helpful attention to detail
A read performance surprise with ZFS's raidz and raidz2 »

Page tools: View Source, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sat Sep 13 01:20:12 2008
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.