Istvan Toth created PHOENIX-6870:
------------------------------------

             Summary: Add cluster-wide metadata upgrade block 
                 Key: PHOENIX-6870
                 URL: https://issues.apache.org/jira/browse/PHOENIX-6870
             Project: Phoenix
          Issue Type: Improvement
          Components: core
            Reporter: Istvan Toth


Upgrade-related bugs are common in Phoenix, which failed or incomplete upgrades.

A common way to fix these is to simply fix the bug, and update Phoenix, which 
usually lets the upgrade finish correctly.

However, due to the distributed nature of Phoenix, it is very difficult to 
ensure that every buggy phoenix client is updated.

We want to ensure that the fixed client is able to run the upgrade, without the 
buggy clients interfering.

In theory, we could disable automatic upgrade for all old clients, but we sun 
into the same problem as upgrading the clients, where some clients may be using 
configurationsĀ  (i.e. hbase-site.xml) that are not easily upgraded.

As a workaround, we could add an additional way to block auto upgrades globally 
(for example by adding a record to system.mutex) , as well as an override 
property for this.

This way, when we run into an upgradebug, we could set the global upgrade lock, 
start a single phoenix client which fixes the problem, then execute the upgrade 
command manually.

Of course, this would only work forĀ  future upgrades, if the old client doesn't 
have this feature, then it doesn't work.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to