jsperf.com: Some tests are not getting posted properly

The <table> on https://jsperf.com/cash-vs-jquery-parents/2 has an empty <tbody>.

Somehow, no tests were inserted into the database for this page:

mysql> select * from tests where pageID = 1303938;
Empty set (0.00 sec)

Any ideas how this happened?

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 25
  • Comments: 44 (7 by maintainers)

Commits related to this issue

Most upvoted comments

Happens to me as well, I can’t edit a test without getting “Not all tests inserted”.

Basically, jsperf is more or less unusable because of this bug, it JUST happened again, forcing me to restart everything and clear the DB. I also made other observations that might contribute:

  • I cannot see “my Tests” anymore after logging in the next day
  • The test I have created does NOT show up in “latest”, only with “popular”
  • Despite the failed attempt to edit my test, a new “revision” (or at least another DB entry) is created nonetheless, but not marked as a new revision. I.e. the two entries I see under “latest” are pointing to the same URL.
  • But then, all tests in the tests Table still point to the first entry. maybe thats the source of the error?
  • Browserscope ID is different with the new entry, maybe it has something to do with that?
  • After a while (8 hours according to docs), jsperf forces a new revision. I think this limit shouldn’t be there or at least configurable, esp. on local installations

And it should be possible to have only a local login, or none at all for a local installation, but think this is another topic.

Please, fix this bug, this is quite serious and makes working with jsperf almost impossible right now (at least for me)!

Also still having the “Not all tests inserted” issue:

  • Logged in via GitHub
  • Redirected to GitHub to authorize
  • Redirected to jsPerf, need to click the GitHub button again (did it turn gray from blue?)
  • Not sure if I’m logged in
  • Created a new test (no name, email, website, just title, prep code, setup, 2 named snippets, non-published to keep fiddling around) and saved
  • Revision 1 is ok
  • Edited it, added 4 new code snippets (didn’t edit anything else), saved
  • Redirected to recaptcha (is this from cloudflare?) to approve that I’m a human
  • Redirected to jsPerf, showing “Not all tests inserted”
  • Tried again
  • Tried again adding and removing a space to/from each field
  • recaptcha again
  • Still just “Not all tests inserted”
  • Opening Revision 2 manually shows just the 4 new code snippets
  • From there on nothing seems to work anymore (edited different things, not sure what exactly):
    • Keeps redirecting me to the recaptcha thing and showing “Not all tests inserted”
    • Tried deactivating uBlock
    • Revision 3 has just one snippet
    • Revision 4 has none
  • Gave up

Chrome 55.0.2883.87 m, Win 10

We have enough comments on this being reproducible. Submitting a pull request with a fix is the best contribution.

I deployed master to https://jsperf-max.now.sh/ with a new database (my next to last guess on what’s causing this). if you could, please see if tests are post correct in this environment and add a reaction to this comment of 👍 if it works or 👎 if it doesn’t

some quick notes on this environment:

  1. no cloudflare
  2. no previous tests (new, empty database instance)

if all goes well, I’ll figure out how to get the old data into the new database

This is still happening to me when editing this test: https://jsperf.com/stringreplaceall-544/1/edit

The issue apparently is that, when updating tests, the SQL query contains a WHERE pageID=NEWID clause, where NEWID is given as the page id of the new revision, which updates nothing, because the stored pageID is that of the old revision. Hence, only the new tests are inserted for the new revision’s page, afterwards resulting in a “Not all tests inserted” error, which matches what I experienced above. Need to look through this a little more for a PR.