@Test
    void testDirPath2() {
        final Meta meta = mock(Meta.class);
        when(meta.getId()).thenReturn(1100100L);
        when(meta.getTypeName()).thenReturn(StreamTypeNames.EVENTS);
        when(meta.getFeedName()).thenReturn("TEST_FEED");
        when(meta.getCreateMs()).thenReturn(DateUtil.parseNormalDateTimeString("2008-11-18T10:00:00.000Z"));

        final FsFeedPathDao fileSystemFeedPaths = mock(FsFeedPathDao.class);
        when(fileSystemFeedPaths.getOrCreatePath(any())).thenReturn("2");

        final FsPathHelper fileSystemStreamPathHelper = new FsPathHelper(
                fileSystemFeedPaths,
                new MockFsTypePaths(),
                new StreamTypeExtensions(FsVolumeConfig::new));

        Path path = Paths.get("");
        assertThat(fileSystemStreamPathHelper.getRootPath(path, meta, StreamTypeNames.EVENTS))
                .isEqualTo(path.resolve("store/EVENTS/2008/11/18/001/100/2=001100100.evt.bgz"));
        assertThat(fileSystemStreamPathHelper.getBaseName(meta)).isEqualTo("2=001100100");
    }
Here we batch up creating a load of directories as under load this can
fail. This is due to mkdirs not being concurrent (so each thread is
trying to create the same dir).
stroom-data/stroom-data-store-impl-fs/src/test/java/stroom/data/store/impl/fs/TestFileSystemUtil.java