This commit is contained in:
Nivy Kani 2026-07-30 21:19:01 -07:00 committed by GitHub
commit 6d45f57963
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 2 deletions

View File

@ -3056,8 +3056,8 @@ public class DatabaseDescriptor
public static void setCompressedReadAheadBufferSizeInKb(int sizeInKb) public static void setCompressedReadAheadBufferSizeInKb(int sizeInKb)
{ {
if (sizeInKb < 256) if (sizeInKb < 0 || (sizeInKb > 0 && sizeInKb < 256))
throw new IllegalArgumentException("compressed_read_ahead_buffer_size_in_kb must be at least 256KiB"); 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"); conf.compressed_read_ahead_buffer_size = createIntKibibyteBoundAndEnsureItIsValidForByteConversion(sizeInKb, "compressed_read_ahead_buffer_size");
} }

View File

@ -1212,4 +1212,28 @@ public class DatabaseDescriptorTest
conf.local_system_data_file_directory = savedLocalSystemDir; 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);
}
}
} }