From d881e9ef05bc1f2c6cf0112e1b2fa3d60aec3e6c Mon Sep 17 00:00:00 2001 From: Nicholas Blumhardt Date: Thu, 12 Sep 2019 14:17:28 +1000 Subject: [PATCH] Retry loading resource groups if the initial attempt fails; fixes #59 --- asset/getseq_net.ico | Bin 99678 -> 0 bytes example/SeqQuery/App.config | 14 -------------- example/SeqQuery/SeqQuery.csproj | 4 ---- example/SeqQuery/getseq_net.ico | Bin 99678 -> 0 bytes example/SeqTail/App.config | 14 -------------- example/SeqTail/SeqTail.csproj | 4 ---- example/SeqTail/getseq_net.ico | Bin 99678 -> 0 bytes example/SignalCopy/App.config | 14 -------------- example/SignalCopy/SignalCopy.csproj | 4 ---- example/SignalCopy/getseq_net.ico | Bin 99678 -> 0 bytes seq-api.sln | 12 +++++------- seq-api.sln.DotSettings | 4 +++- src/Seq.Api/Seq.Api.csproj | 5 +---- src/Seq.Api/SeqConnection.cs | 15 +++++++++++++-- 14 files changed, 22 insertions(+), 68 deletions(-) delete mode 100644 asset/getseq_net.ico delete mode 100644 example/SeqQuery/App.config delete mode 100644 example/SeqQuery/getseq_net.ico delete mode 100644 example/SeqTail/App.config delete mode 100644 example/SeqTail/getseq_net.ico delete mode 100644 example/SignalCopy/App.config delete mode 100644 example/SignalCopy/getseq_net.ico diff --git a/asset/getseq_net.ico b/asset/getseq_net.ico deleted file mode 100644 index 34b3b9f29490c71557d990db1c7a24e6958fccd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99678 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 Mlz=ILz?H!N1JN%4H2?qr diff --git a/example/SeqQuery/App.config b/example/SeqQuery/App.config deleted file mode 100644 index 8277a73..0000000 --- a/example/SeqQuery/App.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/example/SeqQuery/SeqQuery.csproj b/example/SeqQuery/SeqQuery.csproj index 40bca25..ea3a4f4 100644 --- a/example/SeqQuery/SeqQuery.csproj +++ b/example/SeqQuery/SeqQuery.csproj @@ -6,10 +6,6 @@ Exe - - - - diff --git a/example/SeqQuery/getseq_net.ico b/example/SeqQuery/getseq_net.ico deleted file mode 100644 index 34b3b9f29490c71557d990db1c7a24e6958fccd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99678 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 Mlz=ILz?H!N1JN%4H2?qr diff --git a/example/SeqTail/App.config b/example/SeqTail/App.config deleted file mode 100644 index 8277a73..0000000 --- a/example/SeqTail/App.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/example/SeqTail/SeqTail.csproj b/example/SeqTail/SeqTail.csproj index 3ceeb51..ac34313 100644 --- a/example/SeqTail/SeqTail.csproj +++ b/example/SeqTail/SeqTail.csproj @@ -6,10 +6,6 @@ Exe - - - - diff --git a/example/SeqTail/getseq_net.ico b/example/SeqTail/getseq_net.ico deleted file mode 100644 index 34b3b9f29490c71557d990db1c7a24e6958fccd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99678 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 Mlz=ILz?H!N1JN%4H2?qr diff --git a/example/SignalCopy/App.config b/example/SignalCopy/App.config deleted file mode 100644 index 8277a73..0000000 --- a/example/SignalCopy/App.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/example/SignalCopy/SignalCopy.csproj b/example/SignalCopy/SignalCopy.csproj index 3f1644b..9b9700e 100644 --- a/example/SignalCopy/SignalCopy.csproj +++ b/example/SignalCopy/SignalCopy.csproj @@ -6,10 +6,6 @@ Exe - - - - diff --git a/example/SignalCopy/getseq_net.ico b/example/SignalCopy/getseq_net.ico deleted file mode 100644 index 34b3b9f29490c71557d990db1c7a24e6958fccd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99678 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 Mlz=ILz?H!N1JN%4H2?qr diff --git a/seq-api.sln b/seq-api.sln index 9abcb17..0c8feca 100644 --- a/seq-api.sln +++ b/seq-api.sln @@ -1,17 +1,12 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26403.3 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29230.47 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{B36BE973-6D5B-4DAA-BF42-F1CF11D6F18E}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "example", "example", "{1C66E116-DC21-4C8F-833E-A4C2DDF58487}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "asset", "asset", "{233C7E7D-26DE-452A-A415-44F99CBA18E7}" - ProjectSection(SolutionItems) = preProject - asset\getseq_net.ico = asset\getseq_net.ico - EndProjectSection -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "global", "global", "{7DCED657-7E83-4E6F-AB14-5753E044304D}" ProjectSection(SolutionItems) = preProject appveyor.yml = appveyor.yml @@ -69,4 +64,7 @@ Global {42CEBFBA-208F-40F1-AC95-13F05F6D5412} = {1C66E116-DC21-4C8F-833E-A4C2DDF58487} {E8CDDE17-8E29-4EB4-A4BB-38BCE346A752} = {1C66E116-DC21-4C8F-833E-A4C2DDF58487} EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {20BAB483-FB94-4373-8E4C-0F846B6DBFFC} + EndGlobalSection EndGlobal diff --git a/seq-api.sln.DotSettings b/seq-api.sln.DotSettings index d50635d..832d668 100644 --- a/seq-api.sln.DotSettings +++ b/seq-api.sln.DotSettings @@ -1,2 +1,4 @@  - AD \ No newline at end of file + AD + True + True \ No newline at end of file diff --git a/src/Seq.Api/Seq.Api.csproj b/src/Seq.Api/Seq.Api.csproj index 86307f7..11f7d45 100644 --- a/src/Seq.Api/Seq.Api.csproj +++ b/src/Seq.Api/Seq.Api.csproj @@ -7,14 +7,11 @@ $(NoWarn);CS1591 true true - Seq.Api - Seq.Api seq Copyright © 2014-2019 Datalust Pty Ltd and Contributors https://datalust.co/images/seq-nuget.png https://github.com/datalust/seq-api - http://www.apache.org/licenses/LICENSE-2.0 - Seq.Api + Apache-2.0 7.3 diff --git a/src/Seq.Api/SeqConnection.cs b/src/Seq.Api/SeqConnection.cs index 6d3e722..487aa20 100644 --- a/src/Seq.Api/SeqConnection.cs +++ b/src/Seq.Api/SeqConnection.cs @@ -60,9 +60,20 @@ public SeqConnection(string serverUrl, string apiKey = null, bool useDefaultCred public WorkspacesResourceGroup Workspaces => new WorkspacesResourceGroup(this); - public async Task LoadResourceGroupAsync(string name, CancellationToken cancellationToken = default) + public Task LoadResourceGroupAsync(string name, CancellationToken cancellationToken = default) { - return await _resourceGroups.GetOrAdd(name, s => ResourceGroupFactory(s, cancellationToken)).ConfigureAwait(false); + // Initially, we want to put an incomplete task into the cache so that any concurrent attempts to load the + // same resource group will wait on the same pending call. + var cached = _resourceGroups.GetOrAdd(name, s => ResourceGroupFactory(s, cancellationToken)); + + if (!cached.IsFaulted && !cached.IsCanceled) + return cached; + + // If the cached task failed (ideally a rare situation), clobber it and return a new task (less worried about + // overlapping/concurrent calls on this path). + return _resourceGroups.AddOrUpdate(name, + s => ResourceGroupFactory(s, cancellationToken), + (s, _) => ResourceGroupFactory(s, cancellationToken)); } async Task ResourceGroupFactory(string name, CancellationToken cancellationToken = default)