Skip to content
Snippets Groups Projects
  1. Feb 21, 2020
  2. Nov 08, 2019
  3. Oct 09, 2019
  4. Oct 01, 2019
  5. Sep 20, 2019
  6. Sep 13, 2019
  7. Aug 27, 2019
  8. Jun 16, 2019
  9. Apr 23, 2019
  10. Mar 28, 2019
  11. Oct 30, 2018
    • Toon Claes's avatar
      Enhance performance of counting local LFS objects · d5f290e4
      Toon Claes authored
      Add an index to the `file_store` column on `lfs_objects`. This makes
      counting local objects faster.
      
      Also, there is no longer need to check for objects with `file_store`
      being `NULL`. See
      https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/18557
      
      ---
      
      ### Query plans
      
      #### Before & with `NULL`
      
      ```
      Aggregate  (cost=113495.96..113495.97 rows=1 width=8) (actual time=1691.394..1691.394 rows=1 loops=1)
        ->  Seq Scan on lfs_objects  (cost=0.00..106415.50 rows=2832186 width=0) (actual time=0.012..1312.488 rows=2852607 loops=1)
              Filter: ((file_store = 1) OR (file_store IS NULL))
              Rows Removed by Filter: 131
      Planning time: 0.077 ms
      Execution time: 1691.433 ms
      ```
      
      #### Before, without `NULL`
      
      ```
      Aggregate  (cost=113495.96..113495.97 rows=1 width=8) (actual time=856.423..856.424 rows=1 loops=1)
        ->  Seq Scan on lfs_objects  (cost=0.00..106415.50 rows=2832186 width=0) (actual time=0.012..672.181 rows=2852607 loops=1)
              Filter: (file_store = 1)
              Rows Removed by Filter: 131
      Planning time: 0.128 ms
      Execution time: 856.470 ms
      ```
      
      #### After & with `NULL`
      
      ```
      Aggregate  (cost=68819.95..68819.96 rows=1 width=8) (actual time=583.355..583.355 rows=1 loops=1)
        ->  Index Only Scan using index_lfs_objects_on_file_store on lfs_objects  (cost=0.43..61688.35 rows=2852643 width=0) (actual time=0.028..399.177 rows=2852607 loops=1)
              Filter: ((file_store = 1) OR (file_store IS NULL))
              Rows Removed by Filter: 131
              Heap Fetches: 867
      Planning time: 0.096 ms
      Execution time: 583.404 ms
      ```
      
      #### After, without `NULL`
      
      ```
      Aggregate  (cost=68817.29..68817.30 rows=1 width=8) (actual time=490.550..490.551 rows=1 loops=1)
        ->  Index Only Scan using index_lfs_objects_on_file_store on lfs_objects  (cost=0.43..61685.68 rows=2852643 width=0) (actual time=0.040..311.760 rows=2852607 loops=1)
              Index Cond: (file_store = 1)
              Heap Fetches: 831
      Planning time: 0.294 ms
      Execution time: 490.590 ms
      ```
      
      Closes https://gitlab.com/gitlab-org/gitlab-ee/issues/6067
      d5f290e4
  12. Aug 16, 2018
  13. Jul 26, 2018
  14. May 01, 2018
  15. Apr 19, 2018
  16. Apr 18, 2018
    • Yorick Peterse's avatar
      Revert the addition of goldiloader · 6f292eaa
      Yorick Peterse authored
      This reverts the addition of the "goldiloader" Gem and all use of it.
      While this Gem is very promising it's causing a variety of problems on
      GitLab.com due to it eager-loading too much data in places where we
      don't expect/can handle this. At least for the time being this means we
      have to go back to manually fixing N+1 query problems, but at least
      those should not cause a negative impact on availability.
      Verified
      6f292eaa
  17. Apr 09, 2018
  18. Mar 27, 2018
  19. Mar 08, 2018
  20. Mar 02, 2018
  21. Mar 01, 2018
  22. Feb 28, 2018
  23. Nov 09, 2017
  24. Jul 06, 2017
    • Yorick Peterse's avatar
      Added Cop to blacklist the use of `dependent:` · 8fbbf41e
      Yorick Peterse authored
      This is allowed for existing instances so we don't end up 76 offenses
      right away, but for new code one should _only_ use this if they _have_
      to remove non database data. Even then it's usually better to do this in
      a service class as this gives you more control over how to remove the
      data (e.g. in bulk).
      Verified
      8fbbf41e
  25. Feb 23, 2017
  26. Oct 28, 2016
  27. Jun 03, 2016
  28. May 09, 2016
  29. May 06, 2016
  30. Dec 09, 2015
  31. Dec 07, 2015
  32. Dec 04, 2015
Loading