The Redis client for .NET
This report summarizes scanner evidence for StackExchange/StackExchange.Redis, a C# project with 6,204 GitHub stars. SynthScan examined 194,316 lines of code across 901 source files, recording 910 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 6.8 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 853 finding(s).
Are imports declared and package/API names verified? 47 finding(s).
Are wrappers, guards, and repeated structures necessary? 10 finding(s).
Which changes need focused human review? 910 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 910 distinct pattern matches across 6 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | eng/StackExchange.Redis.Build/Diagnostics.cs | 1 | using Microsoft.CodeAnalysis; | COMMENT |
| LOW | eng/StackExchange.Redis.Build/Diagnostics.cs | 21 | /// </para> | COMMENT |
| LOW | eng/StackExchange.Redis.Build/Diagnostics.cs | 41 | /// cref="DiagnosticSeverity.Error"/> in the set - which describes code that cannot work rather than code that | COMMENT |
| LOW | eng/StackExchange.Redis.Build/Diagnostics.cs | 81 | /// Family B: a newer single command subsumes both the condition and the write. | COMMENT |
| LOW | eng/StackExchange.Redis.Build/Diagnostics.cs | 161 | COMMENT | |
| LOW | eng/StackExchange.Redis.Build/Diagnostics.cs | 201 | /// <c>RedisTransaction.ExecuteAsync</c>), so this one is legal: it returns immediately, and the command is | COMMENT |
| LOW | eng/StackExchange.Redis.Build/Diagnostics.cs | 221 | COMMENT | |
| LOW | eng/StackExchange.Redis.Build/Diagnostics.cs | 261 | /// needs a thread of its own - but reached through the API the library itself offers for it, rather than | COMMENT |
| LOW | eng/StackExchange.Redis.Build/TransactionAnalyzer.cs | 1 | using System.Collections.Immutable; | COMMENT |
| LOW | eng/StackExchange.Redis.Build/TransactionAnalyzer.cs | 241 | /// Where a call sits within the block: which branch of it, and whether it can run more than once. | COMMENT |
| LOW | eng/StackExchange.Redis.Build/TransactionAnalyzer.cs | 401 | public string? Key { get; } | COMMENT |
| LOW | eng/StackExchange.Redis.Build/TransactionAnalyzer.cs | 421 | COMMENT | |
| LOW | eng/StackExchange.Redis.Build/TransactionAnalyzer.cs | 441 | private List<ISymbol>? _conditionReads; | COMMENT |
| LOW | eng/StackExchange.Redis.Build/TransactionAnalyzer.cs | 661 | _operations.Count.ToString(CultureInfo.InvariantCulture), | COMMENT |
| LOW | eng/StackExchange.Redis.Build/TransactionAnalyzer.cs | 701 | "StringGet" => ("StringGet[Async](keys)", true, false, ServerVersion.Any, "key"), | COMMENT |
| LOW | eng/StackExchange.Redis.Build/TransactionAnalyzer.cs | 741 | // -- family C: the write already reports what the condition was checking -- | COMMENT |
| LOW | eng/StackExchange.Redis.Build/TransactionAnalyzer.cs | 761 | // (HashFieldSet with ValueCondition.Exists, HSETEX FXX, 8.0+) | COMMENT |
| LOW | eng/StackExchange.Redis.Build/QueuedResultAnalyzer.cs | 1 | using System.Collections.Generic; | COMMENT |
| LOW | eng/StackExchange.Redis.Build/QueuedResultAnalyzer.cs | 21 | /// <para> | COMMENT |
| LOW | eng/StackExchange.Redis.Build/QueuedResultAnalyzer.cs | 101 | // An ordinary redis call, already in flight: only *blocking* is a problem, and awaiting is exactly | COMMENT |
| LOW | eng/StackExchange.Redis.Build/RoslynShims.cs | 1 | using Microsoft.CodeAnalysis; | COMMENT |
| LOW | eng/StackExchange.Redis.Build/RoslynShims.cs | 21 | COMMENT | |
| LOW | eng/StackExchange.Redis.Build/AutoDatabaseGenerator.cs | 241 | None = 0, | COMMENT |
| LOW | …xchange.Redis.CodeFixes/QueuedResultCodeFixProvider.cs | 21 | /// case, so they cannot drift without a deliberate decision. | COMMENT |
| LOW | toys/MaintenanceWatch/Program.cs | 1 | using System; | COMMENT |
| LOW | …/StackExchange.Redis.Server/RedisServer.Maintenance.cs | 61 | /// </summary> | COMMENT |
| LOW | …/StackExchange.Redis.Server/RedisServer.Maintenance.cs | 81 | { | COMMENT |
| LOW | …/StackExchange.Redis.Server/RedisServer.Maintenance.cs | 101 | /// <para> | COMMENT |
| LOW | …/StackExchange.Redis.Server/RedisServer.Maintenance.cs | 141 | internal void OnMaintenanceOptIn() => Interlocked.Increment(ref _maintenanceOptIns); | COMMENT |
| LOW | …/StackExchange.Redis.Server/RedisServer.Maintenance.cs | 201 | var delay = MovingCloseDelay ?? TimeSpan.FromSeconds(Math.Max(timeSeconds, 0)) + MeasuredCloseSlack; | COMMENT |
| LOW | …/StackExchange.Redis.Server/RedisServer.Maintenance.cs | 221 | /// How much later than the announced window the close actually arrives, by default. | COMMENT |
| LOW | …/StackExchange.Redis.Server/RedisServer.Maintenance.cs | 281 | /// <returns>The number of clients the notification was sent to.</returns> | COMMENT |
| LOW | toys/StackExchange.Redis.Server/RedisServer.cs | 201 | /// </summary> | COMMENT |
| LOW | toys/StackExchange.Redis.Server/RedisServer.cs | 221 | public enum AnnouncedAddress | COMMENT |
| LOW | toys/StackExchange.Redis.Server/RedisServer.cs | 341 | /// Setting this afterwards, via <see cref="SetAnnouncedAddress"/>, leaves a window in which a topology | COMMENT |
| LOW | toys/StackExchange.Redis.Server/RedisServer.cs | 401 | /// Removes a node from the cluster entirely, as <c>CLUSTER FORGET</c> does: it stops appearing in | COMMENT |
| LOW | toys/StackExchange.Redis.Server/RedisServer.cs | 841 | /// <summary>Reply with an error, as a server whose feature flag is off does.</summary> | COMMENT |
| LOW | toys/StackExchange.Redis.Server/RedisServer.cs | 1201 | public string Host { get; } | COMMENT |
| LOW | toys/StackExchange.Redis.Server/RedisServer.cs | 1221 | /// <summary> | COMMENT |
| LOW | toys/StackExchange.Redis.Server/TypedRedisValue.cs | 1 | using System; | COMMENT |
| LOW | toys/StackExchange.Redis.Server/TypedRedisValue.cs | 61 | COMMENT | |
| LOW | tests/StackExchange.Redis.Build.Tests/TestSetup.cs | 21 | /// Test sources use string literals for keys/values, which trips the library's own <c>[Experimental]</c> | COMMENT |
| LOW | tests/StackExchange.Redis.Build.Tests/SER305.cs | 161 | /// </summary> | COMMENT |
| LOW | tests/StackExchange.Redis.Build.Tests/Verifier.cs | 21 | /// <summary>Expect a diagnostic with this id at the marked location.</summary> | COMMENT |
| LOW | …hange.Redis.Benchmarks/RedisValueEqualityBenchmarks.cs | 1 | using System; | COMMENT |
| LOW | …ckExchange.Redis.Benchmarks/MessageWriterBenchmarks.cs | 1 | using System; | COMMENT |
| LOW | …FaultInjector.Tests/ClusterWideFailureScenarioTests.cs | 1 | using System; | COMMENT |
| LOW | …FaultInjector.Tests/ClusterWideFailureScenarioTests.cs | 21 | /// client would come back, which it cannot do when there is nothing to come back to. What *is* assertable is | COMMENT |
| LOW | …Exchange.Redis.FaultInjector.Tests/TestOutputWriter.cs | 1 | using System; | COMMENT |
| LOW | …dis.FaultInjector.Tests/TopologyChangeScenarioTests.cs | 61 | { | COMMENT |
| LOW | …tackExchange.Redis.FaultInjector.Tests/AssemblyInfo.cs | 1 | using Xunit; | COMMENT |
| LOW | …nge.Redis.FaultInjector.Tests/MultiThreadedWorkload.cs | 1 | using System; | COMMENT |
| LOW | …nge.Redis.FaultInjector.Tests/MultiThreadedWorkload.cs | 41 | // Task.Run rather than dedicated threads: the multiplexer is thread-agnostic, and the floor raised | COMMENT |
| LOW | …FaultInjector.Tests/MovingEndpointTypeScenarioTests.cs | 1 | using System; | COMMENT |
| LOW | …FaultInjector.Tests/MovingEndpointTypeScenarioTests.cs | 21 | /// skip the DNS wait entirely, and DNS has been measured trailing the notification by up to 18.7s against a | COMMENT |
| LOW | …Redis.FaultInjector.Tests/RetentionAgeScenarioTests.cs | 21 | /// <c>MOVING</c>), delivered within ~17ms of the opt-in being accepted, most-recent-replaces. What is not | COMMENT |
| LOW | …Redis.FaultInjector.Tests/RetentionAgeScenarioTests.cs | 41 | /// Progress is written to a file as it happens, as well as to the test output. | COMMENT |
| LOW | …Redis.FaultInjector.Tests/RetentionAgeScenarioTests.cs | 221 | /// </summary> | COMMENT |
| LOW | …dis.FaultInjector.Tests/AzureManagedRedisOptInTests.cs | 1 | using System; | COMMENT |
| LOW | ….Redis.FaultInjector.Tests/DestructiveScenarioTests.cs | 21 | /// this feature adds - relaxed windows, handoffs, endpoint retirement - sits on top of ordinary reconnect and | COMMENT |
| 790 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | tests/StackExchange.Redis.Tests/GlobalSuppressions.cs | 13 | [assembly: SuppressMessage("Usage", "xUnit1004:Test methods should not be skipped", Justification = "Pending", Scope = " | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 57 | StackExchange.Redis.Availability.CircuitBreaker.Accumulator.Accumulator() -> void | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 58 | virtual StackExchange.Redis.Availability.CircuitBreaker.Accumulator.IsFailure(in StackExchange.Redis.Availability.FaultC | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 59 | abstract StackExchange.Redis.Availability.CircuitBreaker.Accumulator.IsHealthy() -> bool | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 60 | abstract StackExchange.Redis.Availability.CircuitBreaker.Accumulator.ObserveResult(in StackExchange.Redis.Availability.F | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 61 | abstract StackExchange.Redis.Availability.CircuitBreaker.Accumulator.Reset() -> void | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 63 | StackExchange.Redis.Availability.CircuitBreaker.Builder.Builder() -> void | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 64 | StackExchange.Redis.Availability.CircuitBreaker.Builder.Create() -> StackExchange.Redis.Availability.CircuitBreaker! | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 121 | StackExchange.Redis.Availability.HealthCheck.Builder.Builder() -> void | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 122 | StackExchange.Redis.Availability.HealthCheck.Builder.Builder(StackExchange.Redis.Availability.HealthCheck! healthCheck) | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 123 | StackExchange.Redis.Availability.HealthCheck.Builder.Create() -> StackExchange.Redis.Availability.HealthCheck! | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 196 | StackExchange.Redis.Availability.MultiGroupOptions.Builder.Builder() -> void | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 197 | StackExchange.Redis.Availability.MultiGroupOptions.Builder.Builder(StackExchange.Redis.Availability.MultiGroupOptions! o | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 200 | StackExchange.Redis.Availability.MultiGroupOptions.Builder.Create() -> StackExchange.Redis.Availability.MultiGroupOption | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 219 | StackExchange.Redis.Availability.RetryPolicy.Builder.Builder() -> void | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 220 | StackExchange.Redis.Availability.RetryPolicy.Builder.Builder(StackExchange.Redis.Availability.RetryPolicy! policy) -> vo | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 221 | StackExchange.Redis.Availability.RetryPolicy.Builder.Create() -> StackExchange.Redis.Availability.RetryPolicy! | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 616 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.BeginRead(byte[]! buffer, int offset, int c | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 617 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.BeginWrite(byte[]! buffer, int offset, int | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 622 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.Close() -> void | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 623 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.EndRead(System.IAsyncResult! asyncResult) - | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 624 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.EndWrite(System.IAsyncResult! asyncResult) | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 625 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.Flush() -> void | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 626 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.FlushAsync(System.Threading.CancellationTok | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 630 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.Read(byte[]! buffer, int offset, int count) | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 631 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.ReadAsync(byte[]! buffer, int offset, int c | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 632 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.ReadByte() -> int | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 635 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.Seek(long offset, System.IO.SeekOrigin orig | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 636 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.SetLength(long value) -> void | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 637 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.Write(byte[]! buffer, int offset, int count | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 638 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.WriteAsync(byte[]! buffer, int offset, int | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 639 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.WriteByte(byte value) -> void | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 2329 | StackExchange.Redis.Profiling.ProfiledCommandEnumerable.Enumerator.Dispose() -> void | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 2330 | StackExchange.Redis.Profiling.ProfiledCommandEnumerable.Enumerator.Enumerator() -> void | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 2331 | StackExchange.Redis.Profiling.ProfiledCommandEnumerable.Enumerator.MoveNext() -> bool | CODE |
| CRITICAL⚡ | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 2332 | StackExchange.Redis.Profiling.ProfiledCommandEnumerable.Enumerator.Reset() -> void | CODE |
| CRITICAL | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 2784 | StackExchange.Redis.Role.Master.Replica.Replica() -> void | CODE |
| CRITICAL | src/StackExchange.Redis/PublicAPI/PublicAPI.Shipped.txt | 2786 | override StackExchange.Redis.Role.Master.Replica.ToString() -> string! | CODE |
| CRITICAL⚡ | …kExchange.Redis/PublicAPI/net6.0/PublicAPI.Shipped.txt | 2 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.DisposeAsync() -> System.Threading.Tasks.Va | CODE |
| CRITICAL⚡ | …kExchange.Redis/PublicAPI/net6.0/PublicAPI.Shipped.txt | 3 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.Read(System.Span<byte> buffer) -> int | CODE |
| CRITICAL⚡ | …kExchange.Redis/PublicAPI/net6.0/PublicAPI.Shipped.txt | 4 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.ReadAsync(System.Memory<byte> buffer, Syste | CODE |
| CRITICAL⚡ | …kExchange.Redis/PublicAPI/net6.0/PublicAPI.Shipped.txt | 5 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.Write(System.ReadOnlySpan<byte> buffer) -> | CODE |
| CRITICAL⚡ | …kExchange.Redis/PublicAPI/net6.0/PublicAPI.Shipped.txt | 6 | override StackExchange.Redis.Configuration.LoggingTunnel.LoggingDuplexStream.WriteAsync(System.ReadOnlyMemory<byte> buff | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/StackExchange.Redis.Build.Tests/SER306.cs | 0 | using stackexchange.redis; using system.threading.tasks; class c { public async task m(idatabase db, rediskey key) { var | STRING |
| HIGH | tests/StackExchange.Redis.Build.Tests/SER305CodeFix.cs | 0 | using stackexchange.redis; using system.threading.tasks; class c { public async task m(idatabase db, rediskey key) { var | STRING |
| HIGH | tests/StackExchange.Redis.Build.Tests/DetectionShape.cs | 0 | using stackexchange.redis; using system.threading.tasks; class c { public async task m(idatabase db, rediskey key) { var | STRING |
| HIGH | tests/StackExchange.Redis.Build.Tests/SER302.cs | 0 | using stackexchange.redis; using system.threading.tasks; class c { public async task m(idatabase db, rediskey key) { var | STRING |
| HIGH | tests/StackExchange.Redis.Build.Tests/SER303.cs | 0 | using stackexchange.redis; using system.threading.tasks; class c { public async task m(idatabase db, rediskey key) { var | STRING |
| HIGH | tests/StackExchange.Redis.Build.Tests/SER300.cs | 0 | using stackexchange.redis; using system.threading.tasks; class c { public async task m(idatabase db, rediskey key) { var | STRING |
| HIGH | …ts/StackExchange.Redis.Build.Tests/MinServerVersion.cs | 0 | using stackexchange.redis; using system.threading.tasks; class c { public async task m(idatabase db, rediskey key) { var | STRING |
| HIGH | tests/StackExchange.Redis.Build.Tests/SER304.cs | 0 | using stackexchange.redis; using system.threading.tasks; class c { public async task m(idatabase db, rediskey key) { var | STRING |
| HIGH | tests/StackExchange.Redis.Build.Tests/SER305.cs | 0 | using stackexchange.redis; using system.threading.tasks; class c { public async task m(idatabase db, rediskey key) { var | STRING |
| HIGH | tests/StackExchange.Redis.Build.Tests/SER301.cs | 0 | using stackexchange.redis; using system.threading.tasks; class c { public async task m(idatabase db, rediskey key) { var | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ultInjector.Tests/ActiveActiveFailoverScenarioTests.cs | 239 | /// identity, more robust than Jedis's "first event = failover, second = failback") the first switch away | COMMENT |
| MEDIUM | …ts/StackExchange.Redis.Tests/GarbageCollectionTests.cs | 26 | // this is more nuanced than it looks; multiple sockets with | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/StackExchange.Redis.Tests/KeyTests.cs | 337 | [InlineData(false, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras lobortis quam ac molestie ultricie | CODE |
| LOW⚡ | tests/StackExchange.Redis.Tests/KeyTests.cs | 337 | [InlineData(false, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras lobortis quam ac molestie ultricie | CODE |
| LOW⚡ | tests/StackExchange.Redis.Tests/KeyTests.cs | 345 | [InlineData(true, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras lobortis quam ac molestie ultricies | CODE |
| LOW⚡ | tests/StackExchange.Redis.Tests/KeyTests.cs | 345 | [InlineData(true, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras lobortis quam ac molestie ultricies | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | eng/public-api.py | 77 | CODE |