Closed moufmouf closed 1 year ago
Maybe due to the map url fetching on /play/src/pusher/services/MetaTagsBuilder.ts line 276 :
private async fetchMapFile(): Promise<ITiledMap | undefined> {
// Note: we could probably read the map file ONLY if the request comes from a bot.
// Otherwise, the map file is already read in the Game scene!
// FIXME: This is incorrect, we need to fetch the mapUrl from the adminService.
// FIXME: This is incorrect, we need to fetch the mapUrl from the adminService.
// FIXME: This is incorrect, we need to fetch the mapUrl from the adminService.
// FIXME: This is incorrect, we need to fetch the mapUrl from the adminService.
// FIXME: This is incorrect, we need to fetch the mapUrl from the adminService.
// Then, we need to cache the call to the mapUrl to avoid too many calls (possibly setting up axios to use etags too!)
const urlObject = new URL(this.url);
let mapUrl = urlObject.pathname;
const urlParsed = mapUrl.substring(1).split("/");
// If the urlParsed is empty the url will be http://
mapUrl = "http://" + urlParsed.splice(2, urlParsed.length - 1).join("/");
// Error throw here and not catched !!!!
const fetchedData = await axios.get(mapUrl);
const checkMapFile = ITiledMap.safeParse(fetchedData.data);
return checkMapFile.success ? checkMapFile.data : undefined;
}
Today, in staging environment:
One pusher crashed.
When the pusher crashed, doppelgangers were created (probably doppelgangers of the users on the pusher that crashed).
When checking the /dump in the back server, Valdo does appear twice.
Hypothesis: the back did not detect successfully that the pusher is down and did not free / remove users registered in the pusher.
Logs of the pusher that crashed: