1. 21 9月, 2019 1 次提交
  2. 20 9月, 2019 3 次提交
  3. 19 9月, 2019 3 次提交
  4. 18 9月, 2019 2 次提交
  5. 17 9月, 2019 3 次提交
  6. 16 9月, 2019 2 次提交
  7. 14 9月, 2019 1 次提交
  8. 13 9月, 2019 1 次提交
  9. 12 9月, 2019 6 次提交
  10. 11 9月, 2019 1 次提交
  11. 10 9月, 2019 8 次提交
  12. 09 9月, 2019 3 次提交
    • K
      Improve performance and memory usage of project export · 0e56c1e7
      Kamil Trzciński 提交于
      ActiveModel::Serialization is simple in that it recursively calls
      `as_json` on each object to serialize everything. However, for a model
      like a Project, this can generate a query for every single association,
      which can add up to tens of thousands of queries and lead to memory
      bloat.
      
      To improve this, we can do several things:
      
      1. We use `tree:` and `preload:` to automatically generate
         a list of all preloads that could be used to serialize
         objects in bulk.
      
      2. We observe that a single project has many issues, merge requests,
         etc. Instead of serializing everything at once, which could lead to
         database timeouts and high memory usage, we take each top-level
         association and serialize the data in batches.
      
      For example, we serialize the first 100 issues and preload all of
      their associated events, notes, etc. before moving onto the next
      batch. When we're done, we serialize merge requests in the same way.
      We repeat this pattern for the remaining associations specified in
      import_export.yml.
      0e56c1e7
    • F
      Lower searches count limit · 107ebb82
      Francisco Javier López 提交于
      Lowering the limit when performing search from 1001 to 101.
      This will allow us to speed this process.
      107ebb82
    • D
      9458192f
  13. 07 9月, 2019 2 次提交
  14. 06 9月, 2019 4 次提交
    • A
      Process workhorse accelerated wiki uploads · e32069ef
      Alessio Caiazza 提交于
      Wiki attachments can be workhorse accelerated.
      This commit is backward compatible with older workhorse
      e32069ef
    • K
      Normalize import_export structure · 0eeadb2d
      Kamil Trzciński 提交于
      This brings a significant refactor to how
      we handle `import_export.yml`, merge it with EE
      and how we handle that for reader and saver.
      
      This is meant to simplify the code, and remove
      a ton of conditions to handle different models
      of the structure.
      
      This is also meant to prepare the structure
      to extend it much easier, like adding `preload:`
      or additional object types when needed.
      
      This does not change the behavior of import/export,
      rather unifies and simplifies the current implementation.
      0eeadb2d
    • A
      Add new GitlabDanger class · 9fc9ab2b
      Ash McKenzie 提交于
      This class encapsulates our use of the Danger gem.
      9fc9ab2b
    • W
      Stop empty external auth classification labels overriding default labels · 525449d7
      Will Chandler 提交于
      Most of the project templates bundled with GitLab have an empty string
      set for `external_authorization_classification_label` in their
      `project.json`. When imported this overrides the default label set on
      the instance, causing the label to appear empty.
      
      This change sets empty labels to nil during import, allowing the
      default label to override it and be applied to the project.
      525449d7