Store iterators should be closed in all/most of the cases, but currently it is not consistently reflected in the documentation and javadocs. For instance https://kafka.apache.org/0110/documentation/streams/developer-guide#streams_developer-guide_interactive-queries_custom-stores does not mention the need to close an iterator and provide an example that does not do that.
Some of the fetch methods do mention the need to close an iterator returned (e.g. https://kafka.apache.org/0110/javadoc/org/apache/kafka/streams/state/ReadOnlyKeyValueStore.html#range(K,%20K)), but others do not: https://kafka.apache.org/0110/javadoc/org/apache/kafka/streams/state/ReadOnlyWindowStore.html#fetch(K,%20long,%20long)
It makes sense to:
- update javadoc for all store methods that do return iterators to reflect that the iterator returned needs to be closed
- mention it in the documentation and to update related examples.