1. 08 Dec, 2016 1 commit
  2. 01 Dec, 2016 1 commit
    • Yorick Peterse's avatar
      Pass commit data to ProcessCommitWorker · 22942061ddc3
      Yorick Peterse authored
      By passing commit data to this worker we remove the need for querying
      the Git repository for every job. This in turn reduces the time spent
      processing each job.
      
      The migration included migrates jobs from the old format to the new
      format. For this to work properly it requires downtime as otherwise
      workers may start producing errors until they're using a newer version
      of the worker code.
      22942061ddc3
  3. 30 Nov, 2016 1 commit
  4. 29 Nov, 2016 1 commit
  5. 28 Nov, 2016 2 commits
  6. 25 Nov, 2016 1 commit
    • Yorick Peterse's avatar
      Refresh project authorizations using a Redis lease · 0e1cd0df889b
      Yorick Peterse authored
      When I proposed using serializable transactions I was hoping we would be
      able to refresh data of individual users concurrently. Unfortunately
      upon closer inspection it was revealed this was not the case. This could
      result in a lot of queries failing due to serialization errors,
      overloading the database in the process (given enough workers trying to
      update the target table).
      
      To work around this we're now using a Redis lease that is cancelled upon
      completion. This ensures we can update the data of different users
      concurrently without overloading the database.
      
      The code will try to obtain the lease until it succeeds, waiting at
      least 1 second between retries. This is necessary as we may otherwise
      end up _not_ updating the data which is not an option.
      0e1cd0df889b
  7. 23 Nov, 2016 2 commits
  8. 22 Nov, 2016 1 commit
  9. 19 Nov, 2016 1 commit
  10. 18 Nov, 2016 7 commits
  11. 17 Nov, 2016 14 commits
  12. 16 Nov, 2016 4 commits
  13. 15 Nov, 2016 1 commit
  14. 11 Nov, 2016 2 commits
  15. 10 Nov, 2016 1 commit
    • Nick Thomas's avatar
      Fix project records with invalid visibility_level values · 0e5523a7bc94
      Nick Thomas authored
      The AddVisibilityLevelToGroups migration introduced a visibility_level for
      namespaces and specified that projects should always have a visibility level
      less than or equal to their namespace. However, some invalid rows could have
      been created.
      
      This commit introduces a migration that updates the invalid rows, setting the
      invalid project to have the same visibility_level as their namespaces. This
      will make some projects internal or private when they would previously have
      been public or internal, but this is better than silently making an internal
      or private group public.
      0e5523a7bc94