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

Maxim Solodovnik commented on OPENMEETINGS-2331:
------------------------------------------------

Just tried this scenario and it works for me
I got log like this:

{code}
INFO  05-01 16:37:10.740 o.a.o.c.r.KurentoHandler:378 [ventExec-e18-t0] - 
Kurento disconnected
WARN  05-01 16:37:10.741 o.a.o.c.r.KurentoHandler:380 [ventExec-e18-t0] - 
Disconnected, will re-try in 10000 ms
WARN  05-01 16:37:10.741 o.a.o.c.r.KurentoHandler:115 [ventExec-e18-t0] - Media 
Server is not accessible
INFO  05-01 16:37:10.741 o.k.j.c.JsonRpcClientNettyWebSocket:191 
[nectExec-e19-t0] - [KurentoClient]  Connecting native client
INFO  05-01 16:37:10.742 o.k.j.c.JsonRpcClientNettyWebSocket:225 
[nectExec-e19-t0] - [KurentoClient]  Closing previously existing channel when 
connecting native client
INFO  05-01 16:37:10.743 o.k.j.c.JsonRpcClientNettyWebSocket:234 
[ntLoopGroup-4-2] - [KurentoClient]  Initiating new Netty channel. Will create 
new handler too!
WARN  05-01 16:37:35.751 o.k.j.c.AbstractJsonRpcClientWebSocket:484 
[ventExec-e18-t0] - [KurentoClient]  Exception sending close message. 
org.kurento.commons.TimeoutRuntimeException:[KurentoClient]  Timeout trying to 
connect to websocket server ws://127.0.0.1:8888/kurento
INFO  05-01 16:37:35.752 o.a.o.c.r.KurentoHandler:378 [ventExec-e20-t0] - 
Kurento disconnected
WARN  05-01 16:37:35.752 o.k.j.c.JsonRpcClientNettyWebSocket:308 
[ventExec-e18-t0] - [KurentoClient]  Trying to close a 
JsonRpcClientNettyWebSocket with channel == null
WARN  05-01 16:37:35.753 o.k.j.c.JsonRpcClientNettyWebSocket:291 
[ventExec-e18-t0] - [KurentoClient]  Trying to close a 
JsonRpcClientNettyWebSocket with group == null
WARN  05-01 16:37:35.753 o.k.j.c.JsonRpcClientNettyWebSocket:257 
[nectExec-e19-t0] - [KurentoClient]  ERROR connecting WS Netty client, opening 
channel
java.lang.InterruptedException: null
        at java.base/java.lang.Object.wait(Native Method)
        at java.base/java.lang.Object.wait(Object.java:328)
        at 
io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:252)
        at 
io.netty.channel.DefaultChannelPromise.await(DefaultChannelPromise.java:131)
        at 
io.netty.channel.DefaultChannelPromise.await(DefaultChannelPromise.java:30)
        at io.netty.util.concurrent.DefaultPromise.sync(DefaultPromise.java:403)
        at 
io.netty.channel.DefaultChannelPromise.sync(DefaultChannelPromise.java:119)
        at 
io.netty.channel.DefaultChannelPromise.sync(DefaultChannelPromise.java:30)
        at 
org.kurento.jsonrpc.client.JsonRpcClientNettyWebSocket.connectNativeClient(JsonRpcClientNettyWebSocket.java:254)
        at 
org.kurento.jsonrpc.client.AbstractJsonRpcClientWebSocket.internalConnectIfNecessary(AbstractJsonRpcClientWebSocket.java:711)
        at 
org.kurento.jsonrpc.client.AbstractJsonRpcClientWebSocket.connectIfNecessary(AbstractJsonRpcClientWebSocket.java:847)
        at 
org.kurento.jsonrpc.client.AbstractJsonRpcClientWebSocket$16.run(AbstractJsonRpcClientWebSocket.java:635)
        at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
