1. 10 10月, 2016 1 次提交
  2. 07 10月, 2016 6 次提交
  3. 06 10月, 2016 15 次提交
  4. 05 10月, 2016 14 次提交
    • Y
      Refactor TrendingProjectsFinder to support caching · 154253ca
      Yorick Peterse 提交于
      == Public Projects
      
      This finder class now _only_ returns public projects. Previously this
      finder would also return private and internal projects. Including these
      projects makes caching data much harder and less efficient. Meanwhile
      including this data isn't very useful as very few users would be
      interested in seeing projects they have access to as trending. That is,
      the feature is more useful when you want to see what _other_ popular
      projects there are.
      
      == Caching
      
      The data returned by TrendingProjectsFinder is now cached for a day
      based on the number of months the data should be restricted to. The
      cache is not flushed explicitly, instead it's rebuilt whenever it
      expires.
      
      == Timings
      
      To measure the impact I changed the finder code to use the last 24
      months instead of the last month. I then executed and measured 10
      requests to the explore page. On the current "master" branch (commit
      88fa5916) this would take an average of
      2.43 seconds. Using the changes of this commit this was reduced to
      around 1.7 seconds.
      
      Fixes gitlab-org/gitlab-ce#22164
      154253ca
    • D
    • J
      a74c1243
    • B
      485a2a7a
    • Y
      Refactor Gitlab::Identifier · 16ed9b61
      Yorick Peterse 提交于
      This refactors Gitlab::Identifier so it uses fewer queries and is
      actually tested. Queries are reduced by caching the output as well as
      using 1 query (instead of 2) to find a user using an SSH key.
      16ed9b61
    • B
      Remove 'released' from CHANGELOG. · 3ca521d6
      Bryce Johnson 提交于
      3ca521d6
    • B
      Remove CHANGELOG duplicate. · f80b8bd2
      Bryce Johnson 提交于
      f80b8bd2
    • B
      Update Changelog. · c756f1cf
      Bryce Johnson 提交于
      c756f1cf
    • S
      Fix project deletion when feature visibility is set to private · fea80aa1
      Stan Hu 提交于
      Projects that are destroyed are put in the pending_delete state.
      The ProjectDestroyWorker checks whether the current user has
      access, but since the ProjectFeature class uses the default scope
      of the Project, it will not be able to find the right project.
      
      This was a regression in 8.12 that caused the following stack trace:
      
      ```
      NoMethodError: undefined method `team' for nil:NilClass
        from app/models/project_feature.rb:62:in `get_permission'
        from app/models/project_feature.rb:34:in `feature_available?'
        from app/models/project.rb:21:in `feature_available?'
        from app/policies/project_policy.rb:170:in `disabled_features!'
        from app/policies/project_policy.rb:29:in `rules'
        from app/policies/base_policy.rb:82:in `block in abilities'
        from app/policies/base_policy.rb:113:in `collect_rules'
        from app/policies/base_policy.rb:82:in `abilities'
        from app/policies/base_policy.rb:50:in `abilities'
        from app/models/ability.rb:64:in `uncached_allowed'
        from app/models/ability.rb:58:in `allowed'
        from app/models/ability.rb:49:in `allowed?'
        from app/services/base_service.rb:11:in `can?'
        from lib/gitlab/metrics/instrumentation.rb:155:in `block in can?'
        from lib/gitlab/metrics/method_call.rb:23:in `measure'
        from lib/gitlab/metrics/instrumentation.rb:155:in `can?'
        from app/services/projects/destroy_service.rb:18:in `execute'
      ```
      
      Closes #22948
      fea80aa1
    • Y
      Remove lease from Event#reset_project_activity · c9bcfc63
      Yorick Peterse 提交于
      Per GitLab.com's performance metrics this method could take up to 5
      seconds of wall time to complete, while only taking 1-2 milliseconds of
      CPU time. Removing the Redis lease in favour of conditional updates
      allows us to work around this.
      
      A slight drawback is that this allows for multiple threads/processes to
      try and update the same row. However, only a single thread/process will
      ever win since the UPDATE query uses a WHERE condition to only update
      rows that were not updated in the last hour.
      
      Fixes gitlab-org/gitlab-ce#22473
      c9bcfc63
    • R
      Fix section name for 8.12.2 version. · 1097a4a6
      Ruben Davila 提交于
      1097a4a6
    • S
      Move /projects/visible entry to 8.13 · 355f97f8
      Sean McGivern 提交于
      355f97f8
    • B
      api: add /projects/visible API endpoint · e956a24d
      Ben Boeckel 提交于
      FIxes #19361, #3119.
      e956a24d
    • D
      Update CHANGELOG · 0bb7bfd0
      Douglas Barbosa Alexandre 提交于
      0bb7bfd0
  5. 04 10月, 2016 4 次提交