Commit Graph

29 Commits

Author SHA1 Message Date
Yorick Peterse 2039c8280d
Disable existing offenses for the CodeReuse cops
This whitelists all existing offenses for the various CodeReuse cops, of
which most are triggered by the CodeReuse/ActiveRecord cop.
2018-09-11 17:32:00 +02:00
gfyoung d4da4829d4 Enable frozen string in newly added files
Enables frozen string for new files in
directories that had been previously
covered in previous MR's.

Partially addresses #47424.
2018-07-21 19:00:50 -07:00
Stan Hu b33661d6ec Add ExclusiveLease guards for RepositoryCheck::{DispatchWorker,BatchWorker}
We saw in production that DispatchWorker was running about twice an hour,
which would schedule twice as many jobs as it should.

For some reason, BatchWorker was running 1000 times per hour, possibly
due to Sidekiq RSS kills that caused these jobs to restart.

Adding an ExclusiveLease prevents these jobs from running more
than they should.

Relates to https://gitlab.com/gitlab-com/infrastructure/issues/4526
2018-07-06 10:11:59 -07:00
Toon Claes 041a8ae268 Rename method to #each_eligible_shard 2018-06-27 21:43:23 +02:00
Toon Claes 95ac8b0e1d Add RepositoryCheck::DispatchWorker to start worker per shard
The RepositoryCheck::DispatchWorker will start a
RepositoryCheck::BatchWorker for each healthy shard.

Closes gitlab-org/gitlab-ce#48042
2018-06-27 21:43:23 +02:00
gfyoung 7e87626acf Enable frozen string for app/workers/**/*.rb
Partially addresses #47424.
2018-06-27 01:12:01 -07:00
Toon Claes 0490802636 Use push events again to determine if repo needs checking 2018-05-07 14:24:07 +02:00
Toon Claes 3066de95f7 Rename methods to make it more clear what they do 2018-05-07 09:42:09 +02:00
Toon Claes aafd78c57f Refactor RepositoryCheck::BatchWorker
For easier overriding methods.
2018-05-07 09:42:09 +02:00
Toon Claes 7bd8d2e2f6 Pass the result as a positive bool 2018-05-07 09:42:09 +02:00
Toon Claes 22a0ef3dd5 Fix incorrect break statement 2018-05-07 09:42:09 +02:00
Toon Claes ce9355c85f Due to caching, there is no need to check the settings every loop 2018-05-07 09:42:09 +02:00
Toon Claes 5141984747 Make it easier to override how to save the results 2018-05-07 09:42:09 +02:00
Toon Claes f70d7e4ea0 Refactor RepositoryCheck::SingleRepositoryWorker
A repo does not need pushes before it will be repo-checked. There are
other sources where commits can come from (e.g. import or webIDE).

In the test I made the method of breaking a repo more robust. And
added a few test examples.

See also gitlab-org/gitlab-ce#45046.
2018-05-07 09:42:09 +02:00
Toon Claes b07c4e3dc4 Remove `Rails.env.test?` from production code 2018-05-07 09:42:09 +02:00
Jacob Vosmaer 6d6f7536bd Look for rugged with static analysis 2018-01-25 14:05:11 +01:00
Douwe Maan 0b15570e49 Add ApplicationWorker and make every worker include it 2017-12-05 11:59:39 +01:00
Kim "BKC" Carlbäcker 12f61e0d2c Move SingleRepositoryWorker#fsck into Gitlab::Git::Repository 2017-12-04 15:57:20 +01:00
Grzegorz Bizon 0430b76441 Enable Style/DotPosition Rubocop 👮 2017-06-21 13:48:12 +00:00
Rémy Coutable 3db37e0562 Enable the Style/TrailingCommaInArguments cop
Use the EnforcedStyleForMultiline: no_comma option.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-05-10 18:25:45 +02:00
Yorick Peterse 97731760d7
Re-organize queues to use for Sidekiq
Dumping too many jobs in the same queue (e.g. the "default" queue) is a
dangerous setup. Jobs that take a long time to process can effectively
block any other work from being performed given there are enough of
these jobs.

Furthermore it becomes harder to monitor the jobs as a single queue
could contain jobs for different workers. In such a setup the only
reliable way of getting counts per job is to iterate over all jobs in a
queue, which is a rather time consuming process.

By using separate queues for various workers we have better control over
throughput, we can add weight to queues, and we can monitor queues
better. Some workers still use the same queue whenever their work is
related. For example, the various CI pipeline workers use the same
"pipeline" queue.

This commit includes a Rails migration that moves Sidekiq jobs from the
old queues to the new ones. This migration also takes care of doing the
inverse if ever needed. This does require downtime as otherwise new jobs
could be scheduled in the old queues after this migration completes.

This commit also includes an RSpec test that blacklists the use of the
"default" queue and ensures cron workers use the "cronjob" queue.

Fixes gitlab-org/gitlab-ce#23370
2016-10-21 18:17:07 +02:00
Jacob Vosmaer d9f6d5dd59 Do not check repos without push events 2016-06-15 19:11:25 +02:00
Douwe Maan 466f6874af Merge branch 'create-wikis-during-check' into 'master'
Initialize wikis on legacy projects during check

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/4173

Helps https://gitlab.com/gitlab-org/gitlab-ce/issues/15423

See merge request !3931
2016-05-04 14:10:49 +00:00
Jacob Vosmaer 9f85b7bc58 Initialize wikis on legacy projects during check 2016-04-26 16:56:14 +02:00
Jacob Vosmaer 3c0ab15a74 Do not fsck projects less than a day old
This should bring the number of false positives down.
2016-04-26 13:35:52 +02:00
Jacob Vosmaer d7a4a2fe75 When a project wiki is disabled skip it for fsck 2016-04-18 10:52:01 +02:00
Robert Speicher 7ef35b9c61 Shut up, Rubocop 2016-04-14 12:28:48 -04:00
Jacob Vosmaer 6f6d2d0ad5 Use more conservative limits 2016-04-13 17:33:25 +02:00
Jacob Vosmaer 0f602be99f Clear repository check columns asynchronously 2016-04-13 15:56:05 +02:00