Ethan Li created STORM-3728:
-------------------------------

             Summary: Workers are not able to connect to Pacemaker if 
pacemaker.auth.method is KERBEROS
                 Key: STORM-3728
                 URL: https://issues.apache.org/jira/browse/STORM-3728
             Project: Apache Storm
          Issue Type: Bug
            Reporter: Ethan Li


When pacemaker.auth.method is KERBEROS,  worker will fail to connect to 
KERBEROS because of exceptions like the following:
 
{code:java}
2020-12-21 20:07:00.786 o.a.s.c.PaceMakerStateStorage executor-heartbeat-timer 
[ERROR] Timed out waiting for channel ready. Failed to set_worker_hb. Will make 
2 more attempts.
2020-12-21 20:07:00.902 o.a.s.m.n.KerberosSaslClientHandler 
openstorm3blue-n10.blue.ygrid.yahoo.com-pm-1 [INFO] Connection established from 
/10.215.73.209:45548 to 
openstorm3blue-n10.blue.ygrid.yahoo.com/10.215.79.152:6699
2020-12-21 20:07:00.903 o.a.s.m.n.KerberosSaslNettyClient 
openstorm3blue-n10.blue.ygrid.yahoo.com-pm-1 [INFO] Creating Kerberos Client.
2020-12-21 20:07:00.906 o.a.s.m.n.KerberosSaslNettyClient 
openstorm3blue-n10.blue.ygrid.yahoo.com-pm-1 [INFO] Kerberos Client Callback 
Handler got callback: class javax.security.auth.callback.PasswordCallback
2020-12-21 20:07:00.906 o.a.s.m.n.Login 
openstorm3blue-n10.blue.ygrid.yahoo.com-pm-1 [ERROR] Login using jaas conf 
/home/y/lib/storm/current/conf/storm_jaas.conf failed
2020-12-21 20:07:00.906 o.a.s.m.n.KerberosSaslNettyClient 
openstorm3blue-n10.blue.ygrid.yahoo.com-pm-1 [ERROR] Client failed to login in 
principal:javax.security.auth.login.LoginException: No password provided
javax.security.auth.login.LoginException: No password provided
        at 
com.sun.security.auth.module.Krb5LoginModule.promptForPass(Krb5LoginModule.java:923)
 ~[?:1.8.0_262]
        at 
com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:764)
 ~[?:1.8.0_262]
        at 
com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:618) 
~[?:1.8.0_262]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:1.8.0_262]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[?:1.8.0_262]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_262]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_262]
        at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755) 
~[?:1.8.0_262]
        at 
javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) 
~[?:1.8.0_262]
        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) 
~[?:1.8.0_262]
        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) 
~[?:1.8.0_262]
        at java.security.AccessController.doPrivileged(Native Method) 
~[?:1.8.0_262]
        at 
javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) 
~[?:1.8.0_262]
        at javax.security.auth.login.LoginContext.login(LoginContext.java:587) 
~[?:1.8.0_262]
        at org.apache.storm.messaging.netty.Login.login(Login.java:301) 
~[storm-client-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at org.apache.storm.messaging.netty.Login.<init>(Login.java:83) 
~[storm-client-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.messaging.netty.KerberosSaslNettyClient.<init>(KerberosSaslNettyClient.java:66)
 [storm-client-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.messaging.netty.KerberosSaslClientHandler.channelActive(KerberosSaslClientHandler.java:59)
 [storm-client-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:192)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.ChannelInboundHandlerAdapter.channelActive(ChannelInboundHandlerAdapter.java:64)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:192)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.DefaultChannelPipeline$HeadContext.channelActive(DefaultChannelPipeline.java:1422)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.DefaultChannelPipeline.fireChannelActive(DefaultChannelPipeline.java:941)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:311)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:341)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:632)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_262]
2020-12-21 20:07:00.907 o.a.s.m.n.KerberosSaslClientHandler 
openstorm3blue-n10.blue.ygrid.yahoo.com-pm-1 [ERROR] Failed to authenticate 
with server due to error:
java.lang.RuntimeException: javax.security.auth.login.LoginException: No 
password provided
        at 
org.apache.storm.messaging.netty.KerberosSaslNettyClient.<init>(KerberosSaslNettyClient.java:71)
 ~[storm-client-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.messaging.netty.KerberosSaslClientHandler.channelActive(KerberosSaslClientHandler.java:59)
 [storm-client-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:192)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.ChannelInboundHandlerAdapter.channelActive(ChannelInboundHandlerAdapter.java:64)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.fireChannelActive(AbstractChannelHandlerContext.java:192)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.DefaultChannelPipeline$HeadContext.channelActive(DefaultChannelPipeline.java:1422)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:213)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(AbstractChannelHandlerContext.java:199)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.DefaultChannelPipeline.fireChannelActive(DefaultChannelPipeline.java:941)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:311)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:341)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:632)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.shade.io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
 [storm-shaded-deps-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_262]
Caused by: javax.security.auth.login.LoginException: No password provided
        at 
com.sun.security.auth.module.Krb5LoginModule.promptForPass(Krb5LoginModule.java:923)
 ~[?:1.8.0_262]
        at 
com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:764)
 ~[?:1.8.0_262]
        at 
com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:618) 
~[?:1.8.0_262]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:1.8.0_262]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
~[?:1.8.0_262]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:1.8.0_262]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_262]
        at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755) 
~[?:1.8.0_262]
        at 
javax.security.auth.login.LoginContext.access$000(LoginContext.java:195) 
~[?:1.8.0_262]
        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682) 
~[?:1.8.0_262]
        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680) 
~[?:1.8.0_262]
        at java.security.AccessController.doPrivileged(Native Method) 
~[?:1.8.0_262]
        at 
javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) 
~[?:1.8.0_262]
        at javax.security.auth.login.LoginContext.login(LoginContext.java:587) 
~[?:1.8.0_262]
        at org.apache.storm.messaging.netty.Login.login(Login.java:301) 
~[storm-client-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at org.apache.storm.messaging.netty.Login.<init>(Login.java:83) 
~[storm-client-2.3.0.y.jar:2.3.0-SNAPSHOT]
        at 
org.apache.storm.messaging.netty.KerberosSaslNettyClient.<init>(KerberosSaslNettyClient.java:66)
 ~[storm-client-2.3.0.y.jar:2.3.0-SNAPSHOT]
        ... 20 more
2020-12-21 20:07:01.802 o.a.s.p.PacemakerClient executor-heartbeat-timer 
[ERROR] Error attempting to write to a channel to host 
openstorm3blue-n10.blue.ygrid.yahoo.com - Timed out waiting for channel ready.
2020-12-21 20:07:01.803 o.a.s.p.PacemakerClient executor-heartbeat-timer [WARN] 
Not getting response or getting null response. Making 9 more attempts for 
openstorm3blue-n10.blue.ygrid.yahoo.com.
{code}

Currently by design 
[https://github.com/apache/storm/blob/master/docs/Pacemaker.md#security] 
pacemaker allows writes by anyone (which should be improved in the future). 

So a quick fix is to make sure worker always has pacemaker.auth.method set to  
NONE

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to