[ 
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)

Reply via email to