Forward and Backward Compatibility: Difference between revisions
Jump to navigation
Jump to search
Line 15: | Line 15: | ||
<font color=darkkhaki>If newer clients encode data, with the new version of the schema, and send it to an old version of the system and that system was designed to be forward compatible, then the system can process that data without error.</font> | <font color=darkkhaki>If newer clients encode data, with the new version of the schema, and send it to an old version of the system and that system was designed to be forward compatible, then the system can process that data without error.</font> | ||
= | =Subjects= | ||
* [[Serialization#Keep_your_Schema_Backward_Compatible|Serialization and Schema Backward Compatibility}} | |||
* [[Protocol_Buffer_Concepts#Data_Evolution_with_Protocol_Buffers|Data Evolution with Protocol Buffers]] |
Revision as of 00:02, 9 May 2024
Internal
Backward Compatibility
A system is said to be backward compatible is it is design to be compatible with older versions of itself.
If old clients encode data, with an old version of the schema, and send it to the current version of the system, which uses the current (newer) schema, a backward compatible system can process that data without error and respond to those old clients in a way that does not break them.
Forward Compatibility
A system is said to be forward compatible is it is design to be compatible with newer, future versions of itself.
If newer clients encode data, with the new version of the schema, and send it to an old version of the system and that system was designed to be forward compatible, then the system can process that data without error.
Subjects
- [[Serialization#Keep_your_Schema_Backward_Compatible|Serialization and Schema Backward Compatibility}}
- Data Evolution with Protocol Buffers