Closed vdelendik closed 7 months ago
Node will not be registered if there are no such device in STF by udid
Verified
2024-03-20 11:13:47.032:WARN:osjs.HttpChannel:qtp2041605291-152: /grid/register
java.security.InvalidParameterException: Error: Could not find device with udid 'bd03d..........0faf72a7d' in STF. Slot capabilities: {deviceType=tvOS, proxy_port=7443, server:CONFIG_UUID=1f4a................44e4a48, seleniumProtocol=WebDriver, server_proxy_port=0, adb_port=7442, deviceName=Apple_TV, platform=IOS, platformVersion=17.4, automationName=, maxInstances=1, platformName=ios, udid=bd03d...............f72a7d}
at org.openqa.grid.internal.BaseRemoteProxy.getNewInstance(BaseRemoteProxy.java:367)
at org.openqa.grid.web.servlet.RegistrationServlet.process(RegistrationServlet.java:103)
at org.openqa.grid.web.servlet.RegistrationServlet.doPost(RegistrationServlet.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.seleniumhq.jetty9.servlet.ServletHolder.handle(ServletHolder.java:865)
at org.seleniumhq.jetty9.servlet.ServletHandler.doHandle(ServletHandler.java:535)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.seleniumhq.jetty9.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.seleniumhq.jetty9.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.seleniumhq.jetty9.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.seleniumhq.jetty9.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.seleniumhq.jetty9.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.seleniumhq.jetty9.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.seleniumhq.jetty9.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.seleniumhq.jetty9.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.seleniumhq.jetty9.server.Server.handle(Server.java:503)
at org.seleniumhq.jetty9.server.HttpChannel.handle(HttpChannel.java:364)
at org.seleniumhq.jetty9.server.HttpConnection.onFillable(HttpConnection.java:260)
at [org.seleniumhq.jetty9.io](http://org.seleniumhq.jetty9.io/).AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at [org.seleniumhq.jetty9.io](http://org.seleniumhq.jetty9.io/).FillInterest.fillable(FillInterest.java:103)
at [org.seleniumhq.jetty9.io](http://org.seleniumhq.jetty9.io/).ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.seleniumhq.jetty9.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.seleniumhq.jetty9.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.seleniumhq.jetty9.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.seleniumhq.jetty9.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.base/java.lang.Thread.run(Thread.java:829)
we need two ways communication between device and grid. In case of any problem with networking especially for distributed setup we have to handle this use case better and remove container asap. There is no sense to register devices in STF as automation usge will be blocked.