anchor.diff:              %% we identify the root cause, protect the caller from uncontrolled crashes and
               %% return error atom so that requests can fall-back to cache-miss behavior.
               try
  -                eredis:q(Redis, Cmd, ?REDIS_CALL_TIMEOUT)
  +                eredis:q(Redis, Cmd, eredis_call_timeout())
               catch
                   EType:LargeWhy ->
                       %% The error tuple from eredis may include a large binary which we want
  
positive.code:         ]).
  
  -define(NO_CACHE_ORGS_KEY, <<",,NO_CACHE_ORGS">>).
  %% Estimate this value by looking at db perc90 times for search requests. No sense waiting
  %% on a cache for any longer than it would have taken you to go direct to the data.
  -define(REDIS_CALL_TIMEOUT, 200).
  
  %% @doc Fetch an entry from the search cache.
  -spec get(_, {binary(), binary()}) -> not_found | {integer(), binary()} | error.
  
negative.code: classify_eredis_error(_) ->
      {error, 'REDACTED'}.
  
  eredis_call_timeout() ->
      case application:get_env(oc_chef_wm, redis_call_timeout) of
          undefined ->
              %% gen_server default
              5000;
          {ok, Millis} when is_integer(Millis) ->
              Millis
      end.
  