[ 
https://issues.apache.org/jira/browse/CALCITE-5298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17609242#comment-17609242
 ] 

Julian Hyde commented on CALCITE-5298:
--------------------------------------

I understand why they are necessary, but in my opinion, checks like

{code:java}
} catch (RuntimeException e) {
  if (!"java.security.AccessControlException".equals(e.getClass().getName())) {
    ...
{code}

are mysterious. Is there a way to move the logic from this change and 
CALCITE-4823 into {{org.apache.calcite.util.Unsafe}} or 
{{org.apache.calcite.util.Compatible}} or similar?

Are there any steps we can take to prevent this problem happening in future? 
For instance, should we run CI with a security manager enabled?

> CalciteSystemProperty calcite.test.dataset path check fails under Java 
> Security Manager
> ---------------------------------------------------------------------------------------
>
>                 Key: CALCITE-5298
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5298
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.27.0, 1.28.0, 1.29.0, 1.30.0, 1.31.0, 1.32.0
>            Reporter: Kevin Risden
>            Assignee: Kevin Risden
>            Priority: Major
>
> SOLR-16433 found that Calcite does not handle the Java security manager 
> returning permission denied when checking that the calcite.test.dataset path 
> exists. Solr runs with a security manager that doesn't allow arbitrary 
> filesystem access. This failure causes Calcite to not load and therefore 
> unusable.
> The code in question is here: 
> https://github.com/apache/calcite/blame/main/core/src/main/java/org/apache/calcite/config/CalciteSystemProperty.java#L189
> A few other places in Calcite already check for SecurityException: 
> https://github.com/apache/calcite/search?q=SecurityException



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to