Follow-up from "Hashed Storage is enabled by default on new installations"

The following discussion from gitlab-ce!29586 should be addressed:

  • @brodock started a discussion: (+2 comments)

    some context on specs failure (gitaly log):

    time="2019-06-13T15:54:34+02:00" level=error msg="fatal: Couldn't find remote ref HEAD\\nfatal: the remote end hung up unexpectedly\\n" grpc.meta.auth_version=v2 grpc.meta.client_name=gitlab-web grpc.method=FetchIntoObjectPool grpc.request.deadline="2019-06-13T15:55:29+02:00" grpc.request.fullMethod=/gitaly.ObjectPoolService/FetchIntoObjectPool grpc.service=gitaly.ObjectPoolService grpc.start_time="2019-06-13T15:54:34+02:00" peer.address= span.kind=server system=grpc
    time="2019-06-13T15:54:34+02:00" level=error msg="finished unary call with code Internal" error="rpc error: code = Internal desc = exit status 128" grpc.code=Internal grpc.meta.auth_version=v2 grpc.meta.client_name=gitlab-web grpc.method=FetchIntoObjectPool grpc.request.deadline="2019-06-13T15:55:29+02:00" grpc.request.fullMethod=/gitaly.ObjectPoolService/FetchIntoObjectPool grpc.service=gitaly.ObjectPoolService grpc.start_time="2019-06-13T15:54:34+02:00" grpc.time_ms=35.663 peer.address= span.kind=server system=grpc

(https://gitlab.com/gitlab-org/gitlab-ce/-/jobs/230655211)

rspec ./spec/finders/fork_projects_finder_spec.rb:29 # ForkProjectsFinder#execute without a user 
rspec ./spec/finders/fork_projects_finder_spec.rb:35 # ForkProjectsFinder#execute with a user 
rspec ./spec/finders/fork_projects_finder_spec.rb:41 # ForkProjectsFinder#execute with a member 

before the change to hashed_storage_enabled: true, the failed specs would not try to use repository_pool because this would be false:

  def git_objects_poolable?
    hashed_storage?(:repository) &&
      public? &&
      repository_exists? &&
      Gitlab::CurrentSettings.hashed_storage_enabled &&
      Feature.enabled?(:object_pools, self)
  end

As this now true, we are having a failed spec. I'm still trying to determine if this is an issue or not.

In https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/29586 I've stubbed the feature flag to disable pool repositories. We should investigate if this is a legitimate failure or just a fluke on how we are setting up the tests.

Ideally we should test both with and without pool repositories states.

Edited Jun 13, 2019 by Gabriel Mazetto
Assignee Loading
Time tracking Loading