IndexReaders are able to perform certain write operations on an index (setNorm(), deleteDocument()). This makes issues like
LUCENE-743 more complicated and also duplicate code for acquiring locks and write transactions is necessary.
Therefore we should make IndexReaders "read-only" in the future. However, we have to find a good solution to support setting norms and deleting documents by docid with the IndexWriter. See related discussions in LUCENE-743 and http://www.gossamer-threads.com/lists/lucene/java-dev/52017
.
LUCENE-1329).