[ https://issues.apache.org/jira/browse/GEODE-2793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jacob S. Barrett reassigned GEODE-2793: --------------------------------------- Assignee: Jacob S. Barrett > Look into reducing the amount of PDX deserializations in OQL query > intermediate result sets for indexed OR queries containing PdxInstanceImpls > ---------------------------------------------------------------------------------------------------------------------------------------------- > > Key: GEODE-2793 > URL: https://issues.apache.org/jira/browse/GEODE-2793 > Project: Geode > Issue Type: Bug > Components: querying > Reporter: Barry Oglesby > Assignee: Jacob S. Barrett > Priority: Major > > Intermediate result sets for each of the indexed OR clauses are represented > by ResultsBags. Each index is sorted and iterated in > AbstractGroupOrRangeJunction auxFilterEvaluate. When entry in the index is > added to a ResultsBag, hashCode is invoked. In the case of a PdxInstanceImpl, > this causes all of its identity fields to be deserialized so that hashCode > can be invoked on them. > Then, when each ResultsBag is sorted during QueryUtils union and > sizeSortedUnion by invoking occurrences on each entry, equals is invoked each > entry. In the case of a PdxInstanceImpl, this causes all of its identity > fields to be deserialized so that equals can be invoked on them. > Here is an example query that shows the PDX deserializations: > {noformat} > select * from /region this where ((map['entry1']='value1' OR > map['entry2']='value2' OR map['entry3']='value3' OR map['entry4']='value4' OR > map['entry5']='value5' OR map['entry6']='value6' OR map['entry7']='value7' OR > map['entry8']='value8' OR map['entry9']='value9' OR > map['entry10']='value10')) ... > {noformat} -- This message was sent by Atlassian Jira (v8.3.2#803003)