You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2025/02/05 02:07:00 UTC

[jira] [Commented] (IMPALA-13702) Webserver.StartWithPasswordFileTest fails with JDK 17

    [ 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 <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>


> 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: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org