mikemccand / luceneutil

Various utility scripts for running Lucene performance tests
Apache License 2.0
205 stars 115 forks source link

Enable nightly bench to use multiple threads #195

Closed zhaih closed 2 years ago

zhaih commented 2 years ago

Hi @mikemccand, Please help test this on your machine and let me know if there's any problem LOL.

I set the numThreads to cpu_count, but please modify it accordingly if need.

Patrick

mikemccand commented 2 years ago

Yay, thanks @zhaih! Very exciting! Then maybe I can move start time for the benchmarks later again (it's 6 PM my time right now).

Hmm, except benchy is a bit unhappy with the id change ... the NRT test particular:

Exception in thread "Index #0" java.lang.RuntimeException: java.lang.IllegalArgumentException: cannot change value type from Long to Strin\
g
        at perf.IndexThreads$IndexThread.run(IndexThreads.java:404)
Caused by: java.lang.IllegalArgumentException: cannot change value type from Long to String
        at org.apache.lucene.document.Field.setStringValue(Field.java:297)
        at perf.IndexThreads$IndexThread.run(IndexThreads.java:337)

OK -- I see, this test is trying to set the NUMERIC DV field to a string value ... I'll contemplate a fix.

mikemccand commented 2 years ago

Hmm first attempt produced this crazy error:

[0.257s][error][jfr,startup] Could not start recording, not able to write to file /l/logs.nightly/bench-index-nightly-wikimedium.trunk.nightly.facets.taxonomy:Date.taxonomy:Month.taxonomy:DayOfYear.sortedset:Month.sortedset:DayOfYear.sortedset:Date.taxonomy:RandomLabel.sortedset:RandomLabel.Lucene90.Lucene90.dvfields.sort=id:long.vectors=100.nd27.625M.jfr. /l/logs.nightly/bench-index-nightly-wikimedium.trunk.nightly.facets.taxonomy:Date.taxonomy:Month.taxonomy:DayOfYear.sortedset:Month.sortedset:DayOfYear.sortedset:Date.taxonomy:RandomLabel.sortedset:RandomLabel.Lucene90.Lucene90.dvfields.sort=id:long.vectors=100.nd27.625M.jfr: File name too long
Error occurred during initialization of VM
Failure when starting JFR on_create_vm_3

Not yet sure why this change would cause that!

zhaih commented 2 years ago

Hmm first attempt produced this crazy error

Thanks for trying it! Yeah that was an error I got when I ran it locally as well, but I thought maybe the nightly bench's index name is not generated so I just hoped it would not be the case LOL. But anyway I think simply give it a dedicated index name will solve this "FileNameTooLong" error, I'll also open another issue trying to make our index name less "descriptive"

I added a commit giving the nightly bench a name as well as rebasing the changes.

mikemccand commented 2 years ago

Not yet sure why this change would cause that!

OK it was because the previous iteration added just another "descriptive" part of the filename: sort=id:long. and those few characters were enough to put it over the Linux limit ;)

I added a commit giving the nightly bench a name as well as rebasing the changes.

Awesome, thanks, I'll test again!