Garnet is a remote cache-store from Microsoft Research that offers strong performance (throughput and latency), scalability, storage, recovery, cluster sharding, key migration, and replication features. Garnet can work with existing Redis clients.
This report summarizes scanner evidence for microsoft/garnet, a C# project with 12,045 GitHub stars. SynthScan examined 504,613 lines of code across 1705 source files, recording 1930 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 4.2 (Low 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? 1863 finding(s).
Are imports declared and package/API names verified? 19 finding(s).
Are wrappers, guards, and repeated structures necessary? 49 finding(s).
Which changes need focused human review? 1930 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
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 1930 distinct pattern matches across 15 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 | benchmark/BDN.benchmark/NamespaceTypeOrderer.cs | 1 | // Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | benchmark/BDN.benchmark/Cluster/EpochBumpContention.cs | 21 | COMMENT | |
| LOW | …nchmark/Cluster/ConsistentRead/ConsistentReadParams.cs | 1 | // Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | benchmark/BDN.benchmark/Operations/ScriptOperations.cs | 181 | /// Batch size per method invocation | COMMENT |
| LOW | benchmark/BDN.benchmark/Operations/OperationParams.cs | 1 | // Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | benchmark/BDN.benchmark/Operations/OperationParams.cs | 21 | /// <summary> | COMMENT |
| LOW | benchmark/BDN.benchmark/Operations/OperationsBase.cs | 21 | { | COMMENT |
| LOW | benchmark/BDN.benchmark/Operations/OperationsBase.cs | 61 | internal static bool ParamsACL = true; | COMMENT |
| LOW | benchmark/BDN.benchmark/Operations/OperationsBase.cs | 101 | ConfigureServerOptions(opts); | COMMENT |
| LOW | …mark/BDN.benchmark/Operations/OperationParamsFilter.cs | 1 | // Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | benchmark/BDN.benchmark/Diagnostics/CpuDiagnoser.cs | 21 | /// operation, across <em>all</em> of its threads, split into three columns: "KernelMode CPU" | COMMENT |
| LOW | …nchmark/BDN.benchmark/Diagnostics/MeanPenaltyColumn.cs | 1 | // Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | …chmark/BDN.benchmark/Embedded/EmbeddedNetworkSender.cs | 21 | /// <summary> | COMMENT |
| LOW | benchmark/Resp.benchmark/OfflineBench/RespPerfBench.cs | 261 | swatch.Stop(); | COMMENT |
| LOW | …k/Resp.benchmark/OfflineBench/AOFBench/AofBenchType.cs | 1 | // Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | …k/Resp.benchmark/OfflineBench/AOFBench/AofBenchType.cs | 21 | /// Simulate AOF replay (skipping resp parsing) | COMMENT |
| LOW | ….benchmark/OfflineBench/AOFBench/TsavoriteExtension.cs | 21 | HeaderSizeField = type.GetField("headerSize", flags); | COMMENT |
| LOW | …enchmark/ClusterBench/ClientRequestProvider.Offline.cs | 21 | /// <summary> | COMMENT |
| LOW | benchmark/Resp.benchmark/ClusterBench/Request.cs | 1 | // Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | benchmark/Resp.benchmark/ClusterBench/Request.cs | 21 | /// <summary> | COMMENT |
| LOW | …nchmark/Resp.benchmark/ClusterBench/ClusterWorkload.cs | 1 | // Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | …nchmark/Resp.benchmark/ClusterBench/ClusterWorkload.cs | 21 | COMMENT | |
| LOW | …nchmark/Resp.benchmark/ClusterBench/ClusterWorkload.cs | 41 | /// The request byte buffers depend only on the shard's slot range and the benchmark | COMMENT |
| LOW | benchmark/Resp.benchmark/ClusterBench/PrimaryInfo.cs | 1 | // Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | benchmark/Resp.benchmark/ClusterBench/PrimaryInfo.cs | 21 | /// <summary> | COMMENT |
| LOW | benchmark/Resp.benchmark/ClusterBench/Worker.cs | 61 | /// <returns>A randomly selected provider</returns> | COMMENT |
| LOW | …chmark/Resp.benchmark/ClusterBench/SlotKeyGenerator.cs | 21 | private readonly string tag; | COMMENT |
| LOW | …k/Resp.benchmark/ClusterBench/ClientRequestProvider.cs | 161 | { | COMMENT |
| LOW | …ark/Resp.benchmark/ClusterBench/OperationClassifier.cs | 1 | // Copyright (c) Microsoft Corporation. | COMMENT |
| LOW | …k/Resp.benchmark/ClusterBench/ClusterWorkloadDriver.cs | 41 | // value so read buffers still match write buffers in mixed workloads. | COMMENT |
| LOW | benchmark/Resp.benchmark/scripts/nvme-raid0-matrix.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | metrics/HdrHistogram/HistogramExtensions.cs | 61 | /// <summary> | COMMENT |
| LOW | metrics/HdrHistogram/HistogramExtensions.cs | 81 | targetHistogram.Reset(); | COMMENT |
| LOW | metrics/HdrHistogram/HistogramExtensions.cs | 101 | public static IEnumerable<HistogramIterationValue> Percentiles(this HistogramBase histogram, int percentileTicks | COMMENT |
| LOW | metrics/HdrHistogram/HistogramExtensions.cs | 121 | /// seconds or other appropriate unit. | COMMENT |
| LOW | metrics/HdrHistogram/HistogramExtensions.cs | 141 | /// { | COMMENT |
| LOW | metrics/HdrHistogram/HistogramExtensions.cs | 161 | /// Records the elapsed time till the returned token is disposed. | COMMENT |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 21 | /// Base class for High Dynamic Range (HDR) Histograms | COMMENT |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 61 | public long HighestTrackableValue { get; } | COMMENT |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 101 | COMMENT | |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 121 | /// </summary> | COMMENT |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 141 | /// </param> | COMMENT |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 161 | /// Construct a histogram given the lowest and highest values to be tracked and a number of significant decimal | COMMENT |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 221 | /// <summary> | COMMENT |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 241 | var subBucketIndex = GetSubBucketIndex(value, bucketIndex); | COMMENT |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 341 | /// Get a value that lies in the middle (rounded up) of the range of values equivalent the given value. | COMMENT |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 481 | COMMENT | |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 501 | COMMENT | |
| LOW | metrics/HdrHistogram/IRecorder.cs | 1 | namespace HdrHistogram | COMMENT |
| LOW | metrics/HdrHistogram/IRecorder.cs | 21 | void RecordValueWithCount(long value, long count); | COMMENT |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 21 | /// over value quantization behavior across the value range and the subsequent value resolution at any given level. | COMMENT |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 41 | private long _totalCount; | COMMENT |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 61 | /// <param name="lowestTrackableValue"> | COMMENT |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 81 | /// <param name="instanceId">An identifier for this instance.</param> | COMMENT |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 101 | : base(instanceId, lowestTrackableValue, highestTrackableValue, numberOfSignificantValueDigits) | COMMENT |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 121 | { | COMMENT |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 141 | public void Release() => _counts = null; | COMMENT |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 161 | /// <returns>A distinct copy of this histogram.</returns> | COMMENT |
| LOW | metrics/HdrHistogram/LongConcurrentHistogram.cs | 1 | using System; | COMMENT |
| LOW | metrics/HdrHistogram/LongConcurrentHistogram.cs | 21 | { | COMMENT |
| 1660 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …standalone/Garnet.test.vectorset/RespVectorSetTests.cs | 1068 | // ── Section A: compile-time errors ───────────────────────────────── | COMMENT |
| MEDIUM | …standalone/Garnet.test.vectorset/RespVectorSetTests.cs | 1102 | // ── Section B: documented "skip silently" behavior ───────────────── | COMMENT |
| MEDIUM | …standalone/Garnet.test.vectorset/RespVectorSetTests.cs | 1205 | // ── Case 9 specifically: nested .year=2020 must be invisible ────── | COMMENT |
| MEDIUM | …standalone/Garnet.test.vectorset/RespVectorSetTests.cs | 1222 | // ── Case 3: top-level booleans coerce to 1 / 0 ──────────────────── | COMMENT |
| MEDIUM | …standalone/Garnet.test.vectorset/RespVectorSetTests.cs | 1249 | // ── Case 10: top-level string array still works with `in` ───────── | COMMENT |
| MEDIUM | test/docker-tests/validate_docker_images.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/docker-tests/validate_docker_images.py | 40 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/docker-tests/validate_docker_images.py | 63 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/docker-tests/validate_docker_images.py | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/docker-tests/validate_docker_images.py | 176 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/docker-tests/validate_docker_images.py | 178 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/docker-tests/validate_docker_images.py | 585 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | test/docker-tests/validate_docker_images.py | 587 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorManager.cs | 973 | // ── Inline filtered search path ───────── | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorManager.cs | 1173 | // ── Inline-filtered search path ────────────────────────── | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorFilterExpression.cs | 116 | /// └────┴────┴────┴────────────────────────────┴───────────────────────────────────┘ | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorFilterExpression.cs | 117 | /// ◄─── header (8 bytes) ──────────────────────►◄─── payload (8 bytes) ───────────► | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorFilterExpression.cs | 177 | // ── Union payload at offset 8 (8 bytes) ───────────────────────── | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorFilterExpression.cs | 194 | // ── Flags helpers ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorFilterExpression.cs | 209 | // ── Discriminator helpers ──────────────────────────────────────── | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorFilterExpression.cs | 214 | // ── Factory methods ────────────────────────────────────────────── | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorManager.Filter.cs | 19 | // ── Buffer size constants ──────────────────────────────────────── | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorManager.Filter.cs | 40 | // ──────────────── ─────── ────── ───────────────────────────────── | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorManager.Filter.cs | 133 | // ── Compile ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorManager.Filter.cs | 150 | // ── Collect unique selectors ────────────────────────────── | COMMENT |
| MEDIUM | libs/server/Resp/Vector/VectorManager.Filter.cs | 221 | // ── Inline filter callback infrastructure ───── | COMMENT |
| MEDIUM | …/storage/Tsavorite/cs/test/test.hlog/LogRecordTests.cs | 329 | // ── Max inline key/value size limit tests ───────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 86 | // ── KeyLength field (low kKeyLengthBits bits after FillerWords) ───────────── | COMMENT |
| MEDIUM⚡ | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 92 | // ── ValueLength field (low kValueLengthBits bits after KeyLength) ─────────── | COMMENT |
| MEDIUM⚡ | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 102 | // ── Namespace byte (byte 7 of word) ──────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 516 | // ── Key and Value field info ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 53 | // ── Indicator bits (bits 0-5) ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 68 | // ── FillerWords field (bits 6-13, 8 bits) ────────────────────────────────── | COMMENT |
| MEDIUM | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 133 | // ── Indicator-bit accessors ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 195 | // ── FillerWords accessor ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 215 | // ── Optional/object size helper ──────────────────────────────────────────── | COMMENT |
| MEDIUM | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 239 | // ── Field accessors via ulong word bit manipulation ──────────────────────── | COMMENT |
| MEDIUM | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 330 | // ── RecordLength derivation (no longer stored) ───────────────────────────── | COMMENT |
| MEDIUM | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 394 | // ── Filler helpers ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 553 | // ── Initialize ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 643 | // ── ToString ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …cator/ObjectSerialization/ObjectLogFilePositionInfo.cs | 24 | // ── Flag bits in the top 4 bits of word (bits 60-63) ───────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1046 | // Step 1: Clean up and create source HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1053 | // Step 2: Dump the HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1057 | // Step 3: Corrupt the dump by flipping a bit (avoiding the last 8 bytes which are CRC) | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1065 | // Step 6: Verify key was not created | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1081 | // Step 1: Clean up and create source HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1088 | // Step 2: Dump the HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1092 | // Step 3: Zero out the last 8 bytes (CRC64 checksum) | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1099 | // Step 6: Verify key was not created | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1115 | // Step 1: Clean up and create sparse HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1122 | // Step 2: Dump and parse the structure | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1126 | // Step 3: Extract and corrupt the HLL value | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1133 | // Step 4: Reconstruct the dump with RDB encoding | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1167 | // Step 1: Clean up and create sparse HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1173 | // Step 2: Dump and parse the structure | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1177 | // Step 3: Extract the HLL value and verify it's sparse | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1181 | // Step 4: Corrupt the sparse stream length (bytes 16-17) to exceed actual size | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1204 | // Step 1: Clean up and create minimal sparse HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1210 | // Step 2: Dump and parse the structure | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1214 | // Step 3: Extract the HLL value and verify it's sparse | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1218 | // Step 4: Corrupt the first RLE opcode (offset 18) to create coverage gap | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1250 | // Step 2: Clean up and create sparse HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1258 | // Step 3: Dump and parse the structure | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1262 | // Step 4: Extract and corrupt the sparse stream length | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1267 | // Step 5: Reconstruct the dump with RDB encoding (CRC will be zeros) | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1300 | // Step 1: Create sparse HLL with minimal elements | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1307 | // Step 2: Dump and verify sparse encoding (type byte = 0 at offset 3) | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1312 | // Step 3: Create dense HLL by adding elements until sparse->dense conversion | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1328 | // Step 4: Verify dense encoding (type byte = 1 at offset 3) | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1332 | // Step 5: Verify dense representation is larger | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1353 | // Step 1: Test 6-bit encoding | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1360 | // Step 2: Test 14-bit encoding | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1368 | // Step 3: Test 32-bit encoding | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1402 | // Step 1: Create valid sparse HLL and test data | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1412 | // Step 2: Dump and corrupt the SparseRLESize field | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1451 | // Step 4: RESTORE should succeed (CRC is valid, basic validation passes) | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1455 | // Step 5: Verify operations fail due to structural validation | COMMENT |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1152 | // Step 7: Verify key was not created | COMMENT |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1427 | // Step 3: Reconstruct dump with valid CRC using Garnet.common.Crc64 | COMMENT |
| LOW | website/docs/azure/quickstart.md | 20 | ## Step 1: Create an Azure Cosmos DB Garnet Cache | COMMENT |
| LOW | website/docs/azure/quickstart.md | 47 | ## Step 2: Configure Data Access with RBAC | COMMENT |
| LOW | website/docs/azure/quickstart.md | 110 | ## Step 3: Set Up Network Access | COMMENT |
| LOW | website/docs/azure/quickstart.md | 124 | ## Step 4: Connect and Test | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 719 | ### Step 1: Type discrimination for RangeIndex records | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 766 | ### Step 2: Add RESP commands to the parser | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 838 | ### Step 3: Add command dispatch in `RespServerSession` | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 866 | ### Step 4: Implement RESP command handlers | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 1052 | ### Step 5: Add `IGarnetApi` and `GarnetApi` interface methods | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 1123 | ### Step 6: Implement Storage Session layer (`RangeIndexOps.cs`) | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 1244 | ### Step 7: Implement `RangeIndexManager` (partial class) | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 1506 | ### Step 8: Wire into Main Store RMW callbacks | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 1664 | ### Step 9: Wire into Main Store Read Methods | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 1695 | ### Step 10: Delete handling via `DisposeRecord` | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 1728 | ### Step 11: Build and integrate the native Bf-Tree library | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 2213 | ### Step 12: Add `RangeIndexManager` to `FunctionsState` | COMMENT |
| LOW | website/docs/dev/range-index-resp-api.md | 2244 | ### Step 13: Checkpoint & Recovery | COMMENT |
| LOW | libs/server/AOF/AofProcessor.cs | 224 | /// NOTE: This method is shared between recover replay and replication replay | COMMENT |
| LOW | …ge/Tsavorite/cs/test/test.recovery/LargeObjectTests.cs | 38 | // Step 1: Create and populate store. | COMMENT |
| LOW | …ge/Tsavorite/cs/test/test.recovery/LargeObjectTests.cs | 63 | // Step 1: Create and recover store. | COMMENT |
| LOW | …ge/Tsavorite/cs/test/test.recovery/LargeObjectTests.cs | 126 | // Step 1: Create and populate store. | COMMENT |
| LOW | …ge/Tsavorite/cs/test/test.recovery/LargeObjectTests.cs | 152 | // Step 1: Create and recover store. | COMMENT |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …standalone/Garnet.test.vectorset/RespVectorSetTests.cs | 46 | server.Provider.StoreWrapper.DefaultDatabase.VectorManager.AllocateTestContexts(preAllocatedContexts); | CODE |
| CRITICAL | …standalone/Garnet.test.vectorset/RespVectorSetTests.cs | 4602 | server.Provider.StoreWrapper.DefaultDatabase.VectorManager.AllocateTestContexts(preAllocatedContexts); | CODE |
| CRITICAL | …ication/PrimaryOps/AofOperations/AofSyncDriverStore.cs | 28 | var truncateUntilAddress = store.clusterProvider.storeWrapper.appendOnlyFile.Log.UnsafeGetReadOnlyAddres | CODE |
| CRITICAL | libs/server/Resp/Parser/RespCommandHashLookup.cs | 321 | var crc = (uint)System.Runtime.Intrinsics.Arm.Crc32.Arm64.ComputeCrc32C(0U, word0); | CODE |
| CRITICAL | libs/server/Resp/Parser/RespCommandHashLookup.cs | 322 | return System.Runtime.Intrinsics.Arm.Crc32.ComputeCrc32C(crc, (uint)length); | CODE |
| CRITICAL | libs/server/Resp/Parser/RespCommandHashLookup.cs | 344 | var crc = (uint)System.Runtime.Intrinsics.Arm.Crc32.Arm64.ComputeCrc32C(0U, word0); | CODE |
| CRITICAL | libs/server/Resp/Parser/RespCommandHashLookup.cs | 345 | return System.Runtime.Intrinsics.Arm.Crc32.ComputeCrc32C(crc, (uint)name.Length); | CODE |
| CRITICAL | libs/server/Servers/MetricsApi.cs | 87 | return provider.StoreWrapper.monitor.GlobalMetrics.globalLatencyMetrics.GetLatencyMetrics(latencyMetricsType | CODE |
| CRITICAL | libs/storage/Tsavorite/cs/test/test.hlog/LogTests.cs | 151 | ClassicAssert.IsTrue(asyncMemoryOwnerIter.Current.entry.Memory.Span.ToArray().Take(expectedData.Leng | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1046 | // Step 1: Clean up and create source HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1053 | // Step 2: Dump the HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1057 | // Step 3: Corrupt the dump by flipping a bit (avoiding the last 8 bytes which are CRC) | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1065 | // Step 6: Verify key was not created | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1081 | // Step 1: Clean up and create source HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1088 | // Step 2: Dump the HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1092 | // Step 3: Zero out the last 8 bytes (CRC64 checksum) | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1099 | // Step 6: Verify key was not created | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1115 | // Step 1: Clean up and create sparse HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1122 | // Step 2: Dump and parse the structure | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1126 | // Step 3: Extract and corrupt the HLL value | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1133 | // Step 4: Reconstruct the dump with RDB encoding | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1167 | // Step 1: Clean up and create sparse HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1173 | // Step 2: Dump and parse the structure | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1177 | // Step 3: Extract the HLL value and verify it's sparse | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1181 | // Step 4: Corrupt the sparse stream length (bytes 16-17) to exceed actual size | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1204 | // Step 1: Clean up and create minimal sparse HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1210 | // Step 2: Dump and parse the structure | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1214 | // Step 3: Extract the HLL value and verify it's sparse | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1218 | // Step 4: Corrupt the first RLE opcode (offset 18) to create coverage gap | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1250 | // Step 2: Clean up and create sparse HLL | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1258 | // Step 3: Dump and parse the structure | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1262 | // Step 4: Extract and corrupt the sparse stream length | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1267 | // Step 5: Reconstruct the dump with RDB encoding (CRC will be zeros) | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1300 | // Step 1: Create sparse HLL with minimal elements | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1307 | // Step 2: Dump and verify sparse encoding (type byte = 0 at offset 3) | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1312 | // Step 3: Create dense HLL by adding elements until sparse->dense conversion | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1328 | // Step 4: Verify dense encoding (type byte = 1 at offset 3) | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1332 | // Step 5: Verify dense representation is larger | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1353 | // Step 1: Test 6-bit encoding | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1360 | // Step 2: Test 14-bit encoding | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1368 | // Step 3: Test 32-bit encoding | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1402 | // Step 1: Create valid sparse HLL and test data | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1412 | // Step 2: Dump and corrupt the SparseRLESize field | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1451 | // Step 4: RESTORE should succeed (CRC is valid, basic validation passes) | COMMENT |
| LOW⚡ | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1455 | // Step 5: Verify operations fail due to structural validation | COMMENT |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1152 | // Step 7: Verify key was not created | COMMENT |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1427 | // Step 3: Reconstruct dump with valid CRC using Garnet.common.Crc64 | COMMENT |
| LOW | …ge/Tsavorite/cs/test/test.recovery/LargeObjectTests.cs | 38 | // Step 1: Create and populate store. | COMMENT |
| LOW | …ge/Tsavorite/cs/test/test.recovery/LargeObjectTests.cs | 63 | // Step 1: Create and recover store. | COMMENT |
| LOW | …ge/Tsavorite/cs/test/test.recovery/LargeObjectTests.cs | 126 | // Step 1: Create and populate store. | COMMENT |
| LOW | …ge/Tsavorite/cs/test/test.recovery/LargeObjectTests.cs | 152 | // Step 1: Create and recover store. | COMMENT |
| LOW⚡ | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 491 | // Step 1: Write the new record's RecordInfo (Invalid set) FIRST. | COMMENT |
| LOW⚡ | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 496 | // Step 2: Build and write the new record's RDH (inline keys/values, no optionals, KeyLength=0, ValueLength | COMMENT |
| LOW⚡ | …ge/Tsavorite/cs/src/core/Allocator/RecordDataHeader.cs | 512 | // Step 3: Caller writes RecordSplitRetainFillerWords into this record's FillerWords (atomic update of the o | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | benchmark/BDN.benchmark/Diagnostics/CpuDiagnoser.cs | 79 | // start/delta bookkeeping robust against any interleaving of signals across cases. | COMMENT |
| MEDIUM | …uster/Garnet.test.cluster/ClusterPubSubForwardTests.cs | 88 | // the message is delivered (or we time out), which makes the baseline check robust against | COMMENT |
| MEDIUM | …one/Garnet.test.vectorset/VectorSetRecallSmokeTests.cs | 32 | /// All three quantization modes must stay robust across the disk paths. For Q8 (8-bit scalar) this | COMMENT |
| MEDIUM | test/standalone/Garnet.test/RespGetLowMemoryTests.cs | 139 | [TestCase(3_000)] // Definitely completes async | CODE |
| MEDIUM | libs/server/Objects/SortedSetGeo/GeoHash.cs | 185 | // check we can (as of .NET 8) to allow largest possible set of CPUs to utilize accelerated PDEP and PEXT co | COMMENT |
| MEDIUM | libs/server/AOF/LegacyRespCommand.cs | 18 | /// The translation is name-based and computed once at startup, so it is robust to the numeric | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/cluster/Garnet.test.cluster/ClusterTestUtils.cs | 945 | public const string certPassword = "placeholder"; | CODE |
| LOW | test/standalone/Garnet.test/TestUtils.cs | 293 | public const string certPassword = "placeholder"; | CODE |
| LOW | test/standalone/Garnet.test/GarnetServerConfigTests.cs | 656 | ClassicAssert.AreEqual("placeholder", options.CertPassword); | CODE |
| LOW | test/standalone/Garnet.test/GarnetServerConfigTests.cs | 675 | ClassicAssert.AreEqual("placeholder", options.CertPassword); | CODE |
| LOW | …/Garnet.test.acl/Resp/ACL/AclConfigurationFileTests.cs | 342 | var updatePass = "placeholder"; | CODE |
| LOW | playground/GarnetClientStress/StressTestUtil.cs | 41 | ClientCertificates = [GetClientCertificate("testcert.pfx", "placeholder")], | CODE |
| LOW | samples/GarnetClientSample/GarnetClientSamples.cs | 265 | ClientCertificates = [GetClientCertificate("testcert.pfx", "placeholder")], | CODE |
| LOW | samples/ETag/Caching.cs | 182 | const string loremIpsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incidi | CODE |
| LOW | samples/ETag/Caching.cs | 182 | const string loremIpsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incidi | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | metrics/HdrHistogram/Utilities/AtomicLongArray.cs | 15 | /// This is a basic implementation/port, of just the methods that are required internally. | COMMENT |
| MEDIUM | .github/workflows/codeql.yml | 51 | # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how | COMMENT |
| LOW | .azure/pipelines/azure-pipelines-mirror.yml | 43 | # Push the updated main branch to Azure DevOps - make sure to get the config files each push so compliant with sec | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/docker-tests/validate_docker_images.py | 124 | CODE | |
| LOW | test/docker-tests/validate_docker_images.py | 201 | CODE | |
| LOW | test/docker-tests/validate_docker_images.py | 237 | CODE | |
| LOW | test/docker-tests/validate_docker_images.py | 286 | CODE | |
| LOW | test/docker-tests/validate_docker_images.py | 351 | CODE | |
| LOW | test/docker-tests/validate_docker_images.py | 418 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/docker-tests/validate_docker_images.py | 155 | except (ConnectionRefusedError, socket.timeout, OSError): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/docker-tests/validate_docker_images.py | 233 | except Exception as e: | CODE |
| LOW | test/docker-tests/validate_docker_images.py | 282 | except Exception as e: | CODE |
| LOW | test/docker-tests/validate_docker_images.py | 345 | except Exception as e: | CODE |
| LOW | test/docker-tests/validate_docker_images.py | 411 | except Exception as e: | CODE |
| LOW | test/docker-tests/validate_docker_images.py | 491 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmark/Resp.benchmark/scripts/nvme-raid0-matrix.sh | 16 | # Usage: | COMMENT |
| LOW | …age/Tsavorite/cs/benchmark/Device.benchmark/Program.cs | 14 | /// Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libs/cluster/Server/Failover/ReplicaFailoverSession.cs | 332 | //TODO: implement voting | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/docker-tests/validate_docker_images.py | 34 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | website/src/clientModules/cookieConsent.js | 93 | function initializeWhenConsentLibraryLoads() { | CODE |