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


##########
streams/src/main/java/org/apache/kafka/streams/state/internals/metrics/RocksDBMetricsRecorder.java:
##########
@@ -462,8 +462,10 @@ public void record(final long now) {
             writeStallDuration += 
valueProviders.statistics.getAndResetTickerCount(TickerType.STALL_MICROS);
             bytesWrittenDuringCompaction += 
valueProviders.statistics.getAndResetTickerCount(TickerType.COMPACT_WRITE_BYTES);
             bytesReadDuringCompaction += 
valueProviders.statistics.getAndResetTickerCount(TickerType.COMPACT_READ_BYTES);
-            numberOfOpenFiles += 
valueProviders.statistics.getAndResetTickerCount(TickerType.NO_FILE_OPENS)
-                - 
valueProviders.statistics.getAndResetTickerCount(TickerType.NO_FILE_CLOSES);
+
+            // NO_FILE_CLOSES metric was removed in RocksDB 9.7.3.
+            // This now tracks the total number of file opens since the last 
reset.
+            numberOfOpenFiles += 
valueProviders.statistics.getAndResetTickerCount(TickerType.NO_FILE_OPENS);

Review Comment:
   As commented on the Jira ticket, changing semantics of an existing metric 
does not sound right. I would rather just report `-1` surrogate for now, and 
deprecate this metric with 4.0 release.
   
   Curious to hear what others think.



##########
streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java:
##########
@@ -571,17 +570,6 @@ public long dbWriteBufferSize() {
         return dbOptions.dbWriteBufferSize();
     }
 
-    @Override
-    public Options setAccessHintOnCompactionStart(final AccessHint accessHint) 
{
-        dbOptions.setAccessHintOnCompactionStart(accessHint);
-        return this;
-    }
-
-    @Override
-    public AccessHint accessHintOnCompactionStart() {
-        return dbOptions.accessHintOnCompactionStart();

Review Comment:
   It's too bad that RockDB does not mark methods as deprecated but just 
removes stuff.
   
   This was always an issue for us (even if we have to admit, that we are 
upgrade from a quite old version...). I guess we just need to bite the bullet 
and make this breaking change... Seem we need to start tracking RocksDB changes 
more closely and frequently and do KIPs early on to prepare for breaking 
changes. (What basically implies, that we can upgrade RocksDB only in major 
release if there are breaking changes...)
   
   Or we change our "policy" for RocksDB compatibility and document it 
properly, reserving the right to break compatibility via RocksDB version bumps 
also in minor release.



##########
streams/src/main/java/org/apache/kafka/streams/state/internals/RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter.java:
##########
@@ -842,12 +830,6 @@ public Options setSstFileManager(final SstFileManager 
sstFileManager) {
         return this;
     }
 
-    @Override
-    public Options setLogger(final org.rocksdb.Logger logger) {
-        dbOptions.setLogger(logger);

Review Comment:
   If this was removed, too, can you add it to the PR description.



-- 
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]

Reply via email to