[ 
https://issues.apache.org/jira/browse/HBASE-26021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17368532#comment-17368532
 ] 

Andrew Kyle Purtell commented on HBASE-26021:
---------------------------------------------

We can't undo, because 1.7.0 has been released with this change included. 
Unless it actually prevents an upgrade from 1.6, which moots the release and we 
will have to withdraw it. 

The patch replaces HTableDescriptor with TableDescriptor in FSTableDescriptors. 
Diffing the serialization details of those two classes should do it.

> HBase 1.7 to 2.4 upgrade issue
> ------------------------------
>
>                 Key: HBASE-26021
>                 URL: https://issues.apache.org/jira/browse/HBASE-26021
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.7.0, 2.4.4
>            Reporter: Viraj Jasani
>            Priority: Major
>         Attachments: Screenshot 2021-06-22 at 12.54.21 PM.png, Screenshot 
> 2021-06-22 at 12.54.30 PM.png
>
>
> As of today, if we bring up HBase cluster using branch-1 and upgrade to 
> branch-2.4, we are facing issue while parsing namespace from HDFS fileinfo. 
> Instead of "*hbase:meta*" and "*hbase:namespace*", parsing using ProtobufUtil 
> seems to be producing "*\n hbase:\n meta*" and "*\n hbase:\n namespace*"
> {code:java}
> 2021-06-22 00:05:56,611 INFO  
> [RpcServer.priority.RWQ.Fifo.read.handler=3,queue=1,port=16025] 
> regionserver.RSRpcServices: Open hbase:meta,,1.1588230740
> 2021-06-22 00:05:56,648 INFO  
> [RpcServer.priority.RWQ.Fifo.read.handler=5,queue=1,port=16025] 
> regionserver.RSRpcServices: Open 
> hbase:namespace,,1624297762817.396cb6cc00cd4334cb1ea3a792d7529a.
> 2021-06-22 00:05:56,759 ERROR 
> [RpcServer.priority.RWQ.Fifo.read.handler=5,queue=1,port=16025] 
> ipc.RpcServer: Unexpected throwable object
> java.lang.IllegalArgumentException: Illegal character <
> > at 0. Namespaces may only contain 'alphanumeric characters' from any 
> > language and digits:
> ^Ehbase^R       namespace
>         at 
> org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:246)
>         at 
> org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:220)
>         at org.apache.hadoop.hbase.TableName.<init>(TableName.java:348)
>         at 
> org.apache.hadoop.hbase.TableName.createTableNameIfNecessary(TableName.java:385)
>         at org.apache.hadoop.hbase.TableName.valueOf(TableName.java:508)
>         at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toTableName(ProtobufUtil.java:2292)
>         at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toTableDescriptor(ProtobufUtil.java:2937)
>         at 
> org.apache.hadoop.hbase.client.TableDescriptorBuilder$ModifyableTableDescriptor.parseFrom(TableDescriptorBuilder.java:1625)
>         at 
> org.apache.hadoop.hbase.client.TableDescriptorBuilder$ModifyableTableDescriptor.access$200(TableDescriptorBuilder.java:597)
>         at 
> org.apache.hadoop.hbase.client.TableDescriptorBuilder.parseFrom(TableDescriptorBuilder.java:320)
>         at 
> org.apache.hadoop.hbase.util.FSTableDescriptors.readTableDescriptor(FSTableDescriptors.java:511)
>         at 
> org.apache.hadoop.hbase.util.FSTableDescriptors.getTableDescriptorFromFs(FSTableDescriptors.java:496)
>         at 
> org.apache.hadoop.hbase.util.FSTableDescriptors.getTableDescriptorFromFs(FSTableDescriptors.java:482)
>         at 
> org.apache.hadoop.hbase.util.FSTableDescriptors.get(FSTableDescriptors.java:210)
>         at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.openRegion(RSRpcServices.java:2112)
>         at 
> org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos$AdminService$2.callBlockingMethod(AdminProtos.java:35218)
>         at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:395)
>         at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
>         at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
>         at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)
> 2021-06-22 00:05:56,759 ERROR 
> [RpcServer.priority.RWQ.Fifo.read.handler=3,queue=1,port=16025] 
> ipc.RpcServer: Unexpected throwable object
> java.lang.IllegalArgumentException: Illegal character <
> > at 0. Namespaces may only contain 'alphanumeric characters' from any 
> > language and digits:
> ^Ehbase^R^Dmeta
>         at 
> org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:246)
>         at 
> org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:220)
>         at org.apache.hadoop.hbase.TableName.<init>(TableName.java:348)
>         at 
> org.apache.hadoop.hbase.TableName.createTableNameIfNecessary(TableName.java:385)
>         at org.apache.hadoop.hbase.TableName.valueOf(TableName.java:508)
>         at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toTableName(ProtobufUtil.java:2292)
>         at 
> org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.toTableDescriptor(ProtobufUtil.java:2937)
>         at 
> org.apache.hadoop.hbase.client.TableDescriptorBuilder$ModifyableTableDescriptor.parseFrom(TableDescriptorBuilder.java:1625)
>         at 
> org.apache.hadoop.hbase.client.TableDescriptorBuilder$ModifyableTableDescriptor.access$200(TableDescriptorBuilder.java:597)
>         at 
> org.apache.hadoop.hbase.client.TableDescriptorBuilder.parseFrom(TableDescriptorBuilder.java:320)
>         at 
> org.apache.hadoop.hbase.util.FSTableDescriptors.readTableDescriptor(FSTableDescriptors.java:511)
>         at 
> org.apache.hadoop.hbase.util.FSTableDescriptors.getTableDescriptorFromFs(FSTableDescriptors.java:496)
>         at 
> org.apache.hadoop.hbase.util.FSTableDescriptors.getTableDescriptorFromFs(FSTableDescriptors.java:482)
>         at 
> org.apache.hadoop.hbase.util.FSTableDescriptors.get(FSTableDescriptors.java:210)
>         at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.openRegion(RSRpcServices.java:2112)
>         at 
> org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos$AdminService$2.callBlockingMethod(AdminProtos.java:35218)
>         at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:395)
>         at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
>         at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
>         at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318){code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to