[ https://issues.apache.org/jira/browse/PHOENIX-2028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Taylor updated PHOENIX-2028: ---------------------------------- Labels: YARN-TLS (was: ) > Improve performance of write path > --------------------------------- > > Key: PHOENIX-2028 > URL: https://issues.apache.org/jira/browse/PHOENIX-2028 > Project: Phoenix > Issue Type: Bug > Reporter: James Taylor > Labels: YARN-TLS > > The following improvements can be made to bring the cost of UPSERT VALUES > more inline with direct HBase API usage: > - don't re-compile a prepared UPSERT VALUES statement that is re-executed > (see patch on PHOENIX-1711). > - change MutationState to use a List instead of a Map at the top level. It's > ok to have duplicate rows here, as they'll get folded together when we > generate the List<Mutation>. > - change each mutation in the list to be a simple List<byte[]>. We can keep a > pointer to the PTable and a List<int> of positions into the PTable columns > instead of maintaining a Map for each row. Again, this will get folded > together when we generate the List<Mutation>. > - we don't need to create Mutations for > PhoenixRuntime.getUncommittedDataIterator() and it appears we don't need to > sort (though we should verify that). Instead, we'll just generate a > List<KeyValue> for each row in MutationState, allowing duplicate and > out-of-order row keys. -- This message was sent by Atlassian JIRA (v6.3.4#6332)