Discrepancy in review and completed review forms after upgrade from ojs2 to ojs3

Hello everyone,

after upgrading from ojs2 to ojs3, we noticed that the in review and completed totals do not match on the review form tables

what is the reason for this? we attached screenshots below

OJS2 before upgrade


OJS3 after upgrade


how are the statuses calculated? have these values changed in the new version of ojs? if so is there documentation on this?

Best regards,


Hi all,

I have tried to dig into the code hoping to understand a bit more, how contents are re-arranged but I feel like i am lost. Can any one please give some feedback or suggestion where else I can find more info. Attached is the code where I try to debug to get more information Thanks for any help!


Can anyone please help us explain the discrepancy in view of data? Any comment, suggestions, pointer to potential resolution, we really appreciate and would like to hear from. Thanks all!

Hi @dung,

As much as possible we try to calculate those counts in the SQL, for efficiency’s sake. To nail down exactly what the difference is, I’d suggest fishing out the queries that generate those counts. If you’re having trouble finding it in the code, you can do this in both OJS 2.x and 3.x by turning on debug option in config.inc.php. This will dump all SQL statements out to the browser (for all users who visit the site while it’s enabled!) so you’ll be able to find the relevant query on the page you posted above. (If the page is generated by an AJAX request, you might need to capture it from your browser’s inspection tools, as the SQL statements will make the JSON response unparseable.)

My suspicion is that you’ve got a data issue, i.e. some missing entities in your database or something similar. OJS 2.x and 3.x have similar requirements for data integrity but will behave a little differently when those requirements aren’t met. One common cause of issues like this, just to give an example that may not be 100% relevant to your case, is articles that are designated against a section_id that doesn’t exist. Both OJS 2.x and 3.x consider this a data error, but they’ll behave differently with it.

Alec Smecher
Public Knowledge Project Team

Thank you so much @asmecher, I will turn on debug and dig in both application/code/database. will share what I find.

reference directly related reading for those who wants to trouble shoot such issue: https://pkp.sfu.ca/ojs/docs/userguide/2.3.3/systemAdministrationDebugging.html