"From a certain point onward there is no longer any turning back. That is the point that must be reached." Kafka Protocols that allow operational sites to continue transac-tion processing even though site failures have occurred are called nonblocking. Many applications require nonblocking Qrotocols. This paper investigates the properties of non-blocking protocols. Necessary and sufficient conditions for a protocol to be nonblocking are presented and from these conditions a method for designing them is derived. Both a central site nonblocking protocol and a decentralized non-blocking protocol are presented.