Skip to content

Commit ea78ded

Browse files
committed
PR Feedback
1 parent 18c51cf commit ea78ded

File tree

6 files changed

+1
-108
lines changed

6 files changed

+1
-108
lines changed

src/Foundatio.TestHarness/Jobs/HelloWorldJob.cs

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -77,31 +77,3 @@ protected override Task<JobResult> RunInternalAsync(JobContext context)
7777
return Task.FromResult(JobResult.Success);
7878
}
7979
}
80-
81-
public class ThrowingJob : JobBase
82-
{
83-
private readonly string _id;
84-
85-
public int RunCount { get; set; }
86-
87-
public ThrowingJob(TimeProvider timeProvider, ILoggerFactory loggerFactory) : base(timeProvider, null, loggerFactory)
88-
{
89-
_id = Guid.NewGuid().ToString("N").Substring(0, 10);
90-
}
91-
92-
protected override Task<JobResult> RunInternalAsync(JobContext context)
93-
{
94-
RunCount++;
95-
96-
_logger.LogTrace("ThrowingJob Running: instance={Id} runs={RunCount}", _id, RunCount);
97-
98-
try
99-
{
100-
throw new InvalidOperationException("Inner exception");
101-
}
102-
catch (Exception ex)
103-
{
104-
throw new ApplicationException("Test exception", ex);
105-
}
106-
}
107-
}

src/Foundatio/Jobs/IJob.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,6 @@ public static async Task<int> RunContinuousAsync(this IJob job, JobOptions optio
8989
var result = await job.TryRunAsync(cancellationToken).AnyContext();
9090
logger.LogJobResult(result, options.Name);
9191

92-
if (!result.IsSuccess && !result.IsCancelled)
93-
activity?.SetErrorStatus(result.Error, result.Message ?? result.Error?.Message);
94-
9592
iterations++;
9693
if (isQueueJob && result.IsSuccess)
9794
queueItemsProcessed++;

src/Foundatio/Jobs/WorkItemJob/WorkItemJob.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,6 @@ await Task.WhenAll(
148148

149149
if (!workItemContext.Result.IsSuccess)
150150
{
151-
activity?.SetErrorStatus(workItemContext.Result.Error, workItemContext.Result.Message ?? workItemContext.Result.Error?.Message);
152-
153151
if (!queueEntry.IsAbandoned && !queueEntry.IsCompleted)
154152
{
155153
await queueEntry.AbandonAsync().AnyContext();

src/Foundatio/Lock/CacheLockProvider.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -183,14 +183,9 @@ public async Task<ILock> AcquireAsync(string resource, TimeSpan? timeUntilExpire
183183
_lockTimeoutCounter.Add(1);
184184

185185
if (cancellationToken.IsCancellationRequested)
186-
{
187186
_logger.LogDebug("Cancellation requested for lock {Resource} ({LockId}) after {Duration:g}", resource, lockId, sw.Elapsed);
188-
}
189187
else
190-
{
191-
activity?.SetErrorStatus(message: $"Failed to acquire lock {resource} after {sw.Elapsed:g}");
192188
_logger.LogWarning("Failed to acquire lock {Resource} ({LockId}) after {Duration:g}", resource, lockId, sw.Elapsed);
193-
}
194189

195190
return null;
196191
}

src/Foundatio/Queues/SharedQueueOptions.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,7 @@ public TBuilder AddBehavior(IQueueBehavior<T> behavior)
6565
{
6666
ArgumentNullException.ThrowIfNull(behavior);
6767

68-
if (Target.Behaviors == null)
69-
Target.Behaviors = new List<IQueueBehavior<T>>();
68+
Target.Behaviors ??= new List<IQueueBehavior<T>>();
7069
Target.Behaviors.Add(behavior);
7170

7271
return (TBuilder)this;

tests/Foundatio.Tests/Jobs/JobTests.cs

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -205,74 +205,6 @@ public async Task JobLoopPerf()
205205
sw.Stop();
206206
}
207207

208-
[Fact]
209-
public async Task RunContinuousAsync_FailingJob_SetsActivityErrorStatus()
210-
{
211-
// Arrange
212-
Activity capturedActivity = null;
213-
using var listener = new ActivityListener
214-
{
215-
ShouldListenTo = s => s.Name == "Foundatio",
216-
Sample = (ref ActivityCreationOptions<ActivityContext> _) => ActivitySamplingResult.AllDataAndRecorded,
217-
ActivityStopped = a =>
218-
{
219-
if (a.OperationName.StartsWith("Job:"))
220-
capturedActivity = a;
221-
}
222-
};
223-
ActivitySource.AddActivityListener(listener);
224-
225-
var job = new FailingJob(null, Log);
226-
227-
// Act
228-
await job.RunContinuousAsync(iterationLimit: 1, cancellationToken: TestCancellationToken);
229-
230-
// Assert
231-
Assert.NotNull(capturedActivity);
232-
Assert.Equal(ActivityStatusCode.Error, capturedActivity.Status);
233-
Assert.Equal("Test failure", capturedActivity.StatusDescription);
234-
}
235-
236-
[Fact]
237-
public async Task RunContinuousAsync_ThrowingJob_SetsActivityErrorStatusAndRecordsException()
238-
{
239-
// Arrange
240-
Activity capturedActivity = null;
241-
using var listener = new ActivityListener
242-
{
243-
ShouldListenTo = s => s.Name == "Foundatio",
244-
Sample = (ref ActivityCreationOptions<ActivityContext> _) => ActivitySamplingResult.AllDataAndRecorded,
245-
ActivityStopped = a =>
246-
{
247-
if (a.OperationName.StartsWith("Job:"))
248-
capturedActivity = a;
249-
}
250-
};
251-
ActivitySource.AddActivityListener(listener);
252-
253-
var job = new ThrowingJob(null, Log);
254-
255-
// Act
256-
await job.RunContinuousAsync(iterationLimit: 1, cancellationToken: TestCancellationToken);
257-
258-
// Assert
259-
Assert.NotNull(capturedActivity);
260-
Assert.Equal(ActivityStatusCode.Error, capturedActivity.Status);
261-
Assert.Contains("Test exception", capturedActivity.StatusDescription);
262-
263-
var exceptionEvent = capturedActivity.Events.FirstOrDefault(e => e.Name == "exception");
264-
Assert.NotEqual(default, exceptionEvent);
265-
Assert.Contains(exceptionEvent.Tags, t => t.Key == "exception.type" && t.Value?.ToString() == typeof(ApplicationException).FullName);
266-
Assert.Contains(exceptionEvent.Tags, t => t.Key == "exception.message" && t.Value?.ToString() == "Test exception");
267-
268-
var stacktrace = exceptionEvent.Tags.FirstOrDefault(t => t.Key == "exception.stacktrace").Value?.ToString();
269-
Assert.NotNull(stacktrace);
270-
Assert.Contains("Inner exception", stacktrace);
271-
Assert.Contains("Test exception", stacktrace);
272-
Assert.Contains(nameof(InvalidOperationException), stacktrace);
273-
Assert.Contains(nameof(ApplicationException), stacktrace);
274-
}
275-
276208
[Fact]
277209
public async Task RunContinuousAsync_SuccessfulJob_DoesNotSetActivityErrorStatus()
278210
{

0 commit comments

Comments
 (0)