| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add columns to store project creation settings
Add project creation level column in groups
and default project creation column in application settings
Remove obsolete line from schema
Update migration with project_creation_level column existence check
Rename migrations to avoid conflicts
Update migration methods
Update migration method
|
| |\
| |
| |
| |
| |
| |
| | |
GraphQL Type authorization
Closes #54417
See merge request gitlab-org/gitlab-ce!25724
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Enables authorizations to be defined on GraphQL Types.
module Types
class ProjectType < BaseObject
authorize :read_project
end
end
If a field has authorizations defined on it, and the return type of the
field also has authorizations defined on it. then all of the combined
permissions in the authorizations will be checked and must pass.
Connection fields are checked by "digging" to find the type class of the
"node" field in the expected location of edges->node.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/54417
|
| |/
|
|
| |
This prevents `&mdash` in our templates being change to `-`
|
| |
|
|
|
| |
Loads 'Gitlab::Jira::Middleware' only if it exists
so this initializer can be backported to CE.
|
| |\
| |
| |
| |
| |
| |
| | |
Allow external diffs to be used conditionally
Closes #54670
See merge request gitlab-org/gitlab-ce!25432
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since external diffs are likely to be a bit slower than in-database
ones, add a mode that makes diffs external after they've been obsoleted
by events. This should strike a balance between performance and disk
space.
A background cron drives the majority of migrations, since diffs become
outdated through user actions.
|
| |/
|
|
|
|
|
| |
This makes it easier to debug Gitaly performance issues in the field.
This commit also makes the tracking of query time thread-safe via
RequestStore.
|
| | |
|
| |\
| |
| |
| |
| | |
Send schema cache to Sentry on MissingAttributeError
See merge request gitlab-org/gitlab-ce!26331
|
| | |
| |
| |
| |
| |
| | |
We don't know why this happens, so this is an attempt to debug the
issue by sending a full list of all columns ActiveRecord knows about
when the error is raised.
|
| |/
|
|
|
|
|
|
|
|
|
| |
In this commit, some methods that aren't being used
are removed from `Gitlab::Shell`. They are the ff:
- `#remove_keys_not_found_in_db`
- `#batch_read_key_ids`
- `#list_key_ids`
The corresponding methods in `Gitlab::Keys` have been
removed as well.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of inserting a row after each example to an external database,
we save the CI profiling reports into the `rspec_profiling` directory
and insert the data in the update-tests-metadata CI stage. This should
make each spec run faster and also reduce the number of PostgreSQL
connections needed by concurrent CI builds.
`scripts/insert-rspec-profiling-data` also inserts one file at a time
via the PostgreSQL COPY command for faster inserts. The one side effect
is that the `created_at` and `updated_at` timestamps aren't available
since they aren't generated in the CSV.
Closes https://gitlab.com/gitlab-org/gitlab-ee/issues/10154
|
| |\
| |
| |
| |
| |
| |
| | |
Allow raw `tls_options` to be passed in LDAP configuration
Closes #46391
See merge request gitlab-org/gitlab-ce!20678
|
| | |
| |
| |
| |
| |
| |
| | |
We've previously exposed ca_file and ssl_version but there are many
possible options that can be used inside tls_options. Instead of
exposing individual ones, simply expose the entire hash so it can
be passed in and we won't have to add things in the future.
|
| |\ \
| | |
| | |
| | |
| | | |
sidekiq: terminate child processes at shutdown
See merge request gitlab-org/gitlab-ce!25669
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sidekiq jobs frequently spawn long-lived child processes to do work.
In some circumstances, these can be reparented to init when sidekiq is
terminated, leading to duplication of work and strange concurrency
problems.
This commit changes sidekiq so that, if run as a process group leader,
it will forward `INT` and `TERM` signals to the whole process group. If
the memory killer is active, it will also use the process group when
resorting to `kill -9` to shut down.
These changes mean that a naive `kill <pid-of-sidekiq>` will now do the
right thing, killing any child processes spawned by sidekiq, as long as
the process supervisor placed it in its own process group.
If sidekiq isn't a process group leader, this new code is skipped.
|
| |/
|
|
|
|
|
|
|
|
| |
When working on files in `app/graphql` the code correctly gets
autoloaded.
However, the redefined `Types::BaseField` would never receive the
`.accepts_definition` call, causing all queries after a reload to
fail. Calling `.accepts_definition` on its superclass makes sure the
reloaded version also has the `authorize` definition specified.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
This reverts commit 006753110a462e62f549cdf3c410e73eed068dbf.
|
| | |
|
| |\
| |
| |
| |
| | |
Turn on backtrace for sidekiq in development
See merge request gitlab-org/gitlab-ce!25515
|
| | |
| |
| |
| | |
This enables easier debugging in GDK
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously GraphQL field authorization happened like this:
class ProjectType
field :my_field, MyFieldType do
authorize :permission
end
end
This change allowed us to authorize like this instead:
class ProjectType
field :my_field, MyFieldType, authorize: :permission
end
A new initializer registers the `authorize` metadata keyword on GraphQL
Schema Objects and Fields, and we can collect this data within the
context of Instrumentation like this:
field.metadata[:authorize]
The previous functionality of authorize is still being used for
mutations, as the #authorize method here is called at during the code
that executes during the mutation, rather than when a field resolves.
https://gitlab.com/gitlab-org/gitlab-ce/issues/57828
|
| |
|
|
|
|
|
|
| |
`queue_duration` is a useful metric that is currently in api_json.log
but not in production_json.log. We should add it because it tells us how
long the request sat in Workhorse before Unicorn processed it. Having
this field enables the support team to better troubleshoot when delays
began to happen.
|
| |\
| |
| |
| |
| |
| |
| | |
Remove HipChat integration from GitLab
Closes #52424
See merge request gitlab-org/gitlab-ce!22223
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
Provide a performance bar link to the Jaeger UI
See merge request gitlab-org/gitlab-ce!24902
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Jaeger is a distributed tracing tool. This change adds a "Tracing" link
to the performance bar to directly link to a current request in Jaeger.
This is useful for two reasons: 1 - it provides affordance to developers
that the distributed tracing tool is available, so that it can quickly
be discovered. 2 - it allows developers to quickly find a specific trace
without having to manually navigate to a second user-interface.
|
| | |/
|/|
| |
| |
| |
| |
| | |
This commit fixes the following error in development:
ArgumentError: A copy of Gitlab::Metrics::Transaction has been
removed from the module tree but is still active!
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Allow merge request diffs to be placed into an object store
Closes #52568
See merge request gitlab-org/gitlab-ce!24276
|
| | |/ |
|
| |/
|
|
| |
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
| |
|
|
|
|
|
|
|
| |
This change adds three new instrumentations, driven through rails
notifications: render_template.action_view,
render_collection.action_view and render_partial.action_view.
These can help developers understand why renders are taking a long
time which may in turn help them to improve their performance.
|
| |\
| |
| |
| |
| |
| |
| | |
Use http_max_redirects opt to replace monkeypatch
Closes #54250
See merge request gitlab-org/gitlab-ce!24284
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
http_max_redirects was introduced in 4.2.2, so upgrade kubeclient.
The monkey-patch was global so we will have to check that all instances
of Kubeclient::Client are handled.
Spec all methods of KubeClient
This should provide better confidence that we are indeed disallowing
redirection in all cases
|
| |\ \
| |/
|/|
| |
| | |
Adds tracing support for ActiveRecord notifications
See merge request gitlab-org/gitlab-ce!24604
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change will publish distributed tracing spans related to
SQL ActiveRecord queries. These queries are unbound, so will still
contain parameter substitution strings in place of actual parameter
values.
This ensures that the SQL strings do not need to be scrubbed, since the
values are not included in the SQL.
More details of rails instrumentation can be found here:
https://guides.rubyonrails.org/active_support_instrumentation.html
|
| | |
| |
| |
| | |
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
| |\ \
| |/
|/|
| |
| |
| |
| |
| |
| | |
'52674-api-v4-projects-project_id-jobs-endpoint-hits-statement-timeout' into 'master'
[API] Omit `X-Total` and `X-Total-Pages` headers when items count is more than 10,000
Closes #42194 and #52674
See merge request gitlab-org/gitlab-ce!23931
|
| | |
| |
| |
| | |
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
| |\ \
| |/
|/|
| |
| | |
Adds inter-service OpenTracing propagation
See merge request gitlab-org/gitlab-ce!24239
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change allows the GitLab rails and sidekiq components to receive
tracing spans from upstream services such as Workhorse and pass these
spans on to downstream services including Gitaly and Sidekiq.
This change will also emit traces for incoming and outgoing requests
using the propagated trace information. This will allow operators and
engineers to view traces across the Workhorse, GitLab Rails, Sidekiq and
Gitaly components.
Additional intra-service instrumentation will be added in future
changes.
|
| |\ \
| |/
|/|
| |
| | |
Set ActionController raise_on_unfiltered_parameters to true
See merge request gitlab-org/gitlab-ce!24443
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change will instantiate an OpenTracing tracer and configure it
as the global tracer when the GITLAB_TRACING environment variable is
configured. GITLAB_TRACING takes a "connection string"-like value,
encapsulating the driver (eg jaeger, etc) and options for the driver.
Since each service, whether it's written in Ruby or Golang, uses the
same connection-string, it should be very easy to configure all
services in a cluster, or even a single development machine to be
setup to use tracing.
Note that this change does not include instrumentation or propagation
changes as this is a way of breaking a previous larger change into
components. The instrumentation and propagation changes will follow
in separate changes.
|