Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Response get not cached - Status is alway kmiss #603

Open
ch9hn opened this issue May 29, 2022 · 0 comments
Open

Response get not cached - Status is alway kmiss #603

ch9hn opened this issue May 29, 2022 · 0 comments

Comments

@ch9hn
Copy link

ch9hn commented May 29, 2022

Hello,
I have the problem, that one of the REST APIs I want to cache, is always failing and the REDIS Key is always deleted.

Logs:

trickster  | time=x app=trickster level=debug event="redis cache remove" key=demo.host.opc.6af458366efc65dde25ba9f9f7ffa1bc caller=cache/redis/redis.go:129
trickster  | time=2022-05-29T23:04:22.057896626Z app=trickster level=debug event="redis cache miss" key=demo.host.opc.6af458366efc65dde25ba9f9f7ffa1bc caller=cache/redis/redis.go:117
trickster  | time=2022-05-29T23:04:22.268980668Z app=trickster level=debug event="redis cache remove" key=demo.host.opc.6af458366efc65dde25ba9f9f7ffa1bc caller=cache/redis/redis.go:129
trickster  | time=2022-05-29T23:04:23.177295418Z app=trickster level=debug event="redis cache miss" key=demo.host.opc.6af458366efc65dde25ba9f9f7ffa1bc caller=cache/redis/redis.go:117

Headers of demo.host.com backend - not working:

> HEAD /vdl/<LONGURL> HTTP/1.1
> Host: 127.0.0.1:8480
> User-Agent: curl/7.79.1
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: *
< Content-Type: application/json; charset=UTF-8
Content-Type: application/json; charset=UTF-8
< Date: x GMT
Date: x GMT
< X-Trickster-Result: engine=ObjectProxyCache; status=kmiss
X-Trickster-Result: engine=ObjectProxyCache; status=kmiss
config.yaml

Working API:

*   Trying 127.0.0.1:8480...
* Connected to 127.0.0.1 (127.0.0.1) port 8480 (#0)
> HEAD /plos/search?q=DNA HTTP/1.1
> Host: 127.0.0.1:8480
> User-Agent: curl/7.79.1
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Access-Control-Allow-Credentials: true
Access-Control-Allow-Credentials: true
< Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization
< Access-Control-Allow-Methods: GET, PUT, POST, DELETE, PATCH, OPTIONS
Access-Control-Allow-Methods: GET, PUT, POST, DELETE, PATCH, OPTIONS
< Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: *
< Access-Control-Max-Age: 1728000
Access-Control-Max-Age: 1728000
< Connection: keep-alive
Connection: keep-alive
< Content-Type: application/json;charset=utf-8
Content-Type: application/json;charset=utf-8
< Etag: "XXX"
Etag: "XXX"
< Last-Modified: x GMT
Last-Modified: xGMT
< Strict-Transport-Security: max-age=15724800; includeSubDomains
Strict-Transport-Security: max-age=15724800; includeSubDomains
< X-Cache-Status: MISS
X-Cache-Status: MISS
< X-Trickster-Result: engine=ObjectProxyCache; status=hit
X-Trickster-Result: engine=ObjectProxyCache; status=hit
< Date: xGMT
Date: x GMT

Trickster config.yaml

frontend:
  listen_port: 8480

request_rewriters:
  remove-cache-control:
    instructions: [
      ['header', 'delete', 'Cache-Control', 'no-store'],
      ['header', 'delete', 'Cache-Control', 'no-cache'],
      ['header', 'delete', 'Pragma'],
    ]


backends:
  vvdl:
    hosts: [ demo.host.com ]
    origin_url: https://demo.host.com
    provider: reverseproxycache
    cache_name: rds
    req_rewriter_name: remove-cache-control


# This API is working
  plos:
    hosts: [ api.plos.org ]
    origin_url: https://api.plos.org
    provider: reverseproxycache
    cache_name: rds
    forwarded_headers: standard
   req_rewriter_name: remove-cache-control


metrics:
 listen_port: 8481   # available for scraping at http://<trickster>:<metrics.listen_port>/metrics

logging:
  log_level: DEBUG

caches:
  rds:
    provider: redis
    redis:
      client_type: standard
      protocol: tcp
      endpoint: 'redis:6379'
      db: 0
      password: "XXX"

Do you have an idea - what wrong here ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant