[ 
https://issues.apache.org/jira/browse/CASSANDRA-9985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14659837#comment-14659837
 ] 

Benedict commented on CASSANDRA-9985:
-------------------------------------

So, I've pushed a version with Guava's test case included, but with two failing 
tests removed because IMO they aren't things we should worry about:

1) Reentrancy in {{hasNext()}}, i.e. if you create a {{computeNext()}} method 
that recursively calls {{hasNext()}} then it will throw ISE
2) Continuing to use an iterator that threw an exception during 
{{computeNext()}}, which will also throw ISE

My view is that neither check buys us much, and I prefer the code clarity of 
the current implementation. However support is easily added at the expense of a 
bit of ugliness.

> Introduce our own AbstractIterator
> ----------------------------------
>
>                 Key: CASSANDRA-9985
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9985
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: Core
>            Reporter: Benedict
>            Assignee: Benedict
>            Priority: Trivial
>             Fix For: 3.0.0 rc1
>
>
> The Guava AbstractIterator not only has unnecessary method call depth, it is 
> difficult to debug without attaching source. Since it's absolutely trivial to 
> write our own, and it's used widely within the codebase, I think we should do 
> so.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to