Hello Ashok, Unfortunately, there is only one setting as of now, you can try adding session.setMaxIdleTimeout(98); at https://github.com/apache/knox/blob/92e2ec59a5940a9e7c67ec5cd29044f811dee40a/gateway-server/src/main/java/org/apache/knox/gateway/websockets/ProxyInboundClient.java#L61
and see if that helps. Best, Sandeep On Sun, Apr 22, 2018 at 9:17 PM, Ashok V Jose <[email protected]> wrote: > Hi Sandeep, > > Is there a parameter that I can set the timeouts for both > WebSocketServerConnection > and WebSocketClientConnection to a larger value from the knox settings ? > One of these is gateway.websocket.idle.timeout, is there an other one ? > Or are these set from the client program ? > > > Thanks & Regards, > Ashok Jose > > ********************************************************** > > BigInsights Quality > EGL C Block, 6th Floor > IBM India Software Labs, > Mail-Id : [email protected] > > > > > ----- Original message ----- > From: "Sandeep Moré" <[email protected]> > To: [email protected] > Cc: > Subject: Re: idleTimeout values are getting reset > Date: Thu, Apr 19, 2018 7:15 PM > > Hello Ashok, > > This is interesting, Knox opens up two connections for Websockets, one on > the client side (browser/client etc.) and other on the backend (service > host). > The timeouts you are seeing are for the two > 1. First debug line - WebSocketServerConnection - opens up websocket > connection to the backend > 2. Second debug line - WebSocketClientConnection - opens up websocket to > the browser > > As far as the timeouts are concerned the shortest one wins (and can be > configured), in this case 98, since the connection will be closed and the > error value relayed (or should be). > > I am curious why you are reducing the timeout value if you are getting > timeout errors, shouldn't you be increasing them, or perhaps you are just > debugging. > > Best, > Sandeep > > > > On Thu, Apr 19, 2018 at 7:04 AM, Ashok V Jose <[email protected]> > wrote: > > Hi Knox Experts, > > Needed a help incase you are aware of this issue. > > We have this scenario where in we are creating 20 python kernels > concurrently, we see that of these around 6-7 kernels fail with "Exception: > Remote host closed websocket" because of timeout. > > When we tried the same testcase outside of the knox, we did not see the > issue. All the kernels got created ok. > > So we suspected something in knox which is causing the issue, since the > failure is because of the timeout imposed, from the ambari console we > changed these 2 parameters “gateway.idle.timeout" and > "gateway.websocket.idle.timeout" to different values and ran the testcase. > > However we see in the knox logs that although we have set the > "gateway.websocket.idle.timeout" to 98 it is being reset to 300000. > > We see that idleTimeout is 98 , however it resets and becomes 300000 later > on. > > So basically it looks like whatever we set is being overwritten to 300000, > is this something you would know ? > > Here are the 2 lines which shows the values of idleTimeout to 98 and > 300000. > > 2018-04-13 09:17:38,266 DEBUG events.AbstractEventDriver > (AbstractEventDriver.java:openSession(223)) - > openSession(WebSocketSession[websocket=JettyListenerEventDri > ver[org.apache.hadoop.gateway.websockets.ProxyWebSocketAdapt > er],behavior=SERVER,connection=WebSocketServerConnection@3016d0df > [IDLE,DecryptedEndPoint@65fc705{/xx.xxx.xxx.xxx:xxxxx<->8443,Open,in,out,- > ,-,116/98,WebSocketServerConnection}->SelectChannelEndPoint@ > 2dd64f54{/xx.xxx.xxx.xxx:xxxxx<->8443,Open,in,out,-,-, > 1/98,SslConnection}{io=0,kio=0,kro=1}]{f=Flusher[queueSize= > 0,aggregateSize=0,failure=null],g=Generator[SERVER, > validating],p=Parser@faa724f[ExtensionStack,s=START,c=0,len= > 0,f=null,p=WebSocketPolicy@430a35ac[behavior=SERVER,maxTe > xtMessageSize=2147483647,maxTextMessageBufferSize=32768, > maxBinaryMessageSize=2147483647,maxBinaryMessageBufferSize=3 > 2768,asyncWriteTimeout=60000,idleTimeout=98,inputBufferSize= > 4096]]},remote=WebSocketRemoteEndpoint@63617fae[batching= > true],incoming=JettyListenerEventDriver[org.apache.hadoop. > gateway.websockets.ProxyWebSocketAdapter],outgoing= > ExtensionStack[queueSize=0,extensions=[],incoming=org. > eclipse.jetty.websocket.common.WebSocketSession, > outgoing=org.eclipse.jetty.websocket.server.WebSocketServerConnection]]) > > 2018-04-13 09:17:40,535 DEBUG component.ContainerLifeCycle > (ContainerLifeCycle.java:addBean(324)) - WebSocketSession[websocket=Jsr > AnnotatedEventDriver[websocket=org.apache.hadoop.gateway. > websockets.ProxyInboundSocket@66217bd6],behavior=CLIENT, > connection=WebSocketClientConnection@1fcb3472[IDLE,SelectCha > nnelEndPoint@627d9a4b{chs-ksj-013-mn003.bi.services.us- > south.bluemix.net/172.16.12.7:8888 > <https://urldefense.proofpoint.com/v2/url?u=http-3A__chs-2Dksj-2D013-2Dmn003.bi.services.us-2Dsouth.bluemix.net_172.16.12.7-3A8888&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=IwA-Q1lswMrNoI5t1-MA_ksLuVkVEL61cf3yFoZAQhs&m=KuF_gQ5T5ftR0kBZiq-bS1LStCGX_EQUxmjxxRsMmhA&s=8D9evF3bWGfa8JnkH-uYuDPPwbSdkMIywqdN71YK54k&e=> > <->38356,Open,in,out,-,-,1/300000,UpgradeConnection}{ > io=0,kio=0,kro=1}]{f=Flusher[queueSize=0,aggregateSize=0, > failure=null],g=Generator[CLIENT,validating],p=Parser@ > 1eafcb18[ExtensionStack,s=START,c=0,len=0,f=null,p=WebSo > cketPolicy@4e802544[behavior=CLIENT,maxTextMessageSize= > 2147483647,maxTextMessageBufferSize=32768,maxBinaryMessageSize=214748364 > 7,maxBinaryMessageBufferSize=32768,asyncWriteTimeout=60000,i > dleTimeout=300000,inputBufferSize=4096]]},remote=null, > incoming=JsrAnnotatedEventDriver[websocket=org.apache. > hadoop.gateway.websockets.ProxyInboundSocket@66217bd6],outgo > ing=ExtensionStack[queueSize=0,extensions=[],incoming=org. > eclipse.jetty.websocket.jsr356.JsrSession,outgoing=org.eclipse.jetty. > websocket.client.io > <https://urldefense.proofpoint.com/v2/url?u=http-3A__websocket.client.io&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=IwA-Q1lswMrNoI5t1-MA_ksLuVkVEL61cf3yFoZAQhs&m=KuF_gQ5T5ftR0kBZiq-bS1LStCGX_EQUxmjxxRsMmhA&s=zy1X0PBLcJG9oY_WokYJR4VUovokNlKYIC6gJ5v9vqk&e=> > .WebSocketClientConnection]] added {ExtensionStack[queueSize=0,ex > tensions=[],incoming=org.eclipse.jetty.websocket.jsr356. > JsrSession,outgoing=org.eclipse.jetty.websocket.client.io > <https://urldefense.proofpoint.com/v2/url?u=http-3A__client.io&d=DwMFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=IwA-Q1lswMrNoI5t1-MA_ksLuVkVEL61cf3yFoZAQhs&m=KuF_gQ5T5ftR0kBZiq-bS1LStCGX_EQUxmjxxRsMmhA&s=nFE8mkDLZuXacyVAmjtuACctac1uz_UxymZEYLDXim8&e=> > .WebSocketClientConnection],AUTO} > > This are the versions : Apache Knox: 0.12.0.2.6.2.0-205 > (c8ad94e5bd29a6925f5a667660a50cfc6de69cc3) > HDP-2.6.2.0-205 > > Please let me know if anything more would help > > > Thanks & Regards, > Ashok Jose > > ********************************************************** > > BigInsights Quality > EGL C Block, 6th Floor > IBM India Software Labs, > Mail-Id : [email protected] > > > > >
