Hi Pedro, 
unfortunately in my CDH cluster I can only jump from 4.7 to 4.13..however, thanks to your describe I recreated the hbase shell command to recreate the table and then everything worked! Probably we should document that when releasing the new parcel...Here's the hbase shell command:

create 'SYSTEM.MUTEX', {NAME => '0', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL =>900, KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}

Thanks all for the help,
Flavio

On 18 Dec 2017 02:00, "Pedro Boado" <pedro.boado@gmail.com> wrote:
I read somewhere in Phoenix documentation that upgrade paths are only supported up to three minor versions difference. You jumped 6 versions.

Anyway... by checking the stacktrace it can be seen where is the process failing. Basically it's expecting SYSTEM.MUTEX table to have been created ( but it's obviously not there in 4.7 ) . Just create it manually again might work.

byte[] sysMutexPhysicalTableNameBytes = getSysMutexPhysicalTableNameBytes();
if(sysMutexPhysicalTableNameBytes == null) {
throw new UpgradeInProgressException(getVersion(currentServerSideTableTimestamp),
getVersion(MIN_SYSTEM_TABLE_TIMESTAMP));
}

If it helps, this is a describe of my table so you can recreate it. It only has 1 region.

hbase(main):002:0> describe 'SYSTEM.MUTEX'
Table SYSTEM.MUTEX is ENABLED                                                                                                                                                       
SYSTEM.MUTEX                                                                                                                                                                        
COLUMN FAMILIES DESCRIPTION                                                                                                                                                         
{NAME => '0', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => '900 SECONDS (15 MIN
UTES)', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                                                                            
1 row(s) in 0.1110 seconds


Cheers,
Pedro




On 18 Dec 2017 00:00, "Flavio Pompermaier" <pompermaier@okkam.it> wrote:
I'installed phoenix 4.7 via the last official Cloudera Parcel. Then I upgraded Phoenix with the new (unofficial) Parcel. Nothing else.
Now I'm not able to connect to Phoenix, only gia hbase shell. I use Hbase shell since 2012 and I'm sure 100% that there's no other system tables in my Hbase installation.
My guess ia that no mutex table was created before 4.8 and the upgrade from 4.7 to 4.13 doesn't take into account this situation. The upgrade process should consider thia scenario and create such a table if not present, IMHO.
The problem is that right now I don't know how to repair this situation...

On 18 Dec 2017 00:49, "Ethan" <ewang@apache.org> wrote:
System.mutex should come with Phoenix, so you should have it even though sometimes doesn't show up. To truncate that table you may try delete statement in sqline.


On December 17, 2017 at 3:14:58 PM, Flavio Pompermaier (pompermaier@okkam.it) wrote:

I did a hbase shell list and there'no mutex table.
I have only catalog, function, sequence, stats

On 18 Dec 2017 00:12, "Pedro Boado" <pedro.boado@gmail.com> wrote:
I think you may have it - phoenix-sqlline doesn't show it when you do a !tables - 

Do a list in HBase shell and/or scan it to check whether it's there.

On 17 Dec 2017 22:28, "Flavio Pompermaier" <pompermaier@okkam.it> wrote:
The problem is that I don't have that table..how can I create it from HBase shell?

On Sun, Dec 17, 2017 at 11:24 PM, Pedro Boado <pedro.boado@gmail.com> wrote:
You can do that through the hbase shell doing a

hbase(main):011:0> truncate 'SYSTEM.MUTEX'



On 17 December 2017 at 22:01, Flavio Pompermaier <pompermaier@okkam.it> wrote:
I've got Phoenix 4.13 both on client and server side..How can I truncate Mutex table? I don't have any..

On Sun, Dec 17, 2017 at 10:29 PM, Ethan <ewang@apache.org> wrote:
Hi Flavio,

What is your server side Phoenix jar version and client side Phoenix version, note that server side has to have a higher version than client side.

Another note, I got a similar issue the other day. I solved it by truncate system Mutex table. Hope it helps yours too.

Thanks,


On December 16, 2017 at 3:23:47 PM, Flavio Pompermaier (pompermaier@okkam.it) wrote:

Hi to all, 
I've recently updated my Cloudera + Phoenix from CDH 5.9 + 4.7 to CDH 5.11.2 + 4.13 but now I can't connect with Phoenix anymore. When I run phoenix-sqlline.sql I get:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Error: Cluster is being concurrently upgraded from 4.7.x to 4.13.x. Please retry establishing connection. (state=INT12,code=2010)
org.apache.phoenix.exception.UpgradeInProgressException: Cluster is being concurrently upgraded from 4.7.x to 4.13.x. Please retry establishing connection.
at org.apache.phoenix.query.ConnectionQueryServicesImpl.acquireUpgradeMutex(ConnectionQueryServicesImpl.java:3231)
at org.apache.phoenix.query.ConnectionQueryServicesImpl.upgradeSystemTables(ConnectionQueryServicesImpl.java:2615)
at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2478)
at org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2384)
at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76)
at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2384)
at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:255)
at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:150)
at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:221)
at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
at sqlline.Commands.connect(Commands.java:1064)
at sqlline.Commands.connect(Commands.java:996)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
at sqlline.SqlLine.dispatch(SqlLine.java:809)
at sqlline.SqlLine.initArgs(SqlLine.java:588)
at sqlline.SqlLine.begin(SqlLine.java:661)
at sqlline.SqlLine.start(SqlLine.java:398)
at sqlline.SqlLine.main(SqlLine.java:291)
sqlline version 1.2.0

How can I repair my installation? I can't find any log nor anything strange in the SYSTEM.CATALOG HBase table..

Thanks in advance,
Flavio



--
Flavio Pompermaier
Development Department

OKKAM S.r.l.
Tel. +(39) 0461 041809



--
Un saludo.
Pedro Boado.