[ 
https://issues.apache.org/jira/browse/LUCENE-9921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17444011#comment-17444011
 ] 

Arjen commented on LUCENE-9921:
-------------------------------

If the window is closing on 9, I agree it would be too risky.

My reason for looking for a ticket like this, was the {{utr30.nrm}} file used 
in {{ICUFoldingFilter.}} That seems to trigger a version check with icu 70.1:
{code:java}
Caused by: com.ibm.icu.util.ICUUncheckedIOException: java.io.IOException: ICU 
data file error: Header authentication failed, please check if you have a valid 
ICU data file; data format 4e726d32, format version 3.0.0.0
    at app//com.ibm.icu.impl.Normalizer2Impl.load(Normalizer2Impl.java:506)
    at 
app//com.ibm.icu.impl.Norm2AllModes$1.createInstance(Norm2AllModes.java:351)
    at 
app//com.ibm.icu.impl.Norm2AllModes$1.createInstance(Norm2AllModes.java:344)
    at app//com.ibm.icu.impl.SoftCache.getInstance(SoftCache.java:69)
    at app//com.ibm.icu.impl.Norm2AllModes.getInstance(Norm2AllModes.java:341)
    at app//com.ibm.icu.text.Normalizer2.getInstance(Normalizer2.java:202)
    at 
app//org.apache.lucene.analysis.icu.ICUFoldingFilter.<clinit>(ICUFoldingFilter.java:72)
    ... 6 more
Caused by: java.io.IOException: ICU data file error: Header authentication 
failed, please check if you have a valid ICU data file; data format 4e726d32, 
format version 3.0.0.0
    at com.ibm.icu.impl.ICUBinary.readHeader(ICUBinary.java:606)
    at com.ibm.icu.impl.ICUBinary.readHeaderAndDataVersion(ICUBinary.java:557)
    at com.ibm.icu.impl.Normalizer2Impl.load(Normalizer2Impl.java:453)
{code}
The line causing it is a custom analyzer that does this: {{{}new 
ICUFoldingFilter(tokenStream){}}}. So if someone upgrades the icu-dependency 
manually (or uses another library that requires > 68.2), they end up with the 
above exception.

That may actually be yet another reason for a new issue, but I don't know how 
to test this particular code with version 70.1 to see if its simply a matter of 
regenerating the particular file or not :)

> Can ICU regeneration tasks treat icu version as input?
> ------------------------------------------------------
>
>                 Key: LUCENE-9921
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9921
>             Project: Lucene - Core
>          Issue Type: Task
>            Reporter: Robert Muir
>            Priority: Major
>
> ICU 69 was released, so i was playing with the upgrade just to test it out 
> and test out our regeneration.
> Running {{gradlew regenerate}} naively wasn't helpful, regeneration tasks 
> were SKIPPED by the build.
> So I'm curious if the ICU version can be treated as an "input" to these 
> tasks, such that if it changes, tasks know the generated output is stale?



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to