It's been a while since I've written about RSS Bandit. In fact, I haven't written anything since we released v1.5.0.10 formerly codenamed Jubilee about two months ago. Between getting my work affairs in order to so I could travel to Nigeria, spending a few weeks there and then coming back to catch up on work, I haven't had much time for RSS Bandit. However I can now see the light at the end of the tunnel and will be able to start writing code again by this weekend.
Since we shipped the release, there have been two major issues reported which Torsten has been working on. In his post RSS Bandit and the 100% CPU issue the issue of the application using 100% CPU is addressed thusly
Today I could track down an annoying issue: on some installations of the newer version of RSS Bandit (starting with the first betas of 1.5.0.x) it starts using 100%CPU time on a thread. As we started also to use lucene.NET with this new release I guessed it was a related issue, I was right. But as we run into multiple issues with lucene it was not obvious as a separate problem. So here it is: We used a slightly modified version of lucene.NET to include the available language dependent analyzers and stopword filters. Before we released, I already fixed some obvious issues I got with e.g. french stemmer. Now we got more with the CJK (Japanese/Korean, bug report) and possibly Chinese analyzers. It looks like it get into a state it never returns. The attached debug callstack was very helpful to got the direction to search for! I found this: TextReader.Read(char[], int, int) was called and the return value checked against -1 only, not against 0 (zero). So I run over all analyzers to find all the places I have to change that code and here it is: the modified lucene.net.dll (zipped, 142K).
Today I could track down an annoying issue: on some installations of the newer version of RSS Bandit (starting with the first betas of 1.5.0.x) it starts using 100%CPU time on a thread. As we started also to use lucene.NET with this new release I guessed it was a related issue, I was right. But as we run into multiple issues with lucene it was not obvious as a separate problem. So here it is:
We used a slightly modified version of lucene.NET to include the available language dependent analyzers and stopword filters. Before we released, I already fixed some obvious issues I got with e.g. french stemmer. Now we got more with the CJK (Japanese/Korean, bug report) and possibly Chinese analyzers. It looks like it get into a state it never returns. The attached debug callstack was very helpful to got the direction to search for! I found this: TextReader.Read(char[], int, int) was called and the return value checked against -1 only, not against 0 (zero). So I run over all analyzers to find all the places I have to change that code and here it is: the modified lucene.net.dll (zipped, 142K).
A number of users have grabbed the linked DLL and followed Torsten's instructions and fixed the problem. The second issue and solution can be found in the RSS Bandit forum post Beta Bugfix debugging version 1.5.0.12 where Torsten writes
All of you reporting/considering the lucene related indexing errors, please download and try the Beta Bugfix debugging version 1.5.0.12 from http://rssbandit.sourceforge.net/builds/RssBandit.1.5.0.12.CVS.bin.zip Report any further issues related to lucene only as responses here (with the usual infos as OS and version etc.).Thanks!PS: you should delete the whole folder named "index" in the RSS Bandit user data folder before starting the application, the old index is possibly corrupted because of the errors before.
A number of users have reported getting exception messages related to the Lucene search index and this is due to threading issues we are facing while manipulating the search index. I thought I had handled all the issues in the final release but it seems I was mistaken. If you are an RSS Bandit user who has faced some of these issues, try out the version of the application fix linked above and let us know if the problem goes away.
Both of these fixes will be in an upcoming release of RSS Bandit that will ship at the end of the month. I may add a tiny feature with this bug fix release; adding pagination to newspaper views which is something I've wanted to do for at least a year now.