[ 
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, 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! 

  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. 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 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, 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! 



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

Reply via email to