Contact | License

# 1600 - Too many Concurrency Groups %u (max %u).

Description
Concurrency Groups defined in Settings() can be used to artificially limit concurrency between certain groups of processes, but doing so requires adding some overhead to task scheduling. To ensure this overhead doesn't become significant due to an erroneous configuration, an upper bound is placed on the number of groups.
Example
Config:
Settings { .Group1 = [ .ConcurrencyGroupName = 'group1' .ConcurrencyLimit = 4 ] ... // Groups omitted for example brevity .Group16 = [ .ConcurrencyGroupName = 'group16' .ConcurrencyLimit = 4 ] .Group17 = [ .ConcurrencyGroupName = 'group17' .ConcurrencyLimit = 4 ] .ConcurrencyGroups = { .Group1, .Group2, ... .Group16, .Group17 } }
Output:
C:\Test\fbuild.bff(1,1): FASTBuild Error #1600 - Settings() - Too many concurrency groups defined. Count: 17, Max: 16. Settings ^ \--here
Fix:
Settings { .Group1 = [ .ConcurrencyGroupName = 'group1' .ConcurrencyLimit = 4 ] ... // Groups omitted for example brevity .Group16 = [ .ConcurrencyGroupName = 'group16' .ConcurrencyLimit = 4 ] .ConcurrencyGroups = { .Group1, .Group2, ... .Group16 } }