Is the IndexWriter class, and especially the method addIndexes(Directory[]) thread safe?
Yes, IndexWriter.addIndexes(Directory[]) method is thread safe (it is a synchronized method). IndexWriter in general is thread safe, i.e. you should use the same IndexWriter object from all of your threads. Actually it’s impossible to use more than one IndexWriter for the same index directory, as this will lead to an exception trying to create the lock file.