[ 
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 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. 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 false or left empty, 
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 flag is final and initialized in a static block. That means, the only 
reliable way to override it is in the JVM command line. 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. 


> [Java] Allow enabling/disabling boundary checking dynamically in the code
> -------------------------------------------------------------------------
>
>                 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
>         Attachments: screenshot-1.png
>
>
> 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. 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 false or 
> left empty, which is undesirable:
>  !screenshot-1.png! 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to