This page applies to Local Database Resilience and Multiple Resilience Configurations Only
The global variable
broken
is set to TRUE whenever
the software tries and fails to access a remote machine. It is
never reset to FALSE by the system software (though it can be reset
by the application program if required), so it may be conveniently
tested at any time to determine whether a network problem has
occurred.
Note that the servers accessed by an operation may not be the ones expected. For example:
A fetch is usually directed to only one of the servers on which the table being accessed is held. Also some fetches may be "buffered" so that not every fetch() actually has to call a server. (This can improve performance considerably). Buffering of fetching can be disabled with the -noblock command tail on auxdistr.
Database updates, (the
rec_post()
and
rec_kill()
functions), may not be done
immediately, but may be batched up by the system and done later; in
this case no server will be accessed during the processing of the
function.
A fetch or commit may cause batched-up updates to be sent, so may access servers other than those it directly affects.