CircleCI 2.0 will be switching file systems on Monday, December 11, 2017 from AUFS to BTRFS. After extensively testing performance we have found that any projects using heavy I/O operations should see a performance improvement without any action required. The underlying CPU is not changing and therefore your cache will not be impacted. We do not expect any projects to be negatively impacted by this change.
EDIT: CircleCI 2.0 will be switching file systems back from BTRFS to AUFS. We have not seen the performance gains we were hoping to see when fully rolled out in production. As a result, the change back to AUFS will be made tomorrow morning PST, Wednesday, December 20, 2017.
Interesting. Out of curiosity, are you using it for its advanced features, as well as the performance gain? I should imagine things like de-duplication would be extremely useful where packages/binaries are going to be installed by many users in an identical fashion. Not sure what de-dup does to performance though…
My project is a rails engine that generates a rails application (on the first step of the workflow) and then runs unit tests and also acceptance tests with headless chrome (via a custom docker image).
Rails and chrome do use the filesystem extensively, so it makes sense they both could be correlated. Errors seems to happen in the acceptance tests (chrome) but I’ve also seen some happening in unit tests, mostly random, but some of them tend to happen in similar places.
Have you seen any other projects behaving like this since the upgrade? Thanks!
We also have a Rails app with acceptance tests (Firefox and PhantomJS). The graph shows that we have some pre-existing flaky tests, but it’s been very noticeably worse recently.
I’m hoping that the AUFS rollback will improve the situation!