THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Compatibility, Deprecation, and Migration Plan
- Rack will be included in inter-broker protocol. Therefore, rolling upgrade requires these steps:
- Update server.properties file on all brokers and add the following property: inter.broker.protocol.version=<old version> (for example, 0.9.0)
- Upgrade the brokers. This can be done a broker at a time by simply bringing it down, updating the code, and restarting it.
- Once the entire cluster is upgraded, bump the protocol version by editing inter.broker.protocol.version and setting it to new version, for example, 0.9.1.
- Restart the brokers one by one for the new protocol version to take effect
- Rack property will be included in version 2 3 broker JSON schema and version 1 2 of UpdateMetaDataRequest. Controller will include version specific broker information in its wire format so that broker with old version can still interoperate with broker with new version and rack.
- When upgrading brokers, consumers with the old version can still understand the new broker information with rack in ZooKeeper. It calls ZkUtils.getBrokerInfo() which parses the JSON into a map and only gets the id, host and port from it.