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.
1342 matches across 11 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | benchmark/BDN.benchmark/Operations/ScriptOperations.cs | 181 | /// Batch size per method invocation |
| LOW | benchmark/BDN.benchmark/Operations/OperationsBase.cs | 41 | /// <summary> |
| LOW | …chmark/BDN.benchmark/Embedded/EmbeddedNetworkSender.cs | 21 | /// <summary> |
| LOW | benchmark/Resp.benchmark/OfflineBench/RespPerfBench.cs | 261 | swatch.Stop(); |
| LOW | …k/Resp.benchmark/OfflineBench/AOFBench/AofBenchType.cs | 1 | // Copyright (c) Microsoft Corporation. |
| LOW | …k/Resp.benchmark/OfflineBench/AOFBench/AofBenchType.cs | 21 | /// Simulate AOF replay (skipping resp parsing) |
| LOW | ….benchmark/OfflineBench/AOFBench/TsavoriteExtension.cs | 21 | HeaderSizeField = type.GetField("headerSize", flags); |
| LOW | benchmark/Device.benchmark/Program.cs | 21 | |
| LOW | metrics/HdrHistogram/HistogramExtensions.cs | 61 | /// <summary> |
| LOW | metrics/HdrHistogram/HistogramExtensions.cs | 81 | targetHistogram.Reset(); |
| LOW | metrics/HdrHistogram/HistogramExtensions.cs | 101 | public static IEnumerable<HistogramIterationValue> Percentiles(this HistogramBase histogram, int percentileTicks |
| LOW | metrics/HdrHistogram/HistogramExtensions.cs | 121 | /// seconds or other appropriate unit. |
| LOW | metrics/HdrHistogram/HistogramExtensions.cs | 141 | /// { |
| LOW | metrics/HdrHistogram/HistogramExtensions.cs | 161 | /// Records the elapsed time till the returned token is disposed. |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 21 | /// Base class for High Dynamic Range (HDR) Histograms |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 61 | public long HighestTrackableValue { get; } |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 101 | |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 121 | /// </summary> |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 141 | /// </param> |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 161 | /// Construct a histogram given the lowest and highest values to be tracked and a number of significant decimal |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 221 | /// <summary> |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 241 | var subBucketIndex = GetSubBucketIndex(value, bucketIndex); |
| 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. |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 481 | |
| LOW | metrics/HdrHistogram/HistogramBase.cs | 501 | |
| LOW | metrics/HdrHistogram/IRecorder.cs | 1 | namespace HdrHistogram |
| LOW | metrics/HdrHistogram/IRecorder.cs | 21 | void RecordValueWithCount(long value, long count); |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 21 | /// over value quantization behavior across the value range and the subsequent value resolution at any given level. |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 41 | /// The histogram will be constructed to implicitly track(distinguish from 0) values as low as 1. |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 61 | /// </param> |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 81 | /// </param> |
| LOW | metrics/HdrHistogram/LongHistogram.cs | 101 | } |
| LOW | metrics/HdrHistogram/LongConcurrentHistogram.cs | 1 | using System; |
| LOW | metrics/HdrHistogram/LongConcurrentHistogram.cs | 21 | { |
| LOW | metrics/HdrHistogram/LongConcurrentHistogram.cs | 41 | : base(lowestTrackableValue, highestTrackableValue, numberOfSignificantValueDigits) |
| LOW | metrics/HdrHistogram/LongConcurrentHistogram.cs | 121 | } |
| LOW | metrics/HdrHistogram/LongConcurrentHistogram.cs | 141 | // Debug.Assert(CountsArrayLength == _inactiveCounts.Length); |
| LOW | metrics/HdrHistogram/Utilities/AtomicLongArray.cs | 61 | // The guarantee that the lazySet provides is that the data will be made visible in the correct order. I.e. |
| LOW | metrics/HdrHistogram/Utilities/AtomicLongArray.cs | 81 | // From http://msdn.microsoft.com/en-us/magazine/jj863136.aspx |
| LOW | metrics/HdrHistogram/Utilities/WriterReaderPhaser.cs | 21 | /// While a<see cref="WriterReaderPhaser"/> can be useful in multiple scenarios, a specific and common use case is t |
| LOW | metrics/HdrHistogram/Utilities/WriterReaderPhaser.cs | 61 | } |
| LOW | metrics/HdrHistogram/Utilities/WriterReaderPhaser.cs | 81 | /// </para> |
| LOW | metrics/HdrHistogram/Utilities/WriterReaderPhaser.cs | 121 | /// Exit from a critical section containing a read operation(relinquishes mutual exclusion against other <see cr |
| LOW | metrics/HdrHistogram/Utilities/WriterReaderPhaser.cs | 201 | /// <para> |
| LOW | …rics/HdrHistogram/Iteration/HistogramIterationValue.cs | 21 | public long ValueIteratedTo { get; private set; } |
| LOW | …rics/HdrHistogram/Iteration/HistogramIterationValue.cs | 41 | public long TotalCountToThisValue { get; private set; } |
| LOW | …eplicationTests/ClusterReplicationDisklessSyncTests.cs | 181 | // Re-attach sync session |
| LOW | …rnet.test.cluster.migrate/RedirectTests/BaseCommand.cs | 41 | public abstract bool ArrayResponse { get; } |
| LOW | …rnet.test.cluster.migrate/RedirectTests/BaseCommand.cs | 81 | /// <summary> |
| LOW | …rnet.test.cluster.migrate/RedirectTests/BaseCommand.cs | 101 | /// <summary> |
| LOW | …/cluster/Garnet.test.cluster/ClusterManagementTests.cs | 641 | // * connected to node 3 (master <-> replica) |
| LOW | …/cluster/Garnet.test.cluster/ClusterManagementTests.cs | 1221 | { |
| LOW | test/cluster/Garnet.test.cluster/ClientClusterConfig.cs | 161 | /// Gets the endpoint of the current node. |
| LOW | test/cluster/Garnet.test.cluster/ClientClusterConfig.cs | 181 | /// <summary> |
| LOW | test/cluster/Garnet.test.cluster/ClientClusterConfig.cs | 301 | // 3. <flags> //TODO: hostname |
| LOW | …st/cluster/Garnet.test.cluster/ClusterNegativeTests.cs | 781 | // Verify primary owns all slots before failover |
| LOW | test/cluster/Garnet.test.cluster/ClusterTestContext.cs | 221 | foreach (var node in nodes) |
| LOW | test/cluster/Garnet.test.cluster/ClusterTestContext.cs | 241 | /// <param name="CommitFrequencyMs"></param> |
| LOW | test/cluster/Garnet.test.cluster/ClusterTestContext.cs | 261 | /// <param name="deviceType"></param> |
| LOW | test/cluster/Garnet.test.cluster/ClusterTestContext.cs | 401 | /// <param name="cleanClusterConfig"></param> |
| 1201 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1044 | // Step 1: Clean up and create source HLL |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1051 | // Step 2: Dump the HLL |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1055 | // Step 3: Corrupt the dump by flipping a bit (avoiding the last 8 bytes which are CRC) |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1063 | // Step 6: Verify key was not created |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1079 | // Step 1: Clean up and create source HLL |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1086 | // Step 2: Dump the HLL |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1090 | // Step 3: Zero out the last 8 bytes (CRC64 checksum) |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1097 | // Step 6: Verify key was not created |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1113 | // Step 1: Clean up and create sparse HLL |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1120 | // Step 2: Dump and parse the structure |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1124 | // Step 3: Extract and corrupt the HLL value |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1131 | // Step 4: Reconstruct the dump with RDB encoding |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1165 | // Step 1: Clean up and create sparse HLL |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1171 | // Step 2: Dump and parse the structure |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1175 | // Step 3: Extract the HLL value and verify it's sparse |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1179 | // Step 4: Corrupt the sparse stream length (bytes 16-17) to exceed actual size |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1202 | // Step 1: Clean up and create minimal sparse HLL |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1208 | // Step 2: Dump and parse the structure |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1212 | // Step 3: Extract the HLL value and verify it's sparse |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1216 | // Step 4: Corrupt the first RLE opcode (offset 18) to create coverage gap |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1248 | // Step 2: Clean up and create sparse HLL |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1256 | // Step 3: Dump and parse the structure |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1260 | // Step 4: Extract and corrupt the sparse stream length |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1265 | // Step 5: Reconstruct the dump with RDB encoding (CRC will be zeros) |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1298 | // Step 1: Create sparse HLL with minimal elements |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1305 | // Step 2: Dump and verify sparse encoding (type byte = 0 at offset 3) |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1310 | // Step 3: Create dense HLL by adding elements until sparse->dense conversion |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1351 | // Step 1: Test 6-bit encoding |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1358 | // Step 2: Test 14-bit encoding |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1366 | // Step 3: Test 32-bit encoding |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1150 | // Step 7: Verify key was not created |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1326 | // Step 4: Verify dense encoding (type byte = 1 at offset 3) |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1330 | // Step 5: Verify dense representation is larger |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1400 | // Step 1: Create valid sparse HLL and test data |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1410 | // Step 2: Dump and corrupt the SparseRLESize field |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1425 | // Step 3: Reconstruct dump with valid CRC using Garnet.common.Crc64 |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1449 | // Step 4: RESTORE should succeed (CRC is valid, basic validation passes) |
| LOW | …andalone/Garnet.test.complexstring/HyperLogLogTests.cs | 1453 | // Step 5: Verify operations fail due to structural validation |
| LOW | …ge/Tsavorite/cs/test/test.recovery/LargeObjectTests.cs | 39 | // Step 1: Create and populate store. |
| LOW | …ge/Tsavorite/cs/test/test.recovery/LargeObjectTests.cs | 64 | // Step 1: Create and recover store. |
| LOW | …ge/Tsavorite/cs/test/test.recovery/LargeObjectTests.cs | 127 | // Step 1: Create and populate store. |
| LOW | …ge/Tsavorite/cs/test/test.recovery/LargeObjectTests.cs | 153 | // Step 1: Create and recover store. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | test/docker-tests/validate_docker_images.py | 38 | # --------------------------------------------------------------------------- |
| MEDIUM | test/docker-tests/validate_docker_images.py | 40 | # --------------------------------------------------------------------------- |
| MEDIUM | test/docker-tests/validate_docker_images.py | 63 | # --------------------------------------------------------------------------- |
| MEDIUM | test/docker-tests/validate_docker_images.py | 65 | # --------------------------------------------------------------------------- |
| MEDIUM | test/docker-tests/validate_docker_images.py | 176 | # --------------------------------------------------------------------------- |
| MEDIUM | test/docker-tests/validate_docker_images.py | 178 | # --------------------------------------------------------------------------- |
| MEDIUM | test/docker-tests/validate_docker_images.py | 506 | # --------------------------------------------------------------------------- |
| MEDIUM | test/docker-tests/validate_docker_images.py | 508 | # --------------------------------------------------------------------------- |
| MEDIUM | libs/server/Resp/Vector/VectorFilterExpression.cs | 116 | /// └────┴────┴────┴────────────────────────────┴───────────────────────────────────┘ |
| MEDIUM | libs/server/Resp/Vector/VectorFilterExpression.cs | 117 | /// ◄─── header (8 bytes) ──────────────────────►◄─── payload (8 bytes) ───────────► |
| MEDIUM | libs/server/Resp/Vector/VectorFilterExpression.cs | 177 | // ── Union payload at offset 8 (8 bytes) ───────────────────────── |
| MEDIUM | libs/server/Resp/Vector/VectorFilterExpression.cs | 194 | // ── Flags helpers ──────────────────────────────────────────────── |
| MEDIUM | libs/server/Resp/Vector/VectorFilterExpression.cs | 209 | // ── Discriminator helpers ──────────────────────────────────────── |
| MEDIUM | libs/server/Resp/Vector/VectorFilterExpression.cs | 214 | // ── Factory methods ────────────────────────────────────────────── |
| MEDIUM | libs/server/Resp/Vector/VectorManager.Filter.cs | 15 | // ── Buffer size constants ──────────────────────────────────────── |
| MEDIUM | libs/server/Resp/Vector/VectorManager.Filter.cs | 36 | // ──────────────── ─────── ────── ───────────────────────────────── |
| MEDIUM | libs/server/Resp/Vector/VectorManager.Filter.cs | 129 | // ── Compile ──────────────────────────────────────────────── |
| MEDIUM | libs/server/Resp/Vector/VectorManager.Filter.cs | 148 | // ── Collect unique selectors ────────────────────────────── |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | …ication/PrimaryOps/AofOperations/AofSyncDriverStore.cs | 28 | var truncateUntilAddress = store.clusterProvider.storeWrapper.appendOnlyFile.Log.UnsafeGetReadOnlyAddres |
| CRITICAL | libs/server/Servers/MetricsApi.cs | 87 | return provider.StoreWrapper.monitor.GlobalMetrics.globalLatencyMetrics.GetLatencyMetrics(latencyMetricsType |
| CRITICAL | libs/storage/Tsavorite/cs/test/test.hlog/LogTests.cs | 152 | ClassicAssert.IsTrue(asyncMemoryOwnerIter.Current.entry.Memory.Span.ToArray().Take(expectedData.Leng |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | metrics/HdrHistogram/Utilities/AtomicLongArray.cs | 15 | /// This is a basic implementation/port, of just the methods that are required internally. |
| 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 |
| 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 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | test/standalone/Garnet.test/RespGetLowMemoryTests.cs | 70 | [TestCase(3_000)] // Definitely completes async |
| 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 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test/docker-tests/validate_docker_images.py | 124 | |
| LOW | test/docker-tests/validate_docker_images.py | 201 | |
| LOW | test/docker-tests/validate_docker_images.py | 237 | |
| LOW | test/docker-tests/validate_docker_images.py | 286 | |
| LOW | test/docker-tests/validate_docker_images.py | 351 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test/docker-tests/validate_docker_images.py | 233 | except Exception as e: |
| LOW | test/docker-tests/validate_docker_images.py | 282 | except Exception as e: |
| LOW | test/docker-tests/validate_docker_images.py | 345 | except Exception as e: |
| LOW | test/docker-tests/validate_docker_images.py | 411 | except Exception as e: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | samples/ETag/Caching.cs | 182 | const string loremIpsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incidi |
| LOW | samples/ETag/Caching.cs | 182 | const string loremIpsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incidi |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | benchmark/Device.benchmark/Program.cs | 14 | /// Example usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | test/docker-tests/validate_docker_images.py | 34 |