Divij Vaidya created TINKERPOP-2224:
---------------------------------------

             Summary: Detect and fix resource leak
                 Key: TINKERPOP-2224
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2224
             Project: TinkerPop
          Issue Type: Bug
          Components: process
    Affects Versions: 3.3.7, 3.4.2
            Reporter: Divij Vaidya


During the execution of the query the underlying provider layer might open some 
resources such as cursors or iterators which should be closed on completion of 
execution of the query. This is largely done by calling Traversal.close() 
method at the end of the traversal.

However, there are bugs in the query processor which lead to a leak of these 
resources. As an example, consider the following query:

g.V().not(__.V().out()).fold().unfold()

The implementation of not() step creates a child traversal which would open an 
iterator(aka resource) at the storage layer but due to a bug in 
TraversalUtil.java, it will never close this traversal (even on calling 
Traversal.close() on the global Traversal). This leads to open resources on the 
storage layer.

The purpose of this task is to add a framework for detecting an iterator leak 
and consequently fixing the bugs unearthed by the new framework.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to