About Me

My photo
Web person at the Imperial War Museum, just completed PhD about digital sustainability in museums (the original motivation for this blog was as my research diary). Posting occasionally, and usually museum tech stuff but prone to stray. I welcome comments if you want to take anything further. These are my opinions and should not be attributed to my employer or anyone else (unless they thought of them too). Twitter: @jottevanger

Friday, July 13, 2012

Solr replication "invalid version" error

A quick one for googlers: I had this error in my catalina log when trying to replicate a Solr index:
invalid version expected 2 but 10 or the data in not in 'javabin' format
I first saw it when I moved between versions of  Solr, because versions 3+ use a different format.  Most things I read were about this issue, and it was easy enough to resolve (I just made sure all my Solrs were on the same version - not so easy for everyone but worth the effort). But in one case I still had the error, and this whole javabin thing turned out to be a red herring. The answer (from here) is simply that the configuration of the slave included "admin" in the replication URL, which is not where the replication service itself exists. Doh! There was indeed something at the http://www.example.com/solr/admin/replication/ address, but it's the admin interface to replication rather than the endpoint itself, which was at http://www.example.com/solr/replication/. I'm not sure how the error crept in for me but clearly I'm not the only one! Perhaps I snipped it from some faulty documentation, but all those false positives going on about javabin format kept me busy trying all sorts of other things before I stumbled across the right answer. Anyway, check your solrconfig.xml on the slave to be sure your masterUrl string doesn't include "/admin" in the path.