If you use SOLR with your WebSphere Commerce configurations the chances are you will come across the following messages at some point.
These messages are produced when the system for some reason thinks for the right or wrong reasons that you are already reindexing the data in SOLR and the process is running. There is not a great deal of information out there on how this works so this should help.
If you look in your database for the server thats reporting the error you will see two tables. TI_DELTA_CATENTRY and TI_DELTA_CATGROUP, each message I assume is for the different table. These tables are used by the SOLR index to know what data to update in terms of catentry and catgroup that has changed on the system. What the build index command first looks for is any entries in there that have a catentry or catgrpup of -1.
This link shows the temporary table definitions and you can see that if they have a -1 and a P in there the system will assume that the search index is pending. We have also noticed that the tables can have a B set as a status (see image below)that is not shown in the Info Centre. We have now found out that the B lock is added by the di-preprocess command.
What we then found is those entries were not being removed and so the delta index process in the scheduler kept on saying it could not run. The only way you can then run the command is to use the -force tag on the command line, without that it also reported the process was already in use. Put the force tag on and you can make it run, but that does not solve the issue. Given a full build in the environment we were looking at took less than 1 minute we knew that was not the case the the index build was running. the image below shows a screen shot of the CATENTRY tables you can see the two records at the top that were causing the job not to run. We removed those two entries and we then get our index delta build runnning.