@@ -699,6 +699,32 @@ public void setWriteBufferManagerWithAllowStall() throws RocksDBException {
699699 }
700700 }
701701
702+ @ Test
703+ public void writeBufferManagerMonitoring () throws RocksDBException {
704+ try (final Options opt = new Options (); final Cache cache = new LRUCache (1024 * 1024 );
705+ final WriteBufferManager writeBufferManager = new WriteBufferManager (8 * 1024 * 1024 , cache , true )) {
706+ opt .setWriteBufferManager (writeBufferManager );
707+
708+ // Test monitoring methods
709+ assertThat (writeBufferManager .enabled ()).isTrue ();
710+ assertThat (writeBufferManager .costToCache ()).isTrue ();
711+ assertThat (writeBufferManager .bufferSize ()).isEqualTo (8 * 1024 * 1024 );
712+ assertThat (writeBufferManager .memoryUsage ()).isEqualTo (0L );
713+ assertThat (writeBufferManager .mutableMemtableMemoryUsage ()).isEqualTo (0L );
714+ assertThat (writeBufferManager .dummyEntriesInCacheUsage ()).isEqualTo (0L );
715+ assertThat (writeBufferManager .isStallActive ()).isFalse ();
716+ assertThat (writeBufferManager .isStallThresholdExceeded ()).isFalse ();
717+
718+ // Test dynamic buffer size change
719+ writeBufferManager .setBufferSize (16 * 1024 * 1024 );
720+ assertThat (writeBufferManager .bufferSize ()).isEqualTo (16 * 1024 * 1024 );
721+
722+ // Test dynamic allowStall change
723+ writeBufferManager .setAllowStall (false );
724+ assertThat (writeBufferManager .allowStall ()).isFalse ();
725+ }
726+ }
727+
702728 @ Test
703729 public void compactionReadaheadSize () {
704730 try (final Options opt = new Options ()) {
0 commit comments