Github user JamesRTaylor commented on the issue: https://github.com/apache/phoenix/pull/295 Thanks for the updates, @ChinmaySKulkarni. Looks like you still need to rebase it. Also, one test that would be really valuable would be to: * disable auto upgrade * run execute upgrade * make some change to the HBase metadata of SYSTEM.CATALOG through ALTER TABLE or direct HBase API call (for example, set VERSIONS to some value). * connect a client that create a new ConnectionQueryServices instance to be created(see UpdateCacheAcrossDifferentClientsIT for how to do that) * ensure that the metadata change to SYSTEM.CATALOG is not undone. * do the same with auto upgrade enabled (which might cause the change to be reverted which is ok - this is more for making sure we understand this flow in both cases) This test will ensure that when this hits production, if we have auto upgrade disabled, we can make manual changes to the SYSTEM.CATALOG.