anchor.diff:  %% @see worker_plugin_behaviour
   -spec init(Args :: term()) -> ok | {error, Error :: any()}.
   init(_Args) ->
  -    ets:new(rtransfer, [public, named_table, {read_concurrency, true}]),
  +    ets:new(?rtransfer_tab, [public, named_table, {read_concurrency, true}]),
       {ok, _} = rt_map:new({local, ?aggregators_map}),
       {ok, _} = rt_map:new({local, ?gateways_map}),
   
       spawn(
           fun() ->
  -            Nodes = gen_server:call({global, central_cluster_manager}, get_nodes),
  -            ets:insert(rtransfer, {nodes, array:from_list(Nodes)})
  +            try
  +                Nodes = gen_server:call({global, central_cluster_manager}, get_nodes),
  +                ets:insert(?rtransfer_tab, {nodes, array:from_list(Nodes)})
  +            catch
  +                Error:Reason ->
  +                    ?error_stacktrace("~p:~p Failed to fetch nodes list from CCM: ~p:~p",
  +                        [?MODULE, ?LINE, Error, Reason])
  +            end
           end),
   
       ok.
  
positive.code:     {ok, GwPort} = application:get_env(?APP_Name, gateway_listener_port),
  
      URLs =
          case ets:lookup(rtransfer, {provider_addr_cache, ProviderId}) of
              [{_, ProviderURLs}] -> ProviderURLs;
              [] ->
                  {ok, ProviderDetails} = gr_providers:get_details(provider, ProviderId),
  
negative.code: %% @doc Pick one of gateway nodes available to perform requests.
  -spec pick_gw_node() -> node().
  pick_gw_node() ->
      [{_, Nodes}] = ets:lookup(?rtransfer_tab, nodes),
      NodeNo = random:uniform(array:size(Nodes)) - 1,
      array:get(NodeNo, Nodes).
  
  