Add TTL-based expiry for wildcard subdomain cache entries
Adopt model-redis v1.5.0 and give the on-demand is_cache Host records (and their Cached tracking records) created by Host.addCache a TTL, so they auto-expire instead of accumulating forever. Only the record hash carries the TTL, so OpenResty's direct HGETALL sees a miss once it expires and re-resolves through the lookup path. The lifetime is configurable via conf.cacheTTL (seconds, default 3600; 0 disables expiry). This also mitigates the matchAny=false "wrong host" bug: stale leftover cache entries now expire (and are still busted on parent update), so undefined subdomains stop being served by old caches. Add test/unit/wildcard_matchany.test.js covering the matchAny routing decision (defined vs undefined subdomains, mixed-policy sibling wildcards, and cache-entry behavior) and wire it into the test scripts. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Generated
+4
-4
@@ -23,7 +23,7 @@
|
||||
"jquery": "^3.7.1",
|
||||
"ldapts": "^8.1.2",
|
||||
"linux-sys-user": "^1.2.0",
|
||||
"model-redis": "^1.4.0",
|
||||
"model-redis": "^1.5.0",
|
||||
"moment": "^2.30.1",
|
||||
"mustache": "^4.2.0",
|
||||
"p2psub": "^0.2.0",
|
||||
@@ -1398,9 +1398,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/model-redis": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/model-redis/-/model-redis-1.4.0.tgz",
|
||||
"integrity": "sha512-mbs92tMdyPvKrP/VorXXUeMJXWV66A6MVlU3te13f8IYKl0yxyLMF6eoPzuQN7FDCtXpqUeudZe1TxZQeM7QHQ==",
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/model-redis/-/model-redis-1.5.0.tgz",
|
||||
"integrity": "sha512-eVXQQN+k3cR5aJBvPQurgr8WXYpAvVoLu6ydMWenSOJZBDVcHqeNqUCp8n5lYrxv6iZ8PlF0WQzZFmbJ1zP6/A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"redis": "^6.1.0"
|
||||
|
||||
Reference in New Issue
Block a user