• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

trickstercache / trickster
94%
main: 94%

Build:
Build:
LAST BUILD BRANCH: fix/dpc-unmarshal-error-recovery
DEFAULT BRANCH: main
Repo Added 26 May 2021 04:18PM UTC
Token NR9scMgqEh7Tr8UCZQWY2MXD5pTMTrXFN regen
Build 1515 Last
Files 961
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH fix/dpc-unmarshal-error-recovery
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • 1.1-rename-org
  • 2.0-otel-1.0
  • 2.0-rename-org
  • 2.0-shard-requests
  • add-codeql
  • add-notes
  • add-sbom
  • adopters
  • alb-502
  • alb-cont
  • alb-cont-squashed
  • alb-fixes
  • alb-followup
  • alb-review
  • alb/rc-mutex
  • atomic
  • auto-probe-pool-members
  • buildflags
  • cache-latency
  • cache-post-query
  • cache-refactor
  • cache-singleflight
  • chore-modernize-benchmarks-1061
  • chore/standardize-timeconv-duration
  • chunking
  • chunking-2
  • ci-skipcancel
  • click-multiline
  • clickhouse-binary
  • clickhouse-fix
  • client-reap-test
  • clone-pt2
  • codespell
  • compose-fs
  • config-493
  • config-time-duration
  • cosign
  • custom-routes
  • data-race/proxy-listener
  • dataset-mutex
  • dataset-perf
  • default-200-metrics
  • dependabot
  • dependabot/go_modules/github.com/alicebob/miniredis/v2-2.36.1
  • dependabot/go_modules/github.com/alicebob/miniredis/v2-2.37.0
  • dependabot/go_modules/github.com/andybalholm/brotli-1.1.0
  • dependabot/go_modules/github.com/andybalholm/brotli-1.2.1
  • dependabot/go_modules/github.com/dgraph-io/badger/v4-4.9.2
  • dependabot/go_modules/github.com/influxdata/influxdb-1.11.4
  • dependabot/go_modules/github.com/influxdata/influxdb-1.12.3
  • dependabot/go_modules/github.com/influxdata/influxdb-1.12.4
  • dependabot/go_modules/github.com/klauspost/compress-1.17.7
  • dependabot/go_modules/github.com/klauspost/compress-1.17.8
  • dependabot/go_modules/github.com/klauspost/compress-1.18.5
  • dependabot/go_modules/github.com/klauspost/compress-1.18.6
  • dependabot/go_modules/github.com/klauspost/compress-1.18.7
  • dependabot/go_modules/github.com/prometheus/client_golang-1.18.0
  • dependabot/go_modules/github.com/redis/go-redis/v9-9.18.0
  • dependabot/go_modules/github.com/redis/go-redis/v9-9.19.0
  • dependabot/go_modules/github.com/redis/go-redis/v9-9.20.0
  • dependabot/go_modules/github.com/redis/go-redis/v9-9.21.0
  • dependabot/go_modules/github.com/tinylib/msgp-1.6.4
  • dependabot/go_modules/go.etcd.io/bbolt-1.3.7
  • dependabot/go_modules/go.etcd.io/bbolt-1.3.9
  • dependabot/go_modules/go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace-0.39.0
  • dependabot/go_modules/go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace-0.40.0
  • dependabot/go_modules/go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace-0.41.0
  • dependabot/go_modules/go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace-0.52.0
  • dependabot/go_modules/go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace-0.53.0
  • dependabot/go_modules/go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace-0.69.0
  • dependabot/go_modules/go.opentelemetry.io/otel-1.22.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/jaeger-1.13.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/jaeger-1.14.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp-1.43.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp-1.44.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/stdout/stdouttrace-1.14.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/stdout/stdouttrace-1.15.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/stdout/stdouttrace-1.24.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/stdout/stdouttrace-1.27.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/stdout/stdouttrace-1.28.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/stdout/stdouttrace-1.42.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/stdout/stdouttrace-1.44.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/zipkin-1.15.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/zipkin-1.22.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/zipkin-1.27.0
  • dependabot/go_modules/go.opentelemetry.io/otel/exporters/zipkin-1.28.0
  • dependabot/go_modules/go.opentelemetry.io/otel/sdk-1.13.0
  • dependabot/go_modules/go.opentelemetry.io/otel/sdk-1.14.0
  • dependabot/go_modules/go.opentelemetry.io/otel/sdk-1.15.0
  • dependabot/go_modules/go.opentelemetry.io/otel/sdk-1.27.0
  • dependabot/go_modules/go.opentelemetry.io/otel/sdk-1.28.0
  • dependabot/go_modules/go.opentelemetry.io/otel/sdk-1.43.0
  • dependabot/go_modules/go.opentelemetry.io/otel/trace-1.24.0
  • dependabot/go_modules/go.opentelemetry.io/otel/trace-1.27.0
  • dependabot/go_modules/go.opentelemetry.io/otel/trace-1.28.0
  • dependabot/go_modules/go.opentelemetry.io/otel/trace-1.42.0
  • dependabot/go_modules/golang.org/x/crypto-0.53.0
  • dependabot/go_modules/golang.org/x/net-0.21.0
  • dependabot/go_modules/golang.org/x/net-0.22.0
  • dependabot/go_modules/golang.org/x/net-0.24.0
  • dependabot/go_modules/golang.org/x/net-0.51.0
  • dependabot/go_modules/golang.org/x/net-0.55.0
  • dependabot/go_modules/golang.org/x/sync-0.21.0
  • dependabot/go_modules/google.golang.org/grpc-1.79.3
  • dependabot/go_modules/google.golang.org/protobuf-1.33.0
  • disco-2
  • discovery
  • discovery-dco-fix
  • distroless
  • docs-otlp-http-examples-381
  • docs-trickster-result-492
  • docs/clickhouse-sdk-support
  • docs/mysql-found-rows-limitation
  • e2e-config-test
  • elia-refactor-concurrency
  • elia-refactor-listener
  • enable-gosec
  • engine-perf
  • epoch-g115
  • error-logging-929
  • expand-int
  • failed-upstream-req
  • feat-druid-provider-592
  • feat-elasticsearch-provider-7
  • feat-grafana-origin-8
  • feat-rule-regex-captures-598
  • feat-tsm-limit-ratio-1069
  • feat-tsm-limitk-1072
  • feat-tsm-quantile-1071
  • feat-tsm-stddev-1070
  • feat/alb-tsm-max-query-range
  • feat/auto-config-reload-904
  • feat/backend-cors-policy
  • feat/greptimedb-dev-env-1150
  • feat/influxdb-prom-remote-read-272
  • feat/ip-acl
  • feat/questdb-provider-1151
  • feat/rate-limiting
  • fix-677
  • fix-alb-fr-cancellation
  • fix-codespell
  • fix-deadlock
  • fix-deltaproxycache-range-miss-time-flake
  • fix-dpc-chunk-test-timebomb
  • fix-handler-order
  • fix-healthcheck-demand-probe-body
  • fix-injected-appversion
  • fix-lint
  • fix-msgpack
  • fix-multi-platform-publish
  • fix-mysql-no-backslash-comments
  • fix-otlp-endpoint-option
  • fix-prometheus-rules-api
  • fix-prometheus-sort-merge-1063
  • fix-proxy-races
  • fix-races
  • fix-range-truncation-cache-poisoning
  • fix-release
  • fix-sf-proxy
  • fix-splice-panic-high-shard-count
  • fix-tags-nil-pointer
  • fix-time
  • fix-timeconv-duration-compat-1089
  • fix-topk-finalize-1034
  • fix-tsm-fast-forward-time-1100
  • fix-tsm-proxy-only-ranges-1040
  • fix-tsm-rank-merge-1056
  • fix/alb-localresponse-handler
  • fix/dpc-unmarshal-error-recovery
  • fix/engines-http2-goaway-retry
  • fix/listener-active-connection-drift
  • fix/middleware-wrapping-order
  • fix/tsm-non-2xx-decode-guard
  • flux
  • flux-fixes
  • fr-simplify
  • g115-hops
  • generic-extent-list
  • go-1.26
  • go-fix
  • header-env-string
  • health-test
  • healthcheck-path-fix
  • i-811
  • i-858
  • i-873
  • i-927
  • i-937
  • i-937-2
  • i-996
  • i-999
  • improve-trace-context-propagation
  • improve-tracing-span-attributes
  • influx-3
  • inject-app-version
  • int-conversion-fix
  • int-cover
  • int-fix
  • integration-alb-tsm-scale
  • jr/1188
  • jr/2025-roadmap
  • jr/acme-support
  • jr/add-ai-policy
  • jr/add-check-license-headers
  • jr/add-graphite
  • jr/add-mecone-devenv
  • jr/add-mysql-support
  • jr/add-test-coverage
  • jr/add-tls-monitor
  • jr/alb-tsm-series-hash
  • jr/allocation-optimization
  • jr/atomic-cert-swapper
  • jr/auth-hygene
  • jr/authenticator
  • jr/autodisco-phase2
  • jr/autodiscovery
  • jr/aws-cloudwatch-metrics
  • jr/bugfix-bcrypt-auth
  • jr/bugfix-hc
  • jr/bugfix-rules-parse
  • jr/bump-deps-250813
  • jr/bump-deps-260830
  • jr/bump-packages
  • jr/cache-selects
  • jr/cf-docs-update
  • jr/chunk-error
  • jr/clickhouse-aftership
  • jr/clickhouse-benchmarks
  • jr/clickhouse-caching
  • jr/clickhouse-influxdb-updates
  • jr/clickhouse-updates
  • jr/config-anon-endpoint
  • jr/config-endpoint-hardening
  • jr/config-sanitize-tracing
  • jr/const-keys-docs-cleanup
  • jr/daemon-test-coverage
  • jr/dataset-optimizations
  • jr/dev-env-profiles
  • jr/dev-env-warnings
  • jr/diffable
  • jr/diffpkg
  • jr/docker-compose
  • jr/docker-localhost-alias
  • jr/docs-update
  • jr/drop-irondb
  • jr/extent-list-perf
  • jr/fix-config-reload
  • jr/fix-fr-panic-test
  • jr/fix-healthcheck-opts
  • jr/fix-host-header
  • jr/fix-issue-1140
  • jr/fix-kube-caches
  • jr/fix-lint-issues-2
  • jr/fix-opc-hang
  • jr/fix-random-test-failures
  • jr/fix-tests
  • jr/fix-yamlv3-deprecation
  • jr/geo-acl
  • jr/hc-continuity
  • jr/hc-list
  • jr/hc-status-fix
  • jr/hc-ur-available
  • jr/http-proxy-refactor
  • jr/increase-test-coverage
  • jr/increase-test-coverage-2
  • jr/integration-cleanup
  • jr/issue-1127
  • jr/kube-gw-ingress
  • jr/kube-watch-race
  • jr/l4lb
  • jr/lint-fixes-202
  • jr/listener-hardening
  • jr/local-seeding
  • jr/logging-enhancements
  • jr/maintainer-term
  • jr/maxconnsperhost
  • jr/modern-ranges
  • jr/moq
  • jr/more-durations
  • jr/operator-consts
  • jr/optimize-filesystem-cache
  • jr/otimize-startup-hc
  • jr/package-logger
  • jr/path-configs-fix
  • jr/pprof-routing
  • jr/prom-scalar
  • jr/proxy-error-200
  • jr/questdb-minor-fixes
  • jr/rate-limit-sec
  • jr/rc1-prep
  • jr/redis-update
  • jr/reduce-resource-cloning
  • jr/refactor-alb
  • jr/refactor-appends
  • jr/regex-paths
  • jr/registration-registry
  • jr/release-workflow-updates
  • jr/remove-dns-pkg
  • jr/remove-greptime-artifiact
  • jr/remove-test-gzip
  • jr/replica-group-errors
  • jr/resource-consumption
  • jr/retire-mockster
  • jr/revendor
  • jr/rewriter-named-type
  • jr/rpc-conformance
  • jr/rule-panic
  • jr/scalar-nan
  • jr/sets-refactor
  • jr/simplify-yaml-load
  • jr/startup-process
  • jr/static-backend
  • jr/step-alignment-rework
  • jr/sticky
  • jr/stringbuilder-fprintf
  • jr/support-query-method
  • jr/test-failures
  • jr/test-updates
  • jr/timescaledb
  • jr/tsm-avg-agg
  • jr/tsm-context-cancel
  • jr/tsm-fixes
  • jr/tsm-global-eval
  • jr/tsm-ha-replicas
  • jr/tsm-pool-health
  • jr/undry
  • jr/unvendor
  • jr/update-deps
  • jr/update-gitignore
  • jr/update-maintainers
  • jr/use-lookup-types
  • jr/user-router
  • jr/validation
  • jr/vector-merge
  • jr/vendor-doc-updates
  • jr/victoriametrics
  • jwr/fix-lint-issues
  • lib-migration
  • lint-perfsprint
  • lm-router
  • main
  • make-serve
  • memory-v2
  • minor-fixes
  • misc
  • more-int
  • more-refactors
  • more-stdlib
  • more-stdlib-2
  • namedlock-removal
  • non_ts_cache
  • opc-test
  • optimize
  • optimize-2
  • optimize-3
  • optimize-ci
  • options-clone-refactor
  • patch-1
  • pcf-deadlock
  • pcf-mutex
  • perf-healthcheck
  • perf-index
  • perf-index-retry
  • perf-loglevel
  • perf-unmarshal-models
  • points-values-limit
  • pool-part-1
  • print-startup-errors
  • prom-3.0
  • prom-latest
  • prom-tests
  • proxy-cache-mutex
  • proxy-eng-extent
  • proxy-engine-refactor
  • proxy-engine/sf
  • proxy-off-by-one
  • proxy-tests
  • publish-images
  • reap-refactor
  • reduce-duplication
  • reduce-wg-adds
  • refactor-logging
  • refactor-tsm-merge-plan-1073
  • refactor-tsm-nonmerge-fallback-1009
  • refactor-ur-runtime-state-1010
  • refactor/trim-empty-extents
  • refs/tags/v2.0.0
  • refs/tags/v2.0.1
  • refs/tags/v2.0.2
  • refs/tags/v2.0.3
  • refs/tags/v2.0.4
  • refs/tags/v2.0.5
  • refs/tags/v2.1.0
  • remove-duplicates
  • remove-gorilla
  • remove-mutex
  • remove-refobjects
  • remove_by_name
  • revendor
  • rm-influx-errchan
  • rule/check
  • runtime
  • security-insights
  • set-refactor
  • sf-opt
  • sf-proxy-hit
  • sha256sum
  • simple-integration
  • sql-parser-perf
  • staticcheck
  • strings-replacer
  • struct-context
  • tag-slice-usage
  • test-clock-healthcheck-1007
  • test-dpc-sync-cache-write-765
  • test-fixes
  • test-remove-healthcheck-sleeps-1007
  • test-sharded-query-range-1017
  • testcoverage
  • timeseries-tests
  • tonychoe/oracle
  • tracing-otlp-protocol-381
  • tracing-parent-based-sampling
  • trickster-elia-renzoni
  • tsm-constructor-refactor
  • unavail-alb-fix
  • update-2023-charter
  • update-maintainers
  • update-msgpack
  • update-packages-gover
  • update-pkgs
  • use-reviewdog
  • use-stdlib
  • use-v2-module
  • v1.1.x
  • v1.1.x-alpine-latest
  • v2.2
  • vendor-updates
  • wg-errgroup

