From 904e2a96f9f4ee9a32654d9913a4907c5dec6ea1 Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 24 Jun 2023 10:40:36 +1200 Subject: [PATCH 1/3] fix remote backfill bug --- .../Matchplay/Server/Services/MatchplayBackfiller.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts/Matchplay/Server/Services/MatchplayBackfiller.cs b/Assets/Scripts/Matchplay/Server/Services/MatchplayBackfiller.cs index ed35829..9919ace 100644 --- a/Assets/Scripts/Matchplay/Server/Services/MatchplayBackfiller.cs +++ b/Assets/Scripts/Matchplay/Server/Services/MatchplayBackfiller.cs @@ -136,7 +136,11 @@ async Task BackfillLoop() } else { - m_LocalBackfillTicket = await MatchmakerService.Instance.ApproveBackfillTicketAsync(m_LocalBackfillTicket.Id); + var remoteBackfillTicket = await MatchmakerService.Instance.ApproveBackfillTicketAsync(m_LocalBackfillTicket.Id); + if (!m_LocalDataDirty) + { + m_LocalBackfillTicket = remoteBackfillTicket; + } } if (!NeedsPlayers()) From 769818bb289b4638e4f1fade0f93adb41204100a Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 24 Jun 2023 11:26:06 +1200 Subject: [PATCH 2/3] use do while loop --- .../Server/Services/MatchplayBackfiller.cs | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/Assets/Scripts/Matchplay/Server/Services/MatchplayBackfiller.cs b/Assets/Scripts/Matchplay/Server/Services/MatchplayBackfiller.cs index 9919ace..96d2ced 100644 --- a/Assets/Scripts/Matchplay/Server/Services/MatchplayBackfiller.cs +++ b/Assets/Scripts/Matchplay/Server/Services/MatchplayBackfiller.cs @@ -129,19 +129,27 @@ async Task BackfillLoop() { while (Backfilling) { - if (m_LocalDataDirty) + do { - await MatchmakerService.Instance.UpdateBackfillTicketAsync(m_LocalBackfillTicket.Id, m_LocalBackfillTicket); - m_LocalDataDirty = false; - } - else - { - var remoteBackfillTicket = await MatchmakerService.Instance.ApproveBackfillTicketAsync(m_LocalBackfillTicket.Id); - if (!m_LocalDataDirty) + if (m_LocalDataDirty) { - m_LocalBackfillTicket = remoteBackfillTicket; + await MatchmakerService.Instance.UpdateBackfillTicketAsync(m_LocalBackfillTicket.Id, m_LocalBackfillTicket); + m_LocalDataDirty = false; } - } + else + { + var newBackfill = await MatchmakerService.Instance.ApproveBackfillTicketAsync(m_LocalBackfillTicket.Id); + if (!m_LocalDataDirty) + { + m_LocalBackfillTicket = newBackfill; + } + else + { + Debug.Log("Local data became dirty during backfill ticket approval!"); + await Task.Delay(k_TicketCheckMs); + } + } + } while (m_LocalDataDirty); if (!NeedsPlayers()) { From b07b04e5e0237e3085f29adb71ad3f1c94f2b2c5 Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 24 Jun 2023 12:27:51 +1200 Subject: [PATCH 3/3] correction --- .../Server/Services/MatchplayBackfiller.cs | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/Assets/Scripts/Matchplay/Server/Services/MatchplayBackfiller.cs b/Assets/Scripts/Matchplay/Server/Services/MatchplayBackfiller.cs index 96d2ced..2128aa5 100644 --- a/Assets/Scripts/Matchplay/Server/Services/MatchplayBackfiller.cs +++ b/Assets/Scripts/Matchplay/Server/Services/MatchplayBackfiller.cs @@ -129,27 +129,23 @@ async Task BackfillLoop() { while (Backfilling) { - do + if (m_LocalDataDirty) { - if (m_LocalDataDirty) + await MatchmakerService.Instance.UpdateBackfillTicketAsync(m_LocalBackfillTicket.Id, m_LocalBackfillTicket); + m_LocalDataDirty = false; + } + else + { + var newBackfill = await MatchmakerService.Instance.ApproveBackfillTicketAsync(m_LocalBackfillTicket.Id); + if (!m_LocalDataDirty) { - await MatchmakerService.Instance.UpdateBackfillTicketAsync(m_LocalBackfillTicket.Id, m_LocalBackfillTicket); - m_LocalDataDirty = false; + m_LocalBackfillTicket = newBackfill; } else { - var newBackfill = await MatchmakerService.Instance.ApproveBackfillTicketAsync(m_LocalBackfillTicket.Id); - if (!m_LocalDataDirty) - { - m_LocalBackfillTicket = newBackfill; - } - else - { - Debug.Log("Local data became dirty during backfill ticket approval!"); - await Task.Delay(k_TicketCheckMs); - } + Debug.Log("Local data became dirty during backfill ticket approval!"); } - } while (m_LocalDataDirty); + } if (!NeedsPlayers()) {