• Stan Hu's avatar
    Optimize decryption of CI variables · d0ff854f
    Stan Hu authored
    In pipelines that have many environments and many CI variables, the
    decryption in `Ci::HasVariable#to_runner_variable` is a
    significant bottleneck due to repeated decryption via
    `OpenSSL::PKCS5.pbkdf2_hmac`. We can optimize this by caching the
    value in the request. In one customer's pipeline, this cuts down
    `Ci::CreatePipelineService` from 80+ seconds to 30 seconds.
    
    Relates to https://gitlab.com/gitlab-org/gitlab/-/issues/326271
    
    Changelog: performance
    d0ff854f
enable_ci_variable_caching.yml 280 Bytes