A while ago, I made a Lambda function that subscribed to a SNS topic for GameLift event notifications. The lambda function would store relevant information into DynamoDb. There was one incident where an event of type MatchmakingSucceeded
came before an event of type PotentialMatchCreated
. There was no player acceptance in this case, so I assumed that perhaps because the the actual match was made so quickly that the events came out of order? This is pretty rare as I have again only experienced this once, and since then, I have ignored storing information about events of type PotentialMatchCreated
into DynamoDb. I am not 100% sure if I should ignore PotentialMatchCreated
events so definitely let me know if I shouldn't or if these events can contain important information that I am not seeing.
So this got me thinking, in cases where there is player acceptance, could events of type AcceptMatchCompleted
be sent to the SNS topic after events of type MatchmakingSucceeded
for the same match/ticket? Is the order of GameLift events being sent to SNS always guaranteed?
Right now when I make the clients poll DynamoDb for the latest status of their matchmaking tickets, I usually grab the latest entry in the table with the corresponding ticket id. However, now I'm wondering if I should account for this very rare case of events coming out of order and start having the clients check for each state of the matchmaking process one at a time. Hope this question made sense, thanks in advance!