You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Jesse Yates (JIRA)" <ji...@apache.org> on 2014/02/27 01:17:19 UTC

[jira] [Updated] (PHOENIX-78) MetaDataUtil must respect ClientKeyValue usage

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