File tree Expand file tree Collapse file tree
java/src/test/java/org/rocksdb Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -453,6 +453,26 @@ public void setWriteBufferManagerWithZeroBufferSize() throws RocksDBException {
453453 }
454454 }
455455
456+ @ Test
457+ public void writeBufferManagerDynamicSettings () throws RocksDBException {
458+ try (final DBOptions opt = new DBOptions (); final Cache cache = new LRUCache (8 * 1024 * 1024 );
459+ final WriteBufferManager writeBufferManager = new WriteBufferManager (4 * 1024 * 1024 , cache , false )) {
460+ opt .setWriteBufferManager (writeBufferManager );
461+
462+ // Test initial state
463+ assertThat (writeBufferManager .enabled ()).isTrue ();
464+ assertThat (writeBufferManager .bufferSize ()).isEqualTo (4 * 1024 * 1024 );
465+ assertThat (writeBufferManager .allowStall ()).isFalse ();
466+
467+ // Test dynamic updates
468+ writeBufferManager .setBufferSize (8 * 1024 * 1024 );
469+ assertThat (writeBufferManager .bufferSize ()).isEqualTo (8 * 1024 * 1024 );
470+
471+ writeBufferManager .setAllowStall (true );
472+ assertThat (writeBufferManager .allowStall ()).isTrue ();
473+ }
474+ }
475+
456476 @ Test
457477 public void compactionReadaheadSize () {
458478 try (final DBOptions opt = new DBOptions ()) {
Original file line number Diff line number Diff line change @@ -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 ()) {
You can’t perform that action at this time.
0 commit comments