INFO  05-01 16:37:35.845 o.k.j.c.JsonRpcClientNettyWebSocket:234 
[ntLoopGroup-4-3] - [KurentoClient]  Initiating new Netty channel. Will create 
new handler too!
WARN  05-01 16:37:35.849 o.k.j.c.JsonRpcClientNettyWebSocket:308 
[nectExec-e19-t0] - [KurentoClient]  Trying to close a 
JsonRpcClientNettyWebSocket with channel == null
INFO  05-01 16:37:35.849 o.a.o.c.r.KurentoHandler:378 [ventExec-e21-t0] - 
Kurento disconnected
WARN  05-01 16:37:35.849 o.k.j.c.JsonRpcClientNettyWebSocket:291 
[nectExec-e19-t0] - [KurentoClient]  Trying to close a 
JsonRpcClientNettyWebSocket with group == null
WARN  05-01 16:37:35.850 o.k.j.c.AbstractJsonRpcClientWebSocket:484 
[ventExec-e18-t0] - [KurentoClient]  Exception sending close message. 
org.kurento.jsonrpc.JsonRpcClientClosedException:Trying to send a message in a 
client closed explicitly. When a client is closed, it can't be reused. It is 
necessary to create another one
WARN  05-01 16:37:35.850 o.k.j.c.AbstractJsonRpcClientWebSocket:657 
[nectExec-e19-t0] - [KurentoClient]  Exception trying to reconnect to server 
ws://127.0.0.1:8888/kurento. Retrying in 2000 ms
org.kurento.jsonrpc.JsonRpcException: [KurentoClient]  Exception connecting to 
WebSocket server ws://127.0.0.1:8888/kurento
        at 
org.kurento.jsonrpc.client.AbstractJsonRpcClientWebSocket.internalConnectIfNecessary(AbstractJsonRpcClientWebSocket.java:735)
        at 
org.kurento.jsonrpc.client.AbstractJsonRpcClientWebSocket.connectIfNecessary(AbstractJsonRpcClientWebSocket.java:847)
        at 
org.kurento.jsonrpc.client.AbstractJsonRpcClientWebSocket$16.run(AbstractJsonRpcClientWebSocket.java:635)
        at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalStateException: executor not accepting a task
        at 
io.netty.resolver.AddressResolverGroup.getResolver(AddressResolverGroup.java:59)
        at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:192)
        at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:46)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:180)
        at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:166)
        at 
io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
        at 
io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:551)
        at 
io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)
        at 
io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)
        at 
io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:604)
        at 
io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:104)
        at 
io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
        at 
io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:984)
        at 
io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:504)
        at 
io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:417)
        at 
io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:474)
        at 
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
        at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        ... 1 common frames omitted
INFO  05-01 16:37:35.851 o.a.o.c.r.KurentoHandler:378 [ventExec-e23-t0] - 
Kurento disconnected
WARN  05-01 16:37:35.851 o.k.j.c.JsonRpcClientNettyWebSocket:308 
[ventExec-e18-t0] - [KurentoClient]  Trying to close a 
JsonRpcClientNettyWebSocket with channel == null
WARN  05-01 16:37:35.852 o.k.j.c.JsonRpcClientNettyWebSocket:291 
[ventExec-e18-t0] - [KurentoClient]  Trying to close a 
JsonRpcClientNettyWebSocket with group == null
INFO  05-01 16:37:45.854 o.k.j.c.JsonRpcClientNettyWebSocket:191 
[pool-1-thread-1] - [KurentoClient]  Connecting native client
INFO  05-01 16:37:45.855 o.k.j.c.JsonRpcClientNettyWebSocket:220 
[pool-1-thread-1] - [KurentoClient]  Creating new NioEventLoopGroup
INFO  05-01 16:37:45.857 o.k.j.c.JsonRpcClientNettyWebSocket:234 
[ntLoopGroup-5-1] - [KurentoClient]  Initiating new Netty channel. Will create 
new handler too!
INFO  05-01 16:37:45.861 o.a.o.c.r.KurentoHandler:396 [ventExec-e26-t0] - 
Kurento connected
{code}

Would appreciate if you can provide reproducible steps

> KMS connectivity isn't auto-recovering
> --------------------------------------
>
>                 Key: OPENMEETINGS-2331
>                 URL: https://issues.apache.org/jira/browse/OPENMEETINGS-2331
>             Project: Openmeetings
>          Issue Type: Bug
>          Components: Kurento
>    Affects Versions: 5.0.0-M4
>            Reporter: Konstantin Kuzov
>            Assignee: Maxim Solodovnik
>            Priority: Major
>
> If OM was started after Kurento Media Server then all is well and dandy. But 
> if KMS was started after OM or was restarted for some reason later (for 
> example due to update or crash) then OM will never recover from that and 
> currently require full OM restart.
> There should be some auto-recovery mechanism in place which will continuously 
> try to reinitiate connection (with configurable intervals) to KMS until a new 
> connection is established.



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

Reply via email to