Since there hasn't been any objections since i posted this about a week
ago, I think we can assume consensus on getting CloseableIterator into
TinkerPop. I just created this issue in JIRA with more details -
specifically I outline how we could go about adding CloseableIterator to
the Structure API:

https://issues.apache.org/jira/browse/TINKERPOP-1589



On Thu, Dec 29, 2016 at 9:37 AM, Luca Garulli <[email protected]> wrote:

> An automatic close after a timeout it could be nice to have, but it could
> make the behaviour unpredictable.
>
> I'd definitely prefer the iterators implement the AutoCloseable interface,
> so this makes the code more clean and allow the user to close() a result
> when it's not needed anymore.
>
> On 28 December 2016 at 17:12, Paul Jackson <[email protected]> wrote:
>
> > +1
> >
> > The obvious/preferred route (for me), since the vertices() and edges()
> > methods in org.apache.tinkerpop.gremlin.structure.Graph return Iterator,
> > is to have them return an interface that extends Iterator and
> > AutoCloseable. If you create a new interface in 3.x for this, it would
> > probably be CloseableIterator rather than the CloseableIterable of 2.x.
> >
> > Alternative (messy) could make Graph responsible for this. Have it
> > register each iterator and close it after period of inactivity exceeds a
> > timeout, or if the Graph itself is closed. That's all I got.
> >
> > -Paul
> >
> >
> > On 2016-12-28 08:27 (-0500), Stephen Mallette <[email protected]>
> > wrote:
> > > In TinkerPop 2.x we had a CloseableIterable class which allowed graphs
> > like
> > > Sparksee and OrientDB to release server resources. Luca recently
> brought
> > up
> > > this topic on the gremlin-users mailing list:
> > >
> > > https://groups.google.com/d/msg/gremlin-users/lHepXl_Nle4/n3QeYqmNCwAJ
> > >
> > > Is there any way to implement this without having something like
> > > CloseableIterable? Traversal already implements AutoCloseable which
> could
> > > call close() to the underlying iterator. We use close() for remoting
> > > Traversals at this point. There is nothing analogous for a standard
> > > traversal instance.
> > >
> > > Thoughts?
> > >
> >
>

Reply via email to