22 Oct 2026 11:53PM UTC coverage: 93.708% (-0.01%) from 93.721%
39874707113

Pull #1213

github

thinker0
feat(dpc,opc): support bypass_cache directive with allow_query_cache_bypass guard

Support bypass_cache=1 or hard_refresh=1 query parameters, form values,
X-Bypass-Cache header, and PromQL # bypass_cache statement directives.
To prevent uncontrolled resource consumption (DoS/cache stampede),
this capability is guarded by the backend option allow_query_cache_bypass
(disabled by default).

When enabled and detected, Trickster safely purges the tainted cache
entry from the cache store, fetches fresh data from origin, and serves
the full untruncated dataset to clients.

Signed-off-by: thinker0 <thinker0@gmail.com>
Co-authored-by: Gemini <noreply@google.com>
Pull Request #1213: fix(dpc): recover from corrupted cache unmarshaling and add safe query bypass

43 of 78 new or added lines in 5 files covered. (55.13%)

20 existing lines in 8 files now uncovered.

99052 of 105703 relevant lines covered (93.71%)

15497.54 hits per line

Relevant lines Covered
Build:
Build:
105703 RELEVANT LINES 99052 COVERED LINES
15497.54 HITS PER LINE
Source Files on main
  • Tree
  • List 961
  • Changed 32
  • Source Changed 0
  • Coverage Changed 32
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
39874707113 fix/dpc-unmarshal-error-recovery feat(dpc,opc): support bypass_cache directive with allow_query_cache_bypass guard Support bypass_cache=1 or hard_refresh=1 query parameters, form values, X-Bypass-Cache header, and PromQL # bypass_cache statement directives. To prevent uncontroll... Pull #1213 23 Oct 2026 12:06AM UTC thinker0 github
93.71
39794211675 main feat: Support Media over QUIC (MoQ) Transport Caching Relay (#1214) * add moq draft matrix and http3 round-trip benchmark Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: James Ranson <james@ranson.org> * share quic endpoi... push 22 Oct 2026 02:31PM UTC web-flow github
93.72
39747709189 fix/tsm-non-2xx-decode-guard fix(alb,tsm): propagate error winner body and status when all fanouts fail Address PR #1212 review feedback: - Propagate error status code, headers, and body when all fanouts fail (no 2xx members), preferring lowest 4xx user error over 5xx. - A... Pull #1212 22 Oct 2026 08:41AM UTC thinker0 github
93.72
39730144597 jr/moq support acls, rate limiters, etc., in moq Signed-off-by: James Ranson <james@ranson.org> Pull #1214 22 Oct 2026 06:06AM UTC jranson github
93.73
39718153102 jr/moq fix failing tests Signed-off-by: James Ranson <james@ranson.org> Pull #1214 22 Oct 2026 03:53AM UTC jranson github
93.73
39697321053 fix/tsm-non-2xx-decode-guard fix(alb,tsm): propagate error winner body and status when all fanouts fail Address PR #1212 review feedback: - Propagate error status code, headers, and body when all fanouts fail (no 2xx members), preferring lowest 4xx user error over 5xx. - A... Pull #1212 22 Oct 2026 12:17AM UTC thinker0 github
93.72
39556046233 fix/tsm-non-2xx-decode-guard fix(alb,tsm): skip timeseries unmarshaling for non-2xx gather responses When an ALB TSM pool member returns a non-2xx status code (e.g., 400 Bad Request with error JSON), TSM was attempting to unmarshal the error payload as a timeseries dataset v... Pull #1212 21 Oct 2026 06:49AM UTC thinker0 github
93.74
39463212131 main update roadmap Signed-off-by: James Ranson <james@ranson.org> push 20 Oct 2026 05:18PM UTC jranson github
93.73
39325125931 main Merge pull request #1197 from jranson/jr/fix-tests fix: data race push 19 Oct 2026 09:21PM UTC web-flow github
93.73
39319372725 jr/fix-tests fix data race Signed-off-by: James Ranson <james@ranson.org> Pull #1197 19 Oct 2026 08:39PM UTC jranson github
93.74
See All Builds (1280)
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc