anchor.diff:          ?assertEqual(ok, rpc:call(Worker, Model, infinite_log_append, [?KEY, <<"some_binary">>])),
           ?assertMatch(
               {ok, {done, [{0, {_, <<"some_binary">>}}]}},
  -                check_direct_access_operation(Worker, Model, datastore_infinite_log, list, [?KEY, #{}], ExtendedMemTableCtx)),
  +            check_direct_access_operation(Worker, Model, datastore_infinite_log, list, [?KEY, #{}], ExtendedMemTableCtx)),
   
           clean_cache(Worker, Model, ExtendedMemTableCtx),
           ?assertEqual({error, not_found}, rpc:call(Worker, datastore_infinite_log, append, [MemoryOnlyCtx, ?KEY, <<"another_binary">>])),
  
positive.code:     Workers = ?config(cluster_worker_nodes, Config),
      test_utils:set_env(Workers, cluster_worker, test_ctx_base, #{}),
      test_utils:mock_unload(Workers, [datastore_model, datastore]);
  end_per_testcase(_Case, _Config) ->
      ok.
  
  end_per_suite(_Config) ->
      ok.
  
negative.code:     ok.
  
  
  %% @private
  -spec perform_infinite_log_appends(node(), atom(), binary(), integer(), integer(), integer()) -> [integer()].
  perform_infinite_log_appends(Worker, Model, LogId, AppendSize, ProcCount, 1) ->
      AppendFun = fun(_) ->
          AppendLog = str_utils:rand_hex(AppendSize div 2),
          Stopwatch = stopwatch:start(),
          Start = stopwatch:read_millis(Stopwatch),
          ?assertEqual(ok, rpc:call(Worker, Model, infinite_log_append, [LogId, AppendLog])),
          Stop = stopwatch:read_millis(Stopwatch),
          Stop - Start
      end,
      lists_utils:pmap(AppendFun, lists:seq(1, ProcCount));
  perform_infinite_log_appends(Worker, Model, LogId, AppendSize, ProcCount, AppendsPerProcess) ->
      lists:foldl(fun(_, TimesListAcc) ->
          Times = perform_infinite_log_appends(Worker, Model, LogId, AppendSize, ProcCount, 1),
          clock_freezer_mock:simulate_seconds_passing(1),
          lists:zipwith(fun(Time, TimeAcc) -> Time + TimeAcc end, Times, TimesListAcc)
      end, [0 || _ <- lists:seq(1, ProcCount)], lists:seq(1, AppendsPerProcess)).
  
  
  %% @private
  -spec perform_infinite_log_listings(node(), atom(), binary(), map(), integer(), integer()) -> [integer()].
  perform_infinite_log_listings(Worker, Model, LogId, ListOpts, ProcCount, ListingsPerProcess) ->
      ListingFun = fun(_) ->
          Stopwatch = stopwatch:start(),
          Start = stopwatch:read_millis(Stopwatch),
          lists:foreach(fun(_) ->
              ?assertMatch({ok, _}, rpc:call(Worker, Model, infinite_log_list, [LogId, ListOpts]))
          end, lists:seq(1, ListingsPerProcess)),
          Stop = stopwatch:read_millis(Stopwatch),
          Stop - Start
      end,
      lists_utils:pmap(ListingFun, lists:seq(1, ProcCount)).
  