From 244f90c4c78b27469cf089d1f823bb22dcd2fbb6 Mon Sep 17 00:00:00 2001 From: jomo Date: Tue, 21 Apr 2015 23:34:14 +0200 Subject: [PATCH] fix bug with skin caching that cached capes as non-existent when using cache.save_hash, an `undefined` skin or cape hash means "do not touch" while `null` means "overwrite as non-existent" this was sent to redis after calling /capes/Notch for the first time: "hmset" "notch" "c" "3f688e0e699b3d9fe448b5bb50a3a288f9c589762b3dae8308842122dcb81" "t" "1429651244222" "hmset" "notch" "s" "a116e69a845e227f7ca1fdde8c357c8c821ebd4ba619382ea4a1f87d4ae94" "c" "" "t" "1429651244235" as you can see, the first request stores the c(ape) but does not touch the s(kin), whereas the second request sets the s(kin) and replaces the c(ape) value --- lib/helpers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/helpers.js b/lib/helpers.js index 985ca39..cb1052a 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -177,7 +177,7 @@ function store_images(rid, userId, cache_details, type, callback) { // an error occured, not caching. we can try in 60 seconds callback_for(userId, "skin", store_err, null); } else { - cache.save_hash(rid, userId, skin_hash, null, function(cache_err) { + cache.save_hash(rid, userId, skin_hash, undefined, function(cache_err) { callback_for(userId, "skin", (store_err || cache_err), skin_hash); }); }