Create a "irreversible block only" version of haf
The idea is to provide an “irreversible blocks only” version of HAF (enabled by a simple command-line option on a regular HAF server), for performance optimization purposes.
For most blocks, such a server will only lag a couple hundred milliseconds behind a normal “reversible” version of HAF, due to OBI, and might be as much as two times as fast for queries (just my guess at this point, pending actual benchmarks).
A HAF app would work on either configuration of the HAF server without any changes. It would basically be like a global switch that automatically converted all the HAF apps on that server to “irreversible block only” apps.
There's a couple of changes potentially involved in creation of this:
- a flag for sql_serializer to tell it to only send data to HAF once a block containing it is irreversible
- redefinition of the global HAF views so that even "reversible" apps running on the server will only look at the irreversible tables