anchor.diff:  server_name(BucketName) ->
       list_to_atom("terse_bucket_info_uploader-" ++ BucketName).
   
  +%%%===================================================================
  +%%% gen_server callbacks
  +%%%===================================================================
   init(BucketName) ->
       Self = self(),
       ns_pubsub:subscribe_link(bucket_info_cache_invalidations, fun invalidation_loop/2, {BucketName, Self}),
  -    submit_refresh(BucketName, Self).
  +    submit_refresh(BucketName, Self),
  +    {ok, #state{}}.
  +
  +handle_call(_Request, _From, State) ->
  +    Reply = ok,
  +    {reply, Reply, State}.
  +
  +handle_cast(_Msg, State) ->
  +    {noreply, State}.
  +
  +handle_info({refresh, BucketName}, State) ->
  +    flush_refresh_msgs(BucketName),
  +    refresh_cluster_config(BucketName),
  +    {noreply, State};
  +handle_info(_Info, State) ->
  +    {noreply, State}.
  +
  +terminate(_Reason, _State) ->
  +    ok.
  +
  +code_change(_OldVsn, State, _Extra) ->
  +    {ok, State}.
  +
  +%%%===================================================================
  +%%% Internal functions
  +%%%===================================================================
  +flush_refresh_msgs(BucketName) ->
  +    case misc:flush({refresh, BucketName}) of
  +        N when N > 0 ->
  +            ?log_debug("Flushed ~p refresh messages", [N]);
  +        _ ->
  +            ok
  +    end.
   
   refresh_cluster_config(BucketName) ->
       case bucket_info_cache:terse_bucket_info(BucketName) of
  
positive.code: %% @doc This service watches changes of terse bucket info and uploads
  %% it to ep-engine
  -module(terse_bucket_info_uploader).
  -include("ns_common.hrl").
  
  -export([start_link/1,
           refresh_cluster_config/1,
           get_pid/1]).
  
  start_link(BucketName) ->
      ns_bucket_sup:ignore_if_not_couchbase_bucket(
        BucketName,
        fun (_) ->
                Name = server_name(BucketName),
                work_queue:start_link(Name, fun () -> init(BucketName) end)
        end).
  
  get_pid(BucketName) ->
  
negative.code:     end.
  
  submit_refresh(BucketName, Process) ->
      Process ! {refresh, BucketName}.
  
  invalidation_loop(BucketName, {BucketName, Parent}) ->
      submit_refresh(BucketName, Parent),
  