diff --git a/java/memory/memory-core/src/main/java/org/apache/arrow/memory/ArrowBuf.java b/java/memory/memory-core/src/main/java/org/apache/arrow/memory/ArrowBuf.java index 446b1e9fb938..5b322b4ff566 100644 --- a/java/memory/memory-core/src/main/java/org/apache/arrow/memory/ArrowBuf.java +++ b/java/memory/memory-core/src/main/java/org/apache/arrow/memory/ArrowBuf.java @@ -1183,7 +1183,9 @@ public ArrowBuf setZero(long index, long length) { * this ArrowBuf has access to) * @param length length of bytes to set. * @return this ArrowBuf + * @deprecated use {@link ArrowBuf#setOne(long, long)} instead. */ + @Deprecated public ArrowBuf setOne(int index, int length) { if (length != 0) { this.checkIndex(index, length); @@ -1192,6 +1194,21 @@ public ArrowBuf setOne(int index, int length) { return this; } + /** + * Sets all bits to one in the specified range. + * @param index index index (0 based relative to the portion of memory + * this ArrowBuf has access to) + * @param length length of bytes to set. + * @return this ArrowBuf + */ + public ArrowBuf setOne(long index, long length) { + if (length != 0) { + this.checkIndex(index, length); + MemoryUtil.UNSAFE.setMemory(this.addr + index, length, (byte) 0xff); + } + return this; + } + /** * Returns this if size is less then {@link #capacity()}, otherwise * delegates to {@link BufferManager#replace(ArrowBuf, long)} to get a new buffer.