
8
Transactions and the Engine State Machine
“Neither rain, nor snow, nor sleet, nor gloom of delayed DS synchronization shall stay
this system from the swift completion of its appointed tasks…”
Because NDS/eDirectory is a replicated, loosely consistent database, taking live action on
NDS events in real-world network situation is challenging. For example, the engine may
be notified of the creation of a new user, but the replica that the engine NLM is using for
referrals may not know about the user yet. Or maybe he does and the engine can go ahead
and use server-to-server communications to create the home directory on a target server,
but the application of the quota or the ACL fails because the replica being used by the
target server does not know about the user yet.
There are other potential problems in the real world. Target servers die, volumes
dismount, routers are rebooted, and backhoes dig up communication links.
Because of this real world that most customers live in, the action engine in File System
Factory™ is built on transactional state machine architecture to ensure that Policies are
applied when events happen, no matter what.
Each transaction consists of a series of steps or states. The engine contains a Process
Queue that is backed by the file system of the local server. Each transaction on the
Process Queue contains the state or progress of the given transaction. If there is some
situation that is holding up completion of a particular transaction, the engine will move on
to the next transaction in the list. When it comes back around to the transaction that was
experiencing the delay and processing will continue. The process queue is rebuilt from
the file system each time the engine is restarted.
In the end, File System Factory™ is built so that you can trigger several thousand
transactions and then disconnect the net connection or even push the reset button on any
server running any File System Factory™ component or any target server without cause
for concern.
Note: In the event of large numbers of events queuing, which for some reason cannot
clear through regular engine processing, there is a new multiple event abort feature
available for restricted use by contacting support at [email protected].
Novell File System Factory™ Administrator’s Guide
© 2002-2005 Condrey Consulting Corporation. All Rights Reserved.
16