Code: Select all
lobbyDev2#29|com.smartfoxserver.v2.exceptions.SFSRuntimeException: Join request discarded. User is already in a join transaction: ( User Name: host5, Id: 7, Priv: 0, Sess: 85.70.227.39:54481 )
lobbyDev2#29| at com.smartfoxserver.v2.api.SFSApi.joinRoom(SFSApi.java:849)
lobbyDev2#29| at com.smartfoxserver.v2.api.SFSApi.joinRoom(SFSApi.java:813)
...
lobbyDev2#29| at com.smartfoxserver.v2.extensions.SFSExtension.handleClientRequest(SFSExtension.java:208)
lobbyDev2#29| at com.smartfoxserver.v2.controllers.v290.ExtensionReqController.processRequest(ExtensionReqController.java:174)
lobbyDev2#29| at com.smartfoxserver.v2.controllers.v290.ExtensionReqController$1.run(ExtensionReqController.java:68)
lobbyDev2#29| at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
lobbyDev2#29| at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
lobbyDev2#29| at java.lang.Thread.run(Thread.java:745)
How is it possible?
Based on the stack trace, I can see. that client requests are asynchronous and multithreaded. joinRoom function is not? Why?
Why the joinRoom is not set as synchronized, which would solve the issue with multithreading.