On Fri, Nov 25, 2011 at 11:50 PM, Shai Erera <[email protected]> wrote: > > Does it mean that on trunk I cannot dynamically turn on/off debugging > information? And why do 3x and trunk differ? >
I changed this because its totally insane in 3.x. Because its 'live settable' there is crazy half-working (i don't think it really works) synchronization in various IndexWriter classes for this. Each one had a setter and each one had its own message() and other helper routines, and when you did set() on indexwriter it called set() on all the other classes in a broken way. When moving additional functionality to the codec (e.g. allowing codec to merge stored fields), I wanted to pass the infostream so that codecs could log if they want. But I was not going to add more broken synchronization and duplicate code to achieve this, and I wasn't going to add a setInfoStream() to all codec classes just for these reasons. Additionally, the infostream functionality was completely untested. On 3.x if you turn on infostream you are running hundreds of lines of totally untested code by jenkins. Now in trunk we randomly use a NullInfoStream class in tests: it doesn't print anything but ensures that all those string calculations don't have errors in them (i found a few immediately upon changing this). -- lucidimagination.com --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
