[
https://issues.apache.org/jira/browse/HBASE-9448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Purtell updated HBASE-9448:
----------------------------------
Attachment: 9448.patch
Attached a patch tested with an 0.94.7 server and an 0.94.12-SNAPSHOT client,
and with an 0.94.12-SNAPSHOT server and client with security enabled. First we
try the old API for sake of compatibility with older servers. If we receive an
AccessDeniedException specifically, we try the new getTableNames API. Doing it
this way avoids an ugly but harmless exception in the log of the older server.
Two round trips to get the list in the worst case seems fine here because the
'list' shell command runs on a human timescale.
> [0.94] Shell needs to fall back after HBASE-9182 if talking to older servers
> ----------------------------------------------------------------------------
>
> Key: HBASE-9448
> URL: https://issues.apache.org/jira/browse/HBASE-9448
> Project: HBase
> Issue Type: Bug
> Reporter: Lars Hofhansl
> Assignee: Andrew Purtell
> Priority: Blocker
> Fix For: 0.94.12
>
> Attachments: 9448.patch
>
>
> Here's what I see in a new (0.94.12) client connecting to an old (0.94.7)
> cluster and doing a "list" in the shell:
> {code}
> ERROR: org.apache.hadoop.ipc.RemoteException: java.io.IOException:
> java.lang.NoSuchMethodException:
> org.apache.hadoop.hbase.ipc.HMasterInterface.getTableNames()
> at java.lang.Class.getMethod(Class.java:1624)
> at
> org.apache.hadoop.hbase.ipc.SecureRpcEngine$Server.call(SecureRpcEngine.java:293)
> at
> org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1426)
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira