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

ASF subversion and git services commented on IMPALA-13702:
----------------------------------------------------------

Commit 261517cfb406efc910dbc83ccf6dfae83cb6ce4d in impala's branch 
refs/heads/master from Csaba Ringhofer
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=261517cfb ]

IMPALA-13702: Fix Webserver.StartWithPasswordFileTest with JDK 17

Only use the last 3 characters of curl output in status code tests
to ignore warnings on JDK 17. See the Jira for the details of
the warning.

Change-Id: I73d696b0e439457f69df4deea93583eefd32483c
Reviewed-on: http://gerrit.cloudera.org:8080/22431
Reviewed-by: Impala Public Jenkins <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>


> Webserver.StartWithPasswordFileTest fails with JDK 17
> -----------------------------------------------------
>
>                 Key: IMPALA-13702
>                 URL: https://issues.apache.org/jira/browse/IMPALA-13702
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend, Frontend
>            Reporter: Csaba Ringhofer
>            Priority: Critical
>
> The test was modified recently to use full curl output instead of just the 
> status code. The test fails with jdk 17 because the output contains the 
> following warning:
> ""OpenJDK VM warning: the use of signal() and sigset() for signal chaining 
> was deprecated in version 16.0 and will be removed in a future release. Use 
> sigaction() instead."
> This comes is JDK deprecation warning which is printed to stdout instead of 
> stderr by mistake.  The bug about printing to stdout is already solved 
> (https://bugs.openjdk.org/browse/JDK-8344646) but not yet released in open 
> jdk 17.
> https://bugs.openjdk.org/browse/JDK-8257572 contains detailed description on 
> why signal() was deprecated. This is supposed to come up only in rare 
> circumstances, but Impala happens to tick all the boxes:
> from 
> https://bugs.openjdk.org/browse/JDK-8257572?focusedId=14387439&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14387439
>  :
> "To clarify the scope of impact here, this change requires the following 
> conditions to be met:
> - A custom launcher process that directly loads the JVM
> - The custom launcher needs to install signal handlers after the VM is loaded 
> (there is no issue with installing before by any mechanism as libjsig is not 
> involved)
> - The custom launcher uses the archaic signal/sigset functions to install 
> their handler"
> Impala's debug webserver uses signal() during startup to avoid the 
> side-effect  of squeasel startup, which also uses signal(). So to really 
> avoid using signal(), it is not enough to change Impala, squeasel also needs 
> to be modified.
> https://github.com/apache/impala/blob/b1a985be5eb49db6f23912a1439eeb59d74a278e/be/src/util/webserver.cc#L538
> https://github.com/cloudera/squeasel/blob/d83cf6d9af0e2c98c16467a6a035ae0d7ca21cb1/squeasel.h#L183
> https://github.com/cloudera/squeasel/blob/d83cf6d9af0e2c98c16467a6a035ae0d7ca21cb1/squeasel.c#L4608
> The short term solution could be simply to filter out this warning from the 
> curl output, but on the long run it would be better to avoid using signal(), 
> as newer JDKs may become incompatible with it.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to