The only real complexity around it is properly dealing with the queue in a
large scale production environment, and none of that is code complexity.

CrossDC is a critical feature for many, the problem with the previous
iteration was it tried to be the queuing system and was obviously never
going to be near the level of a real one, and it had to be deeply
integrated with Solr and so it had high costs on all fronts and was always
going to struggle with the reliability you’d need from a disaster recovery
feature.

This approach offloads the heavy lifting to systems made and hardened and
dedicated to that lifting, and is extremely loosely integrated with Solr -
it is currently as loose as a plugin.

Because of that, we have no need for this to be part of Solr. We use it
fine outside of Solr. The only motivation to contribute CrossDC to Solr is
so that others don’t have to build 10 other solutions separately, and
because the effort on those 10 other solutions could be focused on a shared
solution.

There are plenty of things that have been thrown in Solr because someone
needed it in Solr due to their work situation and integration requirements
of that feature. This isn’t one of them. Our need is extremely low. It
simply makes sense to do. The pain of not doing would be almost non
existent.

Reply via email to