Skip to content

Latest commit

 

History

History
25 lines (15 loc) · 2 KB

2022-12-27.md

File metadata and controls

25 lines (15 loc) · 2 KB

December 27, 2022 SDK Preview doesn't work

Reported on Slack Dec-27-2022
Mitigation Dec-27-2022
Solution Completed Jan-04-2023

What happened?

After updating all peers from Catalyst v5.1.10 to v5.1.12 the nodes stopped serving the base wearables (like the BaseFemale) on any available endpoint for this need. This led to an issue on the SDK preview where users could not use this feature at all and also affected the avatar preview and edition on both SDK and Explorer. That made it impossible for users to be able to edit or deploy a new version of their avatar.

Why did it happen?

The Catalyst nodes were updated to solve a case where the peers could not serve base wearables if they were requested using uppercases or mix cases, it was only working with lowercases parameters. After updating the peers to v5.1.12 the wearables were being returned as expected for both cases (upper and lower cases) on the first calls but after receiving a call to retrieve a wearable using mix cases, the cache ended up in an inconsistent state causing subsequent calls to fail even if they were being sent with only lowercase letters.

Impact

During the time of the incident (Dec 26th to Dec 27th) the users could not see, edit or deploy their avatars.

Solution

The entities pointers are saved in memory on the Catalysts to be able to link them with their respective ids for further retrievals. The solution is to normalize the key saved on this memory so the pointers urn:decentraland:off-chain:base-avatars:basefemale or urn:decentraland:off-chain:base-avatars:BaseFemale are mapped to the same entity id to avoid treating them as different entities. Therefore, the client could request any case variation of this wearable and the Catalyst will answer with the same entity every time.

Fix: https://github.com/decentraland/catalyst/commit/8e9e2abcd340a6d5c4753163a580c36d832114c0