ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Igor Seliverstov (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-7501) Improve underlying iterators closing process for cache iterators.
Date Fri, 06 Apr 2018 12:11:00 GMT

     [ https://issues.apache.org/jira/browse/IGNITE-7501?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Igor Seliverstov updated IGNITE-7501:
    Fix Version/s:     (was: 2.5)

> Improve underlying iterators closing process for cache iterators.
> -----------------------------------------------------------------
>                 Key: IGNITE-7501
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7501
>             Project: Ignite
>          Issue Type: Improvement
>          Components: cache
>    Affects Versions: 2.3
>            Reporter: Roman Kondakov
>            Assignee: Roman Kondakov
>            Priority: Major
>              Labels: cache, iterators, mvcc
>             Fix For: 2.6
> When we call {{javax.cache.Cache#iterator()}}  we get {{java.util.Iterator}} which
doesn't have a {{close()}} method. But underlying {{GridCloseableIterator}} does have this
method and it should be called when all the work with the current iterator is done. Currently
calling {{close()}} for the underlying closeable iterator is delegated to {{WeakQueryCloseableIterator}}.
So, {{close()}} method is usually called in GridCacheGateway#onEnter or on a garbage collection
phase, which is not acceptable in some situations. For example if MVCC is enabled, this *late*
iterator closing could dramatically increase the active queries tracking list size which 
could lead to the performance and garbage collection ("vacuum") issues.

This message was sent by Atlassian JIRA

View raw message