mirror of https://github.com/apache/cassandra
Allow setCompressedReadAheadBufferSizeInKb(0) to disable RAB
This commit is contained in:
parent
1515da5635
commit
0a6bf2b7f5
|
|
@ -3067,8 +3067,8 @@ public class DatabaseDescriptor
|
|||
|
||||
public static void setCompressedReadAheadBufferSizeInKb(int sizeInKb)
|
||||
{
|
||||
if (sizeInKb < 256)
|
||||
throw new IllegalArgumentException("compressed_read_ahead_buffer_size_in_kb must be at least 256KiB");
|
||||
if (sizeInKb != 0 && sizeInKb < 256)
|
||||
throw new IllegalArgumentException("compressed_read_ahead_buffer_size_in_kb must be at least 256KiB (set to 0 to disable)");
|
||||
|
||||
conf.compressed_read_ahead_buffer_size = createIntKibibyteBoundAndEnsureItIsValidForByteConversion(sizeInKb, "compressed_read_ahead_buffer_size");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1190,4 +1190,28 @@ public class DatabaseDescriptorTest
|
|||
conf.local_system_data_file_directory = savedLocalSystemDir;
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSetCompressedReadAheadBufferSizeInKb()
|
||||
{
|
||||
int original = DatabaseDescriptor.getCompressedReadAheadBufferSizeInKB();
|
||||
try
|
||||
{
|
||||
// 0 should be a legal value, and represents disabling read-ahead buffer
|
||||
DatabaseDescriptor.setCompressedReadAheadBufferSizeInKb(0);
|
||||
assertEquals(0, DatabaseDescriptor.getCompressedReadAheadBufferSizeInKB());
|
||||
assertEquals(0, DatabaseDescriptor.getCompressedReadAheadBufferSize());
|
||||
|
||||
Assertions.assertThatThrownBy(() -> DatabaseDescriptor.setCompressedReadAheadBufferSizeInKb(255))
|
||||
.isInstanceOf(IllegalArgumentException.class)
|
||||
.hasMessage("compressed_read_ahead_buffer_size_in_kb must be at least 256KiB (set to 0 to disable)");
|
||||
|
||||
DatabaseDescriptor.setCompressedReadAheadBufferSizeInKb(256);
|
||||
assertEquals(256, DatabaseDescriptor.getCompressedReadAheadBufferSizeInKB());
|
||||
}
|
||||
finally
|
||||
{
|
||||
DatabaseDescriptor.setCompressedReadAheadBufferSizeInKb(original);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue