[
https://issues.apache.org/jira/browse/LUCENE-980?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Grant Ingersoll resolved LUCENE-980.
------------------------------------
Resolution: Fixed
Committed with patch for 981
> Formatting error in ReportTask in contrib/benchmark
> ---------------------------------------------------
>
> Key: LUCENE-980
> URL: https://issues.apache.org/jira/browse/LUCENE-980
> Project: Lucene - Java
> Issue Type: Bug
> Components: contrib/benchmark
> Affects Versions: 2.2
> Reporter: Grant Ingersoll
> Assignee: Grant Ingersoll
> Priority: Minor
> Fix For: 2.3
>
>
> I am building a new Task, AnalyzerTask, that lets you change the Analyzer in
> the loop, thus allowing for the comparison of the same Analyzers over the set
> of documents.
> My algorithm declaration looks like:
> NewAnalyzer(WhitespaceAnalyzer, SimpleAnalyzer, StopAnalyzer,
> standard.StandardAnalyzer)
> And it could be longer.
> The exception is:
> Error: cannot execute the algorithm! String index out of range: 85
> java.lang.StringIndexOutOfBoundsException: String index out of range: 85
> at java.lang.String.substring(String.java:1765)
> at
> org.apache.lucene.benchmark.byTask.utils.Format.format(Format.java:85)
> at
> org.apache.lucene.benchmark.byTask.tasks.ReportTask.tableTitle(ReportTask.java:85)
> at
> org.apache.lucene.benchmark.byTask.tasks.ReportTask.genPartialReport(ReportTask.java:140)
> at
> org.apache.lucene.benchmark.byTask.tasks.RepSumByNameTask.reportSumByName(RepSumByNameTask.java:77)
> at
> org.apache.lucene.benchmark.byTask.tasks.RepSumByNameTask.doLogic(RepSumByNameTask.java:39)
> at
> org.apache.lucene.benchmark.byTask.tasks.PerfTask.runAndMaybeStats(PerfTask.java:83)
> at
> org.apache.lucene.benchmark.byTask.tasks.TaskSequence.doSerialTasks(TaskSequence.java:112)
> at
> org.apache.lucene.benchmark.byTask.tasks.TaskSequence.doLogic(TaskSequence.java:93)
> at
> org.apache.lucene.benchmark.byTask.utils.Algorithm.execute(Algorithm.java:228)
> at
> org.apache.lucene.benchmark.byTask.Benchmark.execute(Benchmark.java:73)
> at org.apache.lucene.benchmark.byTask.Benchmark.main(Benchmark.java:109)
> The error seems to be caused by the fact that ReportTask uses the OP
> (operation) column for the String, but then uses the length of the algorithm
> declaration to index into the String, resulting in the index out of bounds
> exception.
> The line in question is:
> return (s + padd).substring(0, col.length());
> And probably should be changed to something like:
> String s1 = (s + padd);
> return s1.substring(0, Math.min(col.length(), s1.length()));
> Either that or the column should be trimmed. The workaround is to explicitly
> name the task.
> If no objections, I will make the change, tomorrow.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]