Flag day (computing)

A flag day, as used in system administration, is a change which requires a complete restart or conversion of a sizable body of software or data. The change is large and expensive, and—in the event of failure—similarly difficult and expensive to reverse.

The situation may arise if there are limitations on backward compatibility and forward compatibility among system components, which then requires that updates be performed almost simultaneously (during a "flag day cutover") for the system to function after the upgrade. This contrasts with the method of gradually phased-in upgrades, which avoids the disruption of service caused by en masse upgrades.

This systems terminology originates from a major change in the Multics operating system's definition of ASCII, which was scheduled for the United States holiday, Flag Day, on June 14, 1966.

Another historical flag day was January 1, 1983, when the ARPANET changed from NCP to the TCP/IP protocol suite. This major change required all ARPANET nodes and interfaces to be shut down and restarted across the entire network.