Recall: a distributed, fault-tolerant, replicated storage server

Recall FAQ

Last updated: 6/23/2001
  1. Where's the documentation?

    Recall has some interface documentation in the Recall.idl file, several example servers, and some overview documentation in the HOWTO. Because it is not a commercial product, and likely didn't cost you anything to purchase, we cannot afford to provide detailed documentation. We would gladly accept donations of documentation, or sponsorship to produce it.

  2. How do I use Recall?

    See the HOWTO.

  3. Is anyone else using Recall?

    Not that I am aware. I would appreciate any feedback regarding the usefulness of Recall project, either positive or negative.

  4. I just want a primary/secondary server. Must I always use three machines to tolerate the loss of one machine?

    Strictly speaking, no.. The basic algorithm allows for third parties (simple, cheap systems) to break ties between two main machines. It also allows a mechanism that will always break election ties reliably, but this would probably require a separate (and non-portable) hardware link between the two systems.

    As written, the system requires three fully redundant systems to tolerate a single system failure.

  5. I want to have replication just like [Oracle|Sybase|Tandem|VAX Clusters|HACMP|Veritas|etc]. Can Recall do that?

    Short answer: I don't know.

    Long answer: replication performance is highly dependent upon your requirements. Recall aims for replication on stock hardware using standard message passing with very strict consistency guarantees, and fast (seconds), transparent recovery. If your requirements are not this strict, you may not even need Recall. If you are looking for a very general approach to replication and fault-tolerance, then you just might.

  6. Python? You're kidding right?

    No, no we're not. Now that all the major interfaces of Recall are now CORBA based, you can implement the custom client and server pieces in C/C++/Perl/Tcl/Lisp/Smalltalk/etc if you find you must. If there are changes we can make to facilitate that integration, please let us know.

    We are open to re-implementation in other languages if we can be sponsored for the work. For our own work we will use a mixture of Python and C++.

  7. What's MetaSlash?

    MetaSlash has provided the corporate sponsership for the Python/CORBA version of Recall.

    Meta-Slash (M-/) describes the keyboard short-cut for dynamically completing your words in the text editor we use (Emacs). It's a metaphor for our business model. We supplement in-house development and provide dynamic completion of works in progress. We take on projects on a out-sourced basis at a fixed price, and then provide (optional) training and re-integration of the resulting system back for in-house adoption.