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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]