[
https://issues.apache.org/jira/browse/PHOENIX-1280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14145349#comment-14145349
]
James Taylor commented on PHOENIX-1280:
---------------------------------------
Nice perf improvement, [~lhofhansl]. Thanks for following up on this. One
comment, for this call:
{code}
+ Set<ImmutableBytesPtr> cols = this.columnsTracker.get(ptr);
{code}
You've made ptr a ImmutableBytesWritable. If the comparison is done as
ptr.equals(<element in cols>), it'll always be false, since the elements are
ImmutableBytesPtr. This seems problematic worst-case and a bit harder to reason
about otherwise. How about just making ptr an ImmutableBytesPtr too?
> ColumnProjectionFilter makes too many ImmutableBytesPtrs
> --------------------------------------------------------
>
> Key: PHOENIX-1280
> URL: https://issues.apache.org/jira/browse/PHOENIX-1280
> Project: Phoenix
> Issue Type: Bug
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Attachments: 1280-WIP.txt
>
>
> While tracing through allocated objects during some queries I find that many
> ImmutableBytesPtr objects are created. One offender is ColumnProjectionFilter
> which first creates the columns to be projected and then while scanning make
> a new ImmutableBytesPtr for each single column that passes through the filter.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)