Hello Phoenix folks, The purpose of this email is two fold: 1) to introduce folks about the new optional upgrade process and, 2) to get a consensus on what should the default behavior of the process be.
As you may already know, when a new minor release is rolled out, in order to support new features Phoenix needs to update its internal metadata. This update is done as part of the upgrade process that is automatically kicked off when a Phoenix client for a new minor release connects to the HBase cluster. To provide more control on when this upgrade should be run, we wrote a new feature which makes this upgrade optionally a manual step (see https://issues.apache.org/jira/browse/PHOENIX-3174 for details). The upgrade behavior is controlled by a client side config named phoenix.autoupgrade.enabled. If the config is set to false, then Phoenix won't kick off the upgrade process automatically. When ready to upgrade, users can kick off the upgrade process by calling EXECUTE UPGRADE sql command. Keep in mind that till the upgrade is run, Phoenix won't let you execute any other SQL commands using the new minor release client. Clients running older versions of Phoenix though will continue to work as before. I propose that we should by default have the config phoenix.autoupgrade.enabled set to false. Providing users more control and making the upgrade process an explicit manual step is the right thing to do, IMHO. Interested to know what do you all think. Thanks, Samarth