I originally envisioned ClearTrace as a service that could run in the background and process trace files. As I wrote more and more code the service and command-line versions weren’t kept up to date. I kept adding more and more caching to improve performance. That had the unfortunate side effect of not working if two copies of ClearTrace were processing against the same database. With the return of the command-line version I finally had to fix this.
You can download a beta of ClearTrace build 32 and test the fix. The ZIP file includes both the GUI and command-line versions. In build 31 and earlier I just populated the local cache with lookup values as I went and bulk loaded those into the database when the file was processed. Now each lookup value is checked against the database before being placed in the local cache. In my testing this resulted in roughly one hundred extra insert statements to process a 50MB file. The performance difference wasn’t measureable.
If you’re running the command-line version in some automated fashion, please test out these new builds. It should make the application easier to work with.