summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2016-01-04 14:29:06 +0100
committerDouwe Maan <douwe@gitlab.com>2016-01-04 14:30:30 +0100
commit4b027bc93a7875c3937f6b90ac1049b4a4d72da5 (patch)
tree3c0cd597fc622e825519430a2770baa8bca93afb
parentb9ec1aaec8c94795b92623ec85da4ba5be286c46 (diff)
downloadgitlab-ce-debug-banzai-cache.tar.gz
Add DEBUG_BANZAI_CACHE env var to debug Banzai cache issue.debug-banzai-cache
-rw-r--r--lib/banzai/renderer.rb21
1 files changed, 14 insertions, 7 deletions
diff --git a/lib/banzai/renderer.rb b/lib/banzai/renderer.rb
index 115ae914524..910e1c6994e 100644
--- a/lib/banzai/renderer.rb
+++ b/lib/banzai/renderer.rb
@@ -1,7 +1,5 @@
module Banzai
module Renderer
- CACHE_ENABLED = false
-
# Convert a Markdown String into an HTML-safe String of HTML
#
# Note that while the returned HTML will have been sanitized of dangerous
@@ -20,13 +18,22 @@ module Banzai
cache_key = context.delete(:cache_key)
cache_key = full_cache_key(cache_key, context[:pipeline])
- if cache_key && CACHE_ENABLED
- Rails.cache.fetch(cache_key) do
- cacheless_render(text, context)
+ cacheless = cacheless_render(text, context)
+
+ if cache_key && ENV["DEBUG_BANZAI_CACHE"]
+ cached = Rails.cache.fetch(cache_key) { cacheless }
+
+ if cached != cacheless
+ Rails.logger.warn "Banzai cache mismatch"
+ Rails.logger.warn "Text: #{text.inspect}"
+ Rails.logger.warn "Context: #{context.inspect}"
+ Rails.logger.warn "Cache key: #{cache_key.inspect}"
+ Rails.logger.warn "Cacheless: #{cacheless.inspect}"
+ Rails.logger.warn "With cache: #{cached.inspect}"
end
- else
- cacheless_render(text, context)
end
+
+ cacheless
end
def self.render_result(text, context = {})