Introduction to the API compatibility
API compatibility ensures seamless interaction between client and server versions by maintaining backward compatibility, and REST protocol consistency to prevent breaking changes across Cloudera Runtime releases.
The API defines a set of rules and definitions for the client-server communication. The client requests services or resources from the server, which processes the request and returns a response. API compatibility allows different client and server versions to interact successfully. Typically, a client supports its corresponding API version and lower backward-compatible versions.
Ensuring API compatibility has the following benefits:
- Changes are not broken: Avoid removing, renaming, or changing mandatory parameters within the software code.
- Versioning: Implement API versioning (for example, /version1/, /version2/) to introduce changes without affecting existing users and their usage patterns.
- Deprecation policy: Call out old APIs as deprecated before removing them.
- Validation opportunities: Verify changes that introducing new code does not break compatibility with older client versions.
Supported touchpoints for API compatibility
Seamless API integration enables different software systems to interact and exchange data automatically, to ensure real-time synchronization, reduced manual effort, and improved efficiency.
Cloudera supports the following touchpoints to ensure forward and backward- API compatibility across different Cloudera runtime releases:
- Rest APIs
- Command-Line Interfaces (CLIs)
- Client RPM / Debian Packages
- Client-Server Interaction (Atlas / Ranger / Data Hubs / Data Services)
