mjsax commented on code in PR #14600:
URL: https://github.com/apache/kafka/pull/14600#discussion_r1367568404
##########
docs/streams/upgrade-guide.html:
##########
@@ -133,6 +133,15 @@ <h3 class="anchor-heading"><a id="streams_notable_changes"
class="anchor-link"><
More details about the new config
<code>StreamsConfig#TOPOLOGY_OPTIMIZATION</code> can be found in <a
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-295%3A+Add+Streams+Configuration+Allowing+for+Optional+Topology+Optimization">KIP-295</a>.
</p>
+ <h3><a id="streams_api_changes_370"
href="#streams_api_changes_370">Streams API changes in 3.7.0</a></h3>
+ <p>
+ IQv2 supports a <code>RangeQuery</code> that allows to specify
unbounded, bounded, or half-open key-ranges.
+ Now, we add reverseRange and reverseAll query for
<code>RangeQuery</code>. The concepts of reverseRange and reverseAll are not
tied to any specific method or class.
+ Rather, they represent functionalities we wish to achieve. To achieve
the functionalities of reverseRange and reverseAll, we can introduce a method
named <code>withDescendingKeys()</code> for reversed queries.
+ Utilizing these, the query results are ordered based on the serialized
byte[] of the keys, not the 'logical' key order.
+ <a
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-985%3A+Add+reverseRange+and+reverseAll+query+over+kv-store+in+IQv2">KIP-985</a>
+ </p>
Review Comment:
I think we can simplify the paragraph (we try to be brief):
```
IQv2 supports <code>RangeQuery</code> that allows to specify unbounded,
bounded, or half-open key-ranges, which return data in ascending
(byte[]-lexicographical) order (per partition).
<a
href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-985%3A+Add+reverseRange+and+reverseAll+query+over+kv-store+in+IQv2">KIP-985</a>
extends this functionality by adding <code>.withDescendingKeys()<code> to
allow user to receive data in descending order.
```
##########
streams/src/main/java/org/apache/kafka/streams/state/ReadOnlyKeyValueStore.java:
##########
@@ -48,13 +48,13 @@ public interface ReadOnlyKeyValueStore<K, V> {
* Get an iterator over a given range of keys. This iterator must be
closed after use.
* The returned iterator must be safe from {@link
java.util.ConcurrentModificationException}s
* and must not return null values.
- * Order is not guaranteed as bytes lexicographical ordering might not
represent key order.
+ * Order based on the serialized byte[] of the keys, not the 'logical' key
order.
Review Comment:
`Order [is] based`
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]