[ https://issues.apache.org/jira/browse/GEODE-1303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Fred Krone updated GEODE-1303: ------------------------------ Labels: offheap (was: ) > CqServiceImpl.processEntryEvent(CacheEvent, Profile, Profile[], > FilterRoutingInfo) > ---------------------------------------------------------------------------------- > > Key: GEODE-1303 > URL: https://issues.apache.org/jira/browse/GEODE-1303 > Project: Geode > Issue Type: Improvement > Components: offheap > Reporter: Darrel Schneider > Labels: offheap > > Currently CqServerImpl.processEntryEvent copies each off-heap value it adds > to cqUnfilteredEventsSet_newValue to the heap in this code: > if (cqUnfilteredEventsSet_newValue.isEmpty() && > (event.getOperation().isCreate() || event.getOperation().isUpdate())) { > Object newValue = entryEvent.getNewValue(); // TODO OFFHEAP: optimize > by not copying the value on to the heap > if (newValue != null) { > //We have a new value to run the query on > cqUnfilteredEventsSet_newValue.add(newValue); > } > } > The cqUnfilteredEventsSet_newValue does not live past this method call. The > values in it are later passed to evaluateQuery. > It would be nice if we didn't need to copy the values to the heap in this > code. It would be easy enough to retain them and then release everything in > cqUnfilteredEventsSet_newValue in a finally block. But can evaluateQuery > handle an offheap reference? If so then this would be a nice optimization for > cqs on offheap regions. -- This message was sent by Atlassian JIRA (v6.4.14#64029)