Diffusion Repository URI: What do I lose by choosing "No I/O" for SVN hosted repo?


I’m configuring the LLVM projects’ Diffusion settings (https://reviews.llvm.org/).

LLVM uses an existing set of SVN repositories, so I set up Diffusion URIs for each of the repositories.

For the “I/O Type” setting, I chose “Observe”, and confirmed that the SVN commits are being imported.

However, it looks like this is blocking other SVN mirrors, including the popular git-svn mirror — I’m assuming because the git-svn import is blocked waiting for Phabricator to do its business, and the SVN import process has taken over 24 hours to complete so far.

If I change “I/O Type” to “No I/O” for these repositories, will I lose any important features of Phabricator? I couldn’t find the answer in the documentation.


I think it will basically just stop doing anything with that URI.

I’m not sure if it will stop the running import - it might or might not - but it will not start any new imports for this URI.

The “No I/O” mode is there, IIRC, to allow Arcanist to identify the repository if the user has cloned it from a different source.

Are the issue you’re having is that the same Phabricator instance has stopped importing all other SVN repos? Or that the SVN server has stopped responding to other requests? Neither is expected, but a large import could hog up all the CPU (There should already be measures in place to make sure this doesn’t happen).

BTW, phabricator doesn’t use git-svn - it’s accessing the SVN repo natively using svn and copies information directly to the database.


Thanks for the explanation.

It turned out the git-svn import was blocked due to a totally different reason unrelated to the Diffusion import.

However, I think I might actually want to use “No I/O” for these repos; I’ll investigate the effects.