cadonna commented on code in PR #18275:
URL: https://github.com/apache/kafka/pull/18275#discussion_r1903971813


##########
docs/streams/upgrade-guide.html:
##########
@@ -173,6 +171,21 @@ <h3><a id="streams_api_changes_400" 
href="#streams_api_changes_400">Streams API
       See <a href="https://cwiki.apache.org/confluence/x/TZCMEw";>KIP-1112</a> 
for more details.
     </p>
 
+    <h3><a id="streams_api_changes_400" 
href="#streams_api_changes_400">Streams API changes in 4.0.0</a></h3>
+
+    <p>
+        Upgraded RocksDB dependency to version 9.7.3 (from 7.9.2). This 
upgrade incorporates various improvements and optimizations within RocksDB. 
However, it also introduces some API changes.
+        The <code>org.rocksdb.AccessHint</code> class, along with its 
associated methods, has been removed.
+
+        <code>org.rocksdb.Options.setMemtableMaxRangeDeletions(int p1): 
ColumnFamilyOptionsInterface</code> has been added, providing control over the 
maximum number of range deletions in the memtable.
+        <code>org.rocksdb.Options.memtableMaxRangeDeletions(): int</code> has 
been added, allowing retrieval of the configured maximum number of range 
deletions in the memtable.
+
+        The <code>org.rocksdb.Options.setLogger()</code> method now accepts a 
<code>LoggerInterface</code> as a parameter instead of the previous 
<code>Logger</code>.
+        The <code>NO_FILE_CLOSES</code> field has been removed from the 
<code>org.rocksdb.TickerTypeenum</code>.

Review Comment:
   Could you please mention that since this field is removed, the 
`number-open-files` metrics does not work as expected?



##########
docs/streams/upgrade-guide.html:
##########
@@ -173,6 +171,21 @@ <h3><a id="streams_api_changes_400" 
href="#streams_api_changes_400">Streams API
       See <a href="https://cwiki.apache.org/confluence/x/TZCMEw";>KIP-1112</a> 
for more details.
     </p>
 
+    <h3><a id="streams_api_changes_400" 
href="#streams_api_changes_400">Streams API changes in 4.0.0</a></h3>
+
+    <p>
+        Upgraded RocksDB dependency to version 9.7.3 (from 7.9.2). This 
upgrade incorporates various improvements and optimizations within RocksDB. 
However, it also introduces some API changes.
+        The <code>org.rocksdb.AccessHint</code> class, along with its 
associated methods, has been removed.
+
+        <code>org.rocksdb.Options.setMemtableMaxRangeDeletions(int p1): 
ColumnFamilyOptionsInterface</code> has been added, providing control over the 
maximum number of range deletions in the memtable.
+        <code>org.rocksdb.Options.memtableMaxRangeDeletions(): int</code> has 
been added, allowing retrieval of the configured maximum number of range 
deletions in the memtable.

Review Comment:
   I would only add statements about stuff that was removed because that breaks 
the users' applications.  



##########
docs/streams/upgrade-guide.html:
##########
@@ -173,6 +171,21 @@ <h3><a id="streams_api_changes_400" 
href="#streams_api_changes_400">Streams API
       See <a href="https://cwiki.apache.org/confluence/x/TZCMEw";>KIP-1112</a> 
for more details.
     </p>
 
+    <h3><a id="streams_api_changes_400" 
href="#streams_api_changes_400">Streams API changes in 4.0.0</a></h3>
+
+    <p>
+        Upgraded RocksDB dependency to version 9.7.3 (from 7.9.2). This 
upgrade incorporates various improvements and optimizations within RocksDB. 
However, it also introduces some API changes.
+        The <code>org.rocksdb.AccessHint</code> class, along with its 
associated methods, has been removed.
+
+        <code>org.rocksdb.Options.setMemtableMaxRangeDeletions(int p1): 
ColumnFamilyOptionsInterface</code> has been added, providing control over the 
maximum number of range deletions in the memtable.
+        <code>org.rocksdb.Options.memtableMaxRangeDeletions(): int</code> has 
been added, allowing retrieval of the configured maximum number of range 
deletions in the memtable.
+
+        The <code>org.rocksdb.Options.setLogger()</code> method now accepts a 
<code>LoggerInterface</code> as a parameter instead of the previous 
<code>Logger</code>.
+        The <code>NO_FILE_CLOSES</code> field has been removed from the 
<code>org.rocksdb.TickerTypeenum</code>.
+        Some data types used in RocksDB's Java API have been modified. These 
changes, along with the removed class, field, and new methods, are primarily 
relevant to users implementing custom RocksDB configurations.
+        These changes are expected to be largely transparent to most Kafka 
Streams users. However, those employing advanced RocksDB customizations within 
their Streams applications, particularly through the 
<code>rocksdb.config.setter</code>, are advised to consult the detailed RocksDB 
9.7.3 changelog to ensure a smooth transition and adapt their configurations as 
needed. Specifically, users leveraging the removed 
<code>AccessHintclass</code>, the <code>NO_FILE_CLOSES</code> field from 
<code>TickerType</code>, or relying on the previous signature of 
<code>setLogger()</code> will need to update their implementations.

Review Comment:
   The compatibility report also lists the removal of methods of 
`BlockBasedTableConfig` which might be important here. 



##########
streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java:
##########


Review Comment:
   There are a couple of deprecated methods in this file that can be completely 
removed since 4.0 is a major release. For example `baseBackgroundCompactions()`.



##########
docs/ops.html:
##########
@@ -3473,11 +3473,6 @@ <h5 class="anchor-heading"><a 
id="kafka_streams_rocksdb_monitoring" class="ancho
       <td>The maximum duration in ms of disc compactions.</td>
       
<td>kafka.streams:type=stream-state-metrics,thread-id=([-.\w]+),task-id=([-.\w]+),[store-scope]-id=([-.\w]+)</td>
     </tr>
-    <tr>
-      <td>number-open-files</td>
-      <td>The number of current open files.</td>
-      
<td>kafka.streams:type=stream-state-metrics,thread-id=([-.\w]+),task-id=([-.\w]+),[store-scope]-id=([-.\w]+)</td>
-    </tr>

Review Comment:
   Instead of removing this row, could you add a comment that the metric will 
return constant `-1` and why it returns that?
   In the end the metric is still exposed, it just returns a useless constant 
value.
   
   If you want, you are welcome to create a KIP to remove this metric from 
Streams. Once that KIP is accepted, we can remove the metric from in the next 
major release.



##########
docs/streams/upgrade-guide.html:
##########
@@ -139,8 +139,6 @@ <h3 class="anchor-heading"><a id="streams_notable_changes" 
class="anchor-link"><
         More details about the new config 
<code>StreamsConfig#TOPOLOGY_OPTIMIZATION_CONFIG</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_400" 
href="#streams_api_changes_400">Streams API changes in 4.0.0</a></h3>

Review Comment:
   Still not clear why this line was moved.



-- 
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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to