Lifecycle of a Schema Field — From Added to Removed Safely

Lifecycle of a Schema Field — From Added to Removed Safely A lifecycle diagram generated by Archify. Field states Compatibility gates Terminal Proposed · schema change drafted · Field states · not deployed 01 Proposed schema change drafted not deployed Added Optional · new field, default or null · Field states · writers may omit it 02 Added Optional new field, default or null writers may omit it In Use · new writers fill it · Field states · old readers ignore it 03 In Use new writers fill it old readers ignore it Deprecated · no new writes · Field states · readers still tolerate it 04 Deprecated no new writes readers still tolerate it Removed · gone from the schema · Field states · safe to drop 05 Removed gone from the schema safe to drop All Writers Upgraded? · old code still running · Compatibility gates · gate All Writers Upgraded? old code still running gate All Readers Upgraded? · ignore unknown fields · Compatibility gates · gate All Readers Upgraded? ignore unknown fields gate Breaking Change · old code crashes or drops data · Terminal · roll back Breaking Change old code crashes or drops data roll back deploy readers first writers fill it stop writing it drop the field need it now? yes, all upgraded no, mixed fleet can we drop it? yes, all upgraded not yet Legend initial state active waiting decision success failure / exit final state