1. 23 Feb, 2018 17 commits
  2. 22 Feb, 2018 23 commits
    • Kamil Trzciński's avatar
      Merge branch '41619-turn-on-legacy-authorization-for-new-clusters-on-gke' into 'master' · 7834f63c
      Kamil Trzciński authored
      Enable "Legacy Authorization" by default when creating a Cluster on GCP
      
      Closes #41619
      
      See merge request gitlab-org/gitlab-ce!17302
      7834f63c
    • Matija Čupić's avatar
      Add CHANGELOG entry · 99cd4acf
      Matija Čupić authored
      99cd4acf
    • Matija Čupić's avatar
    • Rémy Coutable's avatar
      Merge branch '42431-add-auto-devops-and-clusters-button-to-projects' into 'master' · e037854a
      Rémy Coutable authored
      Add a button on the project page to set up a Kubernetes cluster and enable  Auto DevOps
      
      Closes #42431
      
      See merge request gitlab-org/gitlab-ce!16900
      e037854a
    • Clement Ho's avatar
      Convert switch into if statement · ac3b6f14
      Clement Ho authored
      ac3b6f14
    • Clement Ho's avatar
      Merge branch 'ui-bundle-tag-remove' into 'master' · 20aaed90
      Clement Ho authored
      Remove bundle tag for ui help
      
      Closes #41341
      
      See merge request gitlab-org/gitlab-ce!17301
      20aaed90
    • Clement Ho's avatar
      Add missing empty line at the end of file · 9cf505eb
      Clement Ho authored
      9cf505eb
    • Mayra Cabrera's avatar
      Modify cluster creation API method to enable legacy_apac as default · 14978ddc
      Mayra Cabrera authored
      GKE 1.8 has RBAC on by default, since GKE has bumped the default version
      to 1.8.7 RBAC is now on, and we don't support that out of the box.
      
      This was also avoiding cluster applications (tiller, prometheus, etc), to
      be installed.
      
      Closes #41619
      14978ddc
    • Jacob Schatz's avatar
      Remove bundle tag for ui help · 280e2c1e
      Jacob Schatz authored
      280e2c1e
    • Kamil Trzciński's avatar
      Merge branch '43373-fix-cache-index-appending' into 'master' · 6ce56d45
      Kamil Trzciński authored
      Resolve "cache key for CI stopped working"
      
      Closes #43373
      
      See merge request gitlab-org/gitlab-ce!17260
      6ce56d45
    • Ian Baum's avatar
      Update CHANGELOG.md for 10.5.1 · 8a072a30
      Ian Baum authored
      [ci skip]
      8a072a30
    • Yorick Peterse's avatar
      090eeb58
    • Yorick Peterse's avatar
      Optimise searching for users using short queries · 41bfe82b
      Yorick Peterse authored
      This optimises searching for users when using queries consisting out of
      one or two characters such as "ab". We optimise such cases by searching
      for `LOWER(name)` and `LOWER(username)` instead of using `ILIKE`. Using
      `LOWER` produces a _much_ better performing query.
      
      For example, when searching for all users matching the term "a" we'd
      produce the following plan:
      
           Limit  (cost=637.69..637.74 rows=20 width=805) (actual time=41.983..41.995 rows=20 loops=1)
             Buffers: shared hit=8330
             ->  Sort  (cost=637.69..638.61 rows=368 width=805) (actual time=41.982..41.990 rows=20 loops=1)
                   Sort Key: (CASE WHEN ((name)::text = 'a'::text) THEN 0 WHEN ((username)::text = 'a'::text) THEN 1 WHEN ((email)::text = 'a'::text) THEN 2 ELSE 3 END), name
                   Sort Method: top-N heapsort  Memory: 35kB
                   Buffers: shared hit=8330
                   ->  Bitmap Heap Scan on users  (cost=75.47..627.89 rows=368 width=805) (actual time=9.452..41.305 rows=277 loops=1)
                         Recheck Cond: (((name)::text ~~* 'a'::text) OR ((username)::text ~~* 'a'::text) OR ((email)::text = 'a'::text))
                         Rows Removed by Index Recheck: 7601
                         Heap Blocks: exact=7636
                         Buffers: shared hit=8327
                         ->  BitmapOr  (cost=75.47..75.47 rows=368 width=0) (actual time=8.290..8.290 rows=0 loops=1)
                               Buffers: shared hit=691
                               ->  Bitmap Index Scan on index_users_on_name_trigram  (cost=0.00..38.85 rows=180 width=0) (actual time=4.369..4.369 rows=4071 loops=1)
                                     Index Cond: ((name)::text ~~* 'a'::text)
                                     Buffers: shared hit=360
                               ->  Bitmap Index Scan on index_users_on_username_trigram  (cost=0.00..34.41 rows=188 width=0) (actual time=3.896..3.896 rows=4140 loops=1)
                                     Index Cond: ((username)::text ~~* 'a'::text)
                                     Buffers: shared hit=328
                               ->  Bitmap Index Scan on users_email_key  (cost=0.00..1.94 rows=1 width=0) (actual time=0.022..0.022 rows=0 loops=1)
                                     Index Cond: ((email)::text = 'a'::text)
                                     Buffers: shared hit=3
           Planning time: 3.912 ms
           Execution time: 42.171 ms
      
      With the changes in this commit we now produce the following plan
      instead:
      
           Limit  (cost=13257.48..13257.53 rows=20 width=805) (actual time=1.567..1.579 rows=20 loops=1)
             Buffers: shared hit=287
             ->  Sort  (cost=13257.48..13280.93 rows=9379 width=805) (actual time=1.567..1.572 rows=20 loops=1)
                   Sort Key: (CASE WHEN ((name)::text = 'a'::text) THEN 0 WHEN ((username)::text = 'a'::text) THEN 1 WHEN ((email)::text = 'a'::text) THEN 2 ELSE 3 END), name
                   Sort Method: top-N heapsort  Memory: 35kB
                   Buffers: shared hit=287
                   ->  Bitmap Heap Scan on users  (cost=135.66..13007.91 rows=9379 width=805) (actual time=0.194..1.107 rows=277 loops=1)
                         Recheck Cond: ((lower((name)::text) = 'a'::text) OR (lower((username)::text) = 'a'::text) OR ((email)::text = 'a'::text))
                         Heap Blocks: exact=277
                         Buffers: shared hit=287
                         ->  BitmapOr  (cost=135.66..135.66 rows=9379 width=0) (actual time=0.152..0.152 rows=0 loops=1)
                               Buffers: shared hit=10
                               ->  Bitmap Index Scan on yorick_test_users  (cost=0.00..124.75 rows=9377 width=0) (actual time=0.101..0.101 rows=277 loops=1)
                                     Index Cond: (lower((name)::text) = 'a'::text)
                                     Buffers: shared hit=4
                               ->  Bitmap Index Scan on index_on_users_lower_username  (cost=0.00..1.94 rows=1 width=0) (actual time=0.035..0.035 rows=1 loops=1)
                                     Index Cond: (lower((username)::text) = 'a'::text)
                                     Buffers: shared hit=3
                               ->  Bitmap Index Scan on users_email_key  (cost=0.00..1.94 rows=1 width=0) (actual time=0.014..0.014 rows=0 loops=1)
                                     Index Cond: ((email)::text = 'a'::text)
                                     Buffers: shared hit=3
           Planning time: 0.303 ms
           Execution time: 1.687 ms
      
      Here we can see the new query is 25 times faster compared to the old
      query.
      41bfe82b
    • Yorick Peterse's avatar
      Removed pagination from AutocompleteUsersFinder · d2e43fbd
      Yorick Peterse authored
      The frontend code doesn't use this so there's no practical point in
      supporting this. We also hardcode the limit to 20 so users can no longer
      request their own limit, which could overload the database (depending on
      any upper bounds perhaps enforced by Kaminari).
      d2e43fbd
    • Yorick Peterse's avatar
      Don't pluck IDs in AutocompleteUsersFinder · dd52915d
      Yorick Peterse authored
      We can instead just use a UNION. This removes the need for plucking
      hundreds if not thousands of IDs into memory when a project has many
      members.
      dd52915d
    • Jacob Schatz's avatar
      Merge branch 'dispatcher-import-batch-3' into 'master' · f330f659
      Jacob Schatz authored
      Use dynamic imports in dispatcher (Part 3)
      
      See merge request gitlab-org/gitlab-ce!17277
      f330f659
    • Clement Ho's avatar
      Use dynamic imports in dispatcher (Part 3) · 4317f5a4
      Clement Ho authored
      4317f5a4
    • Marcia Ramos's avatar
      Merge branch 'patch-28' into 'master' · 9251d1f3
      Marcia Ramos authored
      Add link to project visibility settings in push to create project docs
      
      See merge request gitlab-org/gitlab-ce!17292
      9251d1f3
    • Oswaldo Ferreira's avatar
      44d33db1
    • Oswaldo Ferreira's avatar
      Use select instead reject · 3956bb55
      Oswaldo Ferreira authored
      3956bb55
    • Oswaldo Ferreira's avatar
      45c77dac
    • Oswaldo Ferreira's avatar
      Simplify project check with duck typing · 31d1b2ca
      Oswaldo Ferreira authored
      31d1b2ca
    • Oswaldo Ferreira's avatar