Closed ano010 closed 2 years ago
Hi
This seems like the expired SEB connection token issue we lately discovered by ourselves with the 1.3 Version of SEB Server. This will going to be permanently fixed within the next Version 1.4. But for now you can set the following SEB Server setup setting within your application-prod.properties file or as ENV-Variable within your docker-compose setup:
sebserver.webservice.api.admin.accessTokenValiditySeconds=-1
Please note that if you set this via ENV-Variable you have to replace the "." with "_":
sebserver_webservice_api_admin_accessTokenValiditySeconds=-1
Then restart your services. This fixes the known bug so far.
Further information and tips: For the next Version of SEB Server we fix this within the code as well as on the SEB side to let SEB handle expired SEB Server tokens more accurate.
The bug causes SEB to not be able to communicate anymore with the SEB Server after the access token is expired. So it is also not possible to use the "quit" instruction to signal the SEB to close the connection. SEB also do not send pings and logs anymore to the SEB Server. This would also happen if a SEB was hard-terminated on the device or if SEB simply cannot reach SEB Server anymore because of some network issues.
If you want to hard-close such a missing SEB connection within the monitoring, you can use the "Mark As Canceled" action. This will cancel the connection on SEB Server side and remove also the participant form the proctoring room.
To be able to delete an exam all SEB connections must be either in "Closed" state or in "Disabled" state. If you have some still active SEB connection that are not responding anymore and you also expect them not to respond anymore, you can just select all of them and mark them as disabled. Then you should be able to delete the exam
Hi, @anhefti Thanks for the information. I have set the above-mentioned property as an environment variable. But seems like the issue is still there. Should I clear the database as well and restart the server?
Hi. which issue exactly is still there? Do you have to restart the SEB Server services after the settings change, at least the webservices (all of them)? If you still have Missing SEB client connection from before (the change), just mark them as Disabled like described above.
It is possible that the old access token is still in place (until expiration) and will once again expire. But after that SEB Server generates a new access token. If you want you can clear the DB but to remove the old access token or if you have access, truncate the table oauth_access_token to force creating new tokens.
Please try again and if you still have SEB connections that are active in the beginning and then suddenly went to Missing, the issue still exists and the setting was probably not correctly set.
Describe the bug SEB server shows some client is missing even after the clients are disconnected when multiple SEB clients have been connected to the SEB server. I tried to force quit all the clients in the SEB server using the option "Quit All SEB Clients" but still the issue exists. It shows some clients are missing. It prevents some other functions in SEB sever. For example, the associated exam can not be deleted since the client connection persists.
To Reproduce Steps to reproduce the behavior:
Expected behavior The client should be disconnected from the SEB server, its status should be "Closed", there should not be any proctoring room. The server should disconnect all the client after the force quit using "Quit All SEB Clients". And the exam can be deleted if there is no any client connection.
Screenshots
Setup: