|Top Previous Next|
- mode [FailFast] ( FailFast | FaultTolerant )
Fail-fast is a property of a system or module with respect to its response to failures. A fail-fast system is designed to immediately report at its interface any failure or condition that is likely to lead to failure. Fail-fast systems are usually designed to stop normal operation rather than attempt to continue a possibly flawed process. Such designs often check the system's state at several points in an operation, so any failures can be detected early. A fail-fast module passes the responsibility for handling errors, but not detecting them, to the next-higher system design level.
FaultTolerant: (tolerant of faults)
Fault-tolerance or graceful degradation is the property that enables a system to continue operating properly in the event of the failure of some of its components. If its operating quality decreases at all, the decrease is proportional to the severity of the failure, as compared to a Fail-fast system in which even a small failure can cause total breakdown. Fault-tolerance is particularly sought-after in high-availability or life-critical systems.
A schema can be compiled in one of two modes; FailFast or FaultTolerant. When the schema is compiled in FailFast mode, any errors with the validation of the data will cause an unrecoverable exception (NotValidException). When the mode is FaultTolerant, then any validation errors that occur on elements that are not required (defined as minOccurs="0") shall be ignored and the marshaller and unmarshaller shall treat that particular data as if it never existed. In FaultTolerant mode, optional elements can never be the cause of a NotValidException.