Rushabh Shah created PHOENIX-7113: ------------------------------------- Summary: Create a feature flag for invoking MDEI#invalidateServerMetadataCache Key: PHOENIX-7113 URL: https://issues.apache.org/jira/browse/PHOENIX-7113 Project: Phoenix Issue Type: Sub-task Reporter: Rushabh Shah
During schema changes, we invoke PhoenixRegionServerEndpoint#invalidateServerMetadataCache on all regionservers to invalidate cache for the table which is undergoing schema changes. To handle incompatibilitues during upgrade, we check if PhoenixRegionServerEndpoint coproc is loaded or not. If it is not loaded on SYSCAT regionserver, then we don't invalidate the cache but if it is loaded on SYSCAT regionserver then we call this coproc method on all regionservers. But it is possible that during upgrade if we upgrade the system regionservers first then PhoenixRegionServerEndpoint is loaded on SYSCAT RS but not loaded on other regionservers. This can cause failures during upgrade. To avoid this, lets create a new conf property and once all the reginservers are upgraded then set that to true. {code} String value = conf.get(REGIONSERVER_COPROCESSOR_CONF_KEY); if (value == null || !value.contains(PhoenixRegionServerEndpoint.class.getName())) { // PhoenixRegionServerEndpoint is not loaded. We don't have to invalidate the cache. LOGGER.info("Skip invalidating server metadata cache since PhoenixRegionServerEndpoint" + " is not loaded"); return; } {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)