Merge pull request #6041 from seakider/fix_truncate

Fixed - SeekableByteChannel#truncate method
pull/6042/head
Nikita Koksharov 8 months ago committed by GitHub
commit 638fb171f4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -179,6 +179,13 @@ public class RedissonBinaryStream extends RedissonBucket<byte[]> implements RBin
@Override
public SeekableByteChannel truncate(long size) throws IOException {
if (size < 0) {
throw new IllegalArgumentException("Negative size");
}
if (size == 0) {
delete();
return this;
}
get(commandExecutor.evalWriteAsync(getRawName(), LongCodec.INSTANCE, RedisCommands.EVAL_VOID,
"local len = redis.call('strlen', KEYS[1]); " +
"if tonumber(ARGV[1]) >= len then " +

@ -95,6 +95,9 @@ public class RedissonBinaryStreamTest extends RedisDockerTest {
b.get(bb);
assertThat(c.size()).isEqualTo(3);
assertThat(bb).isEqualTo(new byte[]{1, 2, 3});
c.truncate(0);
assertThat(c.size()).isEqualTo(0);
}
@Test

Loading…
Cancel
Save