What features in 9.4 need more beta testing for recovery? I've applied my partial-write testing harness to several scenarios in 9.4. So far its found a recovery bug for gin indexes, a recovery bug for btree, a vacuum bug for btree indexes (with foreign keys, but that is not relevant to the bug), and nothing of interest for gist index, although it only tested "where text_array @@ to_tsquery(?)" queries.
It also implicitly tested the xlog parallel write slots thing, as that is common code to all recovery. I also applied the foreign key test retroactively to 9.3, and it quickly re-found the multixact bugs up until commit 9a57858f1103b89a5674. The test was designed only with the knowledge that the bugs involved foreign keys and the consumption of multixacts. I had no deeper knowledge of the details of those bugs when designing the test, so I have a reasonable amount of confidence that this could have found them in real time had I bothered to try to test the feature during the previous beta cycle. So, what else in 9.4 needs testing for recovery from crashes in general or partial-writes in particular? One thing is that I want to find a way to drive multixact in fast forward, so that the freezing cycle gets a good workout. Currently I can't consume enough of them to make them wrap around within the time frame of a test. It looks like jsonb stuff only makes new operators for use by existing indexes types, so probably is not a high risk for recovery bugs. I will probably try to test it anyway as a way to become more familiar with the feature. I don't really know about the logical streaming stuff. These are the recent threads on hackers. The first one has a link to the harness variant which is set up for the foreign key testing. "9.4 btree index corruption" "9.4 checksum error in recovery with btree index" "9.4 checksum errors in recovery with gin index" Cheers, Jeff