I don't think that's sufficient in part because the IndexInput's state is manipulated outside that sync block. The sync block is to protect the file only, not the IndexInput, which isn't thread-safe (by design).
Correct, that sync block only protects the file. It and the rest of FSIndexInput makes FSIndexInput thread-safe. Not copying the buffer content (nor buffer states) in BufferedIndexInput will make BufferedIndexInput thread-safe. But how much will this affect performance? --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]