viirya commented on code in PR #40043:
URL: https://github.com/apache/arrow/pull/40043#discussion_r1488643033


##########
java/vector/src/main/java/org/apache/arrow/vector/BaseVariableWidthVector.java:
##########
@@ -476,11 +507,12 @@ private void allocateBytes(final long valueBufferSize, 
final int valueCount) {
   }
 
   /* allocate offset buffer */
-  private void allocateOffsetBuffer(final long size) {
+  private ArrowBuf allocateOffsetBuffer(final long size) {

Review Comment:
   > And yes, it seems ArrayExporter will increase the reference count by 1. 
But since it starts with a reference count of 1, that means these buffers will 
never be freed.
   
   No. There is callback in exported structured that is used to release buffer. 
The responsibility of calling the callback is on imported side (for example, 
Rust arrow, for our case). Once the imported side doesn't need the vector 
anymore, it will trigger the callback to release the buffer allocated in 
exported side.
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to