anchor.diff:  %%--------------------------------------------------------------------
   -spec get_next_worker_id(couchbase_config:bucket(), mode()) ->
       couchbase_pool_worker:id().
  +get_next_worker_id(Bucket, write = Mode) ->
  +    Key = {next_worker_id, Bucket, Mode},
  +    Size = get_size(Bucket, Mode),
  +    ets:update_counter(couchbase_pool_stats, Key, {2, 1, Size, 1}, {Key, 1});
   get_next_worker_id(Bucket, Mode) ->
       Key = {next_worker_id, Bucket, Mode},
       Size = get_size(Bucket, Mode),
  
positive.code: 
  -include("global_definitions.hrl").
  -include("exometer_utils.hrl").
  
  %% API
  -export([post_async/3, post/3, wait/1]).
  
negative.code: %%% Internal functions
  %%%===================================================================
  
  get_worker_id(Bucket, write = Mode) ->
      Key = {next_worker_id, Bucket, Mode},
      Id = case ets:lookup(couchbase_pool_stats, Key) of
          [{Key, ID}] -> ID;
          _ -> 1
      end,
  
      WorkerKey = {request_queue_size, Bucket, Mode, Id},
      Size = case ets:lookup(couchbase_pool_stats, WorkerKey) of
          [{Key, S}] -> S;
          _ -> 0
      end,
  
      MaxSize = application:get_env(?CLUSTER_WORKER_APP_NAME,
          couchbase_pool_batch_size, 1000),
      case Size < MaxSize of
          true -> Id;
          _ -> get_next_worker_id(Bucket, Mode)
      end;
  get_worker_id(Bucket, Mode) ->
      get_next_worker_id(Bucket, Mode).
  
  %%--------------------------------------------------------------------
  %% @private
  