anchor.diff:  end, __Distributions))).
   
   -define(assertDistribution(Worker, SessionId, ExpectedDistribution, FileGuid),
  -    ?assertEqual(?normalizeDistribution(ExpectedDistribution), try
  -        {ok, __FileBlocks} = lfm_proxy:get_file_distribution(Worker, SessionId, {guid, FileGuid}),
  -        lists:sort(__FileBlocks)
  +    try
  +        ?assertEqual(?normalizeDistribution(ExpectedDistribution), try
  +            {ok, __FileBlocks} = lfm_proxy:get_file_distribution(Worker, SessionId, {guid, FileGuid}),
  +            lists:sort(__FileBlocks)
  +    catch
  +            _:_ ->
  +                error
  +        end, ?ATTEMPTS)
       catch
           _:_ ->
  -            error
  -    end, ?ATTEMPTS)).
  +            ct:pal(
  +                "DISTRIBUTION ASSERTION FAILED FOR ~p on ~p. Expected distribution: ~p~n"
  +                "Stacktrace: ~p",
  +                [FileGuid, Worker, ExpectedDistribution, erlang:get_stacktrace()]),
  +            ct:fail({distribution_assert_failed, FileGuid})
  +    end
  +).
   
   -define(assertFilesInView(Worker, SpaceId, ExpectedGuids),
       ?assertMatch([], begin
  
positive.code:             max_monthly_moving_average => ?RULE_SETTING(1)
      }}),
  
      % read file to be replicated and leave it opened
      {ok, H} = ?assertMatch({ok, _}, lfm_proxy:open(W1, SessId, {guid, Guid}, read), ?ATTEMPTS),
      {ok, _} = ?assertMatch({ok, _}, lfm_proxy:read(W1, H, 0, Size), ?ATTEMPTS),
  
negative.code:     DomainP2 = ?GET_DOMAIN_BIN(W2),
      enable_file_popularity(W1, ?SPACE_ID),
      Guid = write_file(W1, SessId, ?FILE_PATH(FileName), Size),
      ?assertDistribution(W2, SessId2, ?DISTS([DomainP1], [Size]), Guid),
      % read file on W2 to replicate it
      read_file(W2, SessId2, Guid, Size),
  
  