[
https://issues.apache.org/jira/browse/PHOENIX-3495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15677081#comment-15677081
]
Ankit Singhal commented on PHOENIX-3495:
----------------------------------------
Actually, the problem is that when CSVBulkLoadTool run without
hbase-client.jar/phoenix-client.jar in classpath, it is not finding
NamespaceExistException class to initialize at client even though class exists
in phoenix-client.jar. And, during unwrapping of remote exception by using
hadoop API , ClassNotFoundException(or any exception come due to
initialization) is absorbed and unwrapping of RemoteWithExtrasException from
NamespaceExistsException is ignored . As a result, RpcRetryingCaller will keep
on calling remote method for creating namespace till
hbase.client.retries.number as RemoteWithExtrasException doesn't extend
DoNotRetryIOException and at the end RemoteWithExtrasException is thrown which
is not expected to be caught by the client. I'm suspecting it is due to the
difference in classloader used by runJar(context classloader) than the
hadoop(current classloader). Let me see tomorrow if a fix is possible at
Phoenix side or we can take help from hadoop.
It works fine with sqlline.py and others because they include
phoenix-client.jar always in their class path.
> Ignore NamespaceExistException when namespace mapping enabled
> -------------------------------------------------------------
>
> Key: PHOENIX-3495
> URL: https://issues.apache.org/jira/browse/PHOENIX-3495
> Project: Phoenix
> Issue Type: Bug
> Reporter: Samarth Jain
> Assignee: Samarth Jain
> Attachments: PHOENIX-3495.patch, PHOENIX-3495_v2.patch
>
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)