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