[
https://issues.apache.org/jira/browse/ARROW-5264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Liya Fan updated ARROW-5264:
----------------------------
Description:
The flag BoundsChecking#BOUNDS_CHECKING_ENABLED determines if boundary checking
is enabled/disabled in vector/arrow buffer APIs.
It has significant performance implications, since boundary checking is a
frequent operation.
This issue addresses 2 problems with the flag for boundary checking in Java API:
1. The flag can be determined by an environmental variable:
ARROW_ENABLE_UNSAFE_MEMORY_ACCESS, in addition to the system properties. The
system properties have higher priority than the environmental variable.
2. There is an old and a new system property for this flag. To disable boundary
checking, both the old and new properties must be set to true, which is
undesirable:
!screenshot-1.png!
was:
The flag BoundsChecking#BOUNDS_CHECKING_ENABLED determines if boundary checking
is enabled/disabled in vector/arrow buffer APIs.
It has significant performance implications, since boundary checking is a
frequent operation.
This issue address 2 problems with the flag for boundary checking in Java API:
1. This flag is final and initialized in a static block. That means, the only
reliable way to override it is in the JVM command line, by providing some
system properties. However, for some scenarios, it is difficult or even
impossible to get access to the JVM command line. Therefore, it is desirable to
provide a way to override it dynamically in the program code.
2. There is an old and a new system property for this flag. To disable boundary
checking, both the old and new properties must be set to true, which is
undesirable:
!screenshot-1.png!
> [Java] Allow enabling/disabling boundary checking by environmental variable
> ---------------------------------------------------------------------------
>
> Key: ARROW-5264
> URL: https://issues.apache.org/jira/browse/ARROW-5264
> Project: Apache Arrow
> Issue Type: Improvement
> Components: Java
> Reporter: Liya Fan
> Assignee: Liya Fan
> Priority: Minor
> Labels: pull-request-available
> Attachments: screenshot-1.png
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
> The flag BoundsChecking#BOUNDS_CHECKING_ENABLED determines if boundary
> checking is enabled/disabled in vector/arrow buffer APIs.
> It has significant performance implications, since boundary checking is a
> frequent operation.
> This issue addresses 2 problems with the flag for boundary checking in Java
> API:
> 1. The flag can be determined by an environmental variable:
> ARROW_ENABLE_UNSAFE_MEMORY_ACCESS, in addition to the system properties. The
> system properties have higher priority than the environmental variable.
> 2. There is an old and a new system property for this flag. To disable
> boundary checking, both the old and new properties must be set to true, which
> is undesirable:
> !screenshot-1.png!
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)