the compound file directory can be thought of easily:
Imagine FileSwitchDirectory (F) which contains two directories (A and B)
and in the configuration, "cfs" files go to A, everything else to B.
so currently it calls F.createCompoundOutput("xxxx.cfs") which delegates to A.createCompoundOutput("xxxx.cfs") ->> CompoundFileWriter(A, "xxxx.cfs"), which then, new since
LUCENE-3218, will create a.createOutput("xxxx.cfe")
The problem is that this cfe file is created under the wrong directory, and you will get FNFE.
We can use the solution I provided in
LUCENE-3374, but seriously maybe we should rethink LUCENE-3218 before releasing, because this could break similar delegators and basically they will experience what is like index corruption.