1. 10 Oct, 2016 5 commits
  2. 09 Oct, 2016 2 commits
  3. 07 Oct, 2016 4 commits
  4. 06 Oct, 2016 15 commits
  5. 05 Oct, 2016 13 commits
    • Clement Ho's avatar
      e23c1d88
    • Clement Ho's avatar
    • Marc Siegfriedt's avatar
      multi-file commit · a1ee8cf5
      Marc Siegfriedt authored
      add docs and tests - add additional validation
      allow move without content
      updated response
      a1ee8cf5
    • Andre Guedes's avatar
      Added Issue Board API support · 41d70ea3
      Andre Guedes authored
        - Includes documentation and tests
      41d70ea3
    • Yorick Peterse's avatar
      Refactor TrendingProjectsFinder to support caching · 154253ca
      Yorick Peterse authored
      == 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
    • Dimitrie Hoekstra's avatar
    • Jeroen Jacobs's avatar
    • Bryce Johnson's avatar
    • Yorick Peterse's avatar
      Refactor Gitlab::Identifier · 16ed9b61
      Yorick Peterse authored
      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
    • Bryce Johnson's avatar
      Remove 'released' from CHANGELOG. · 3ca521d6
      Bryce Johnson authored
      3ca521d6
    • Bryce Johnson's avatar
      Remove CHANGELOG duplicate. · f80b8bd2
      Bryce Johnson authored
      f80b8bd2
    • Bryce Johnson's avatar
      Update Changelog. · c756f1cf
      Bryce Johnson authored
      c756f1cf
    • Stan Hu's avatar
      Fix project deletion when feature visibility is set to private · fea80aa1
      Stan Hu authored
      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
  6. 04 Oct, 2016 1 commit
    • Yorick Peterse's avatar
      Remove lease from Event#reset_project_activity · c9bcfc63
      Yorick Peterse authored
      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