[ 
https://issues.apache.org/jira/browse/PHOENIX-78?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jesse Yates updated PHOENIX-78:
-------------------------------

    Attachment: phoenix-78-v0.patch

Attaching patch.

Now KeyValueBuilder becomes the interface behind which we hide interactions 
with the KeyValue. Right now, this is limited to the metadata APIs. If this 
becomes more widespread, we can move to replacing KeyValue everywhere with our 
own interface, but for now this does the trick.

> MetaDataUtil must respect ClientKeyValue usage
> ----------------------------------------------
>
>                 Key: PHOENIX-78
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-78
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: Jesse Yates
>            Assignee: Jesse Yates
>             Fix For: 3.0.0
>
>         Attachments: phoenix-78-v0.patch
>
>
> We can get into cases where the ClientKeyValue is being generated for 
> metadata operations, but being operated on as a regular KeyValue, for 
> instance:
> {quote}
> java.lang.UnsupportedOperationException: ClientKeyValue does not support a 
> single backing buffer. 
> at 
> org.apache.phoenix.client.ClientKeyValue.getBuffer(ClientKeyValue.java:500) 
> at 
> org.apache.phoenix.util.MetaDataUtil.getMutationKeyValue(MetaDataUtil.java:202)
>  
> at 
> org.apache.phoenix.util.MetaDataUtil.getMutationKVByteValue(MetaDataUtil.java:193)
>  
> at org.apache.phoenix.util.MetaDataUtil.isMultiTenant(MetaDataUtil.java:245) 
> at 
> org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:887)
>  
> at 
> org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:1107)
>  
> at 
> org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:409) 
> at 
> org.apache.phoenix.compile.CreateTableCompiler$2.execute(CreateTableCompiler.java:174)
>  
> at 
> org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:224)
>  
> at 
> org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:185) 
> at 
> org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:137)
>  
> at 
> org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:142)
>  
> {quote}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to