Docker executor: memory exhaustion in secondary containers

Hi there,

I’ve noticed some of my jobs are failing on CircleCI, even though they work locally. The configuration has a primary container, and then 4 or 5 sidecar containers; in CircleCI lingo I guess they’d be called secondary containers (as opposed to the primary).

I noticed in the log of one of my sidecars that runs MySQL that it ran out of memory:

2020-08-14T19:50:02.135005Z 0 [Warning] InnoDB: Retry attempts for writing partial data failed.
2020-08-14T19:50:05.089930Z 0 [ERROR] InnoDB: Write to file ./ib_logfile0failed at offset 20627456, 512 bytes should have been written, only 0 were written. Operating system error number 12. Check that your OS and file system support files of this size. Check also that the disk is not full or a disk quota exceeded.
2020-08-14T19:50:07.653976Z 0 [ERROR] InnoDB: Error number 12 means ‘Cannot allocate memory’

Is it possible to adjust specifically the resource_class of secondary/sidecar containers in cases like this? Does the resource_class option in the circleCI config apply to all of the containers? Or can we only control the allocations for the primary container?

Happy to be pointed to docs if this is explained explicitly, but unfortunately I couldn’t find anything pertaining to these specific questions. Thanks!