Skip to content
This repository has been archived by the owner on Aug 21, 2024. It is now read-only.

Added error handling for instance provisioning returning a shutting-down instance #7000

Merged
merged 1 commit into from
Sep 23, 2022

Conversation

barankyle
Copy link
Member

@barankyle barankyle commented Sep 23, 2022

Summary

There are corner cases where an instance-provision occurs right before an instanceserver shuts down, or has its shutdown status recorded in the database. The provision returns an IP address that is immediately invalid. The SocketWebRTCClientNetwork instantiation was not handling this case, and throwing errors.

Now, whether there's an error with creating the websocket connection, or it fails to connect within 3 seconds, it disconnects and then attempts another instance-provision.

References

closes #insert number here

Checklist

  • If this PR is still a WIP, convert to a draft
  • ensure all checks pass
  • When this PR is ready, mark it as "Ready for review"
  • Changes have been manually QA'd
  • Changes reviewed by at least 2 approved reviewer

QA Steps

List any additional steps required to QA the changes of this PR, as well as any supplemental images or videos.

…own instance

There are corner cases where an instance-provision occurs right before an instanceserver
shuts down, or has its shutdown status recorded in the database. The provision returns an
IP address that is immediately invalid. The SocketWebRTCClientNetwork instantiation was not
handling this case, and throwing errors.

Now, whether there's an error with creating the websocket connection, or it fails to connect
within 3 seconds, it disconnects and then attempts another instance-provision.
@barankyle barankyle merged commit 4f595c8 into dev Sep 23, 2022
@barankyle barankyle deleted the instance-provision-fixes branch September 23, 2022 05:27
barankyle added a commit that referenced this pull request Sep 23, 2022
* fix a couple tsc errors

* Always discard entity 0

* remove unused precache support object

* fix save hotkey and scene preview save

* fix transform reset when reparenting

* fix reparent to self bug in editor

* fix portals, replace GroupColliderComponent with GLTFLoadedComponent

* cleanup logs

* cleanup logs

* Misc fixes for profile menu (#6970)

* Restored avatar change only allowed in location.

* misc fixes

* Fixed bug with project reset in deployed mode.

In deployed mode, pushProjectToGithub was deleting the project folder after push.
If the project had onInstall hooks to run, there was no local copy of the project to run on, and would throw errors.
Removed the deletion to fix this.

* fix import error

* fix scale and rotation controls in the editor

* Button Click Refactor (#6977)

* implement button click action, refactor active menu to be a react context

* avatar ui clickaway

* Implement System Cleanup Functions (#6971)

* implement system cleanup

* remove duplicated import

* implement subsystems

* isolate createExecute function

* update system types, debug shows system uuids

* fix logger (#6983)

* fix logger

* Passing VITE_DISABLE_LOG through builder

Co-authored-by: Kyle Baran <kbaran@bitscoop.com>

* fix hmd material handling

* only render when needed when in an HMD and no active session

* Delete xrengine black.png

* Fix transform update order (#6984)

* Fix Scene Update & Portals (#6991)

* fix scene update functionality, improve component defintion and lifecycle

* updat equality checks

* fixes

* Updates for various dependencies (#6931)

* Updated feathers

* Removed feathers-logger

* Updated feathers-sync

* Updated feathers-sequelize

* Update for remaining feathers packages

* Updated sequelize

* Updated mediasoup

* fixed typing errors for some endpoints.

* Fixed typing errors

* Updated to feathers to 5.0.0-pre.29

* Fixed errors

* Moved Params to classes.

* Replaced expressOauth with oauth. Ref feathersjs/feathers#2737

* Fixed errors in client-core

* Update paginate param to UserParams

Co-authored-by: Kyle Baran <kbaran@bitscoop.com>
Co-authored-by: Josh Field <joshfield999@gmail.com>

* xrui optimization

* cleanup

* Update typescript

This fixes some typing issues w/ react-i18next

* Fixed issues with key stuck on instance load and chat getting movement keys. (#6994)

Having 'autofocus' on the instance chat was causing problems. Since it's not display:none
when closed, and it doesn't load until the instance has been connected to, if it was rendered when
the user was moving, it was now getting focus. Their movement key presses were getting entered into
the instance chat, and movement was never seeing the keyup that would tell it to stop. Removed
autofocus from instance chat.

* Lightmap and texture editor fixes (#6995)

* add scale and offset fields in texture editor. improved thumbnail handling

* create static renderer & scene for createReadableTexture instead of initializing and disposing of them every function call

* Fixed issue with redis connection string password. (#6997)

feathers-sync v3 uses redis v4, which requires that the password be passed at the start of the
connection string, as opposed to as a query parameter. Made this change.

* Entity Tree Improvements (#6993)

* various scene fixes

* fix entity tree bugs

* test fixes

* Fixed issues with key stuck on instance load and chat getting movement keys. (#6994)

Having 'autofocus' on the instance chat was causing problems. Since it's not display:none
when closed, and it doesn't load until the instance has been connected to, if it was rendered when
the user was moving, it was now getting focus. Their movement key presses were getting entered into
the instance chat, and movement was never seeing the keyup that would tell it to stop. Removed
autofocus from instance chat.

* Lightmap and texture editor fixes (#6995)

* add scale and offset fields in texture editor. improved thumbnail handling

* create static renderer & scene for createReadableTexture instead of initializing and disposing of them every function call

* Fixed issue with redis connection string password. (#6997)

feathers-sync v3 uses redis v4, which requires that the password be passed at the start of the
connection string, as opposed to as a query parameter. Made this change.

* fix editor tests

* fix asset component

Co-authored-by: Gheric Speiginer <gheric.speiginer@gmail.com>
Co-authored-by: Kyle Baran <kbaran@bitscoop.com>
Co-authored-by: dinomut1 <94419856+dinomut1@users.noreply.github.com>
Co-authored-by: dinomut1 <heximhotep@gmail.com>

* Entity tree networked (#7002)

* various scene fixes

* fix entity tree bugs

* test fixes

* fix editor tests

* start implementing scene object networking

* fix dirty transform and spawn error

* more network logic refactoring

* disable for now

* improve tests

Co-authored-by: Gheric Speiginer <gheric.speiginer@gmail.com>

* Added error handling for instance provisioning returning a shutting-down instance (#7000)

There are corner cases where an instance-provision occurs right before an instanceserver
shuts down, or has its shutdown status recorded in the database. The provision returns an
IP address that is immediately invalid. The SocketWebRTCClientNetwork instantiation was not
handling this case, and throwing errors.

Now, whether there's an error with creating the websocket connection, or it fails to connect
within 3 seconds, it disconnects and then attempts another instance-provision.

* v1.0.0-rc3 (#7003)

Co-authored-by: CI Bot <ci-bot@xrengine.io>

Co-authored-by: HexaField <joshfield999@gmail.com>
Co-authored-by: Gheric Speiginer <gheric.speiginer@gmail.com>
Co-authored-by: Hanzla Mateen <hanzlamateen@live.com>
Co-authored-by: Liam Broza <mrhegemon@users.noreply.github.com>
Co-authored-by: dinomut1 <94419856+dinomut1@users.noreply.github.com>
Co-authored-by: dinomut1 <heximhotep@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CI Bot <ci-bot@xrengine.io>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant