ctubbsii commented on pull request #1596:
URL: https://github.com/apache/accumulo/pull/1596#issuecomment-619957733


   > > What is the clear and overwhelming value to end users for having this in 
the public API?
   > 
   > Short answer is... I am not convinced there is overwhelming value.
   
   In that case, I'm very reluctant to support this API addition.
   
   > 
   > I discovered that Datawave was using the method when it was a part of 
IteratorUtil (which I recently refactored since it used internal types). That 
can be seen 
[here](https://github.com/NationalSecurityAgency/datawave/blob/master/warehouse/query-core/src/main/java/datawave/mr/bulk/RecordIterator.java#L390).
 It seems to me this is either legacy use of internal code when there were no 
other options in the API or it is a more advanced use case of iterators, where 
there is need to load the iterators programmatically on the fly. I don't know 
enough about how it is used to know more.
   
   I think it would be good to try to understand the Datawave use case for this 
a bit better, before adding it as API. It's possible they are using some 
internals they don't need to, and shouldn't be. It's also possible there's a 
legitimate need for this kind of thing. I'm also curious what other projects 
might need to do this and why. Without knowing more about why they, or others, 
would need to construct the iterator stack in client code, I'm inclined to 
reserve judgement on whether or not it's a good idea to support this use case 
in the public API.
   
   More information about this use case, might be better aggregated with other 
information about various iterator use cases to improve the overall design of 
the iterator stack and tooling, rather than be used to implement a quick fix. I 
would encourage any iterator users with complex needs like this to open a 
dialogue on the developer mailing list to discuss possible design and API 
changes, so we can think through what the best future course of action is, 
before making changes to the public API.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to