Merge pull request #27677 from overleaf/as-compile-timeout-enforcement

[web] 10s Compile Timeout - Enforcement Phase

GitOrigin-RevId: 3930eb376cc1293409259e073032218e09d5270e
This commit is contained in:
MoxAmber
2025-08-20 08:06:01 +00:00
committed by Copybot
parent 86a1be9739
commit fc5ae92be1
3 changed files with 28 additions and 1 deletions
@@ -10,6 +10,7 @@ const ClsiManager = require('./ClsiManager')
const Metrics = require('@overleaf/metrics')
const { RateLimiter } = require('../../infrastructure/RateLimiter')
const UserAnalyticsIdCache = require('../Analytics/UserAnalyticsIdCache')
const SplitTestHandler = require('../SplitTests/SplitTestHandler')
const {
callbackify,
callbackifyMultiResult,
@@ -123,6 +124,18 @@ async function getProjectCompileLimits(projectId) {
if (owner && owner.alphaProgram) {
ownerFeatures.compileGroup = 'alpha'
}
if (ownerFeatures.compileTimeout === 20) {
const overrideCompileTimeout =
await SplitTestHandler.promises.getAssignmentForUser(
project.owner_ref,
'10s-timeout-enforcement'
)
if (overrideCompileTimeout.variant === 'enabled') {
ownerFeatures.compileTimeout = 10
}
}
const analyticsId = await UserAnalyticsIdCache.get(owner._id)
const compileGroup =