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

Roman commented on SOLR-16219:
------------------------------

Is this the culprit?

{{  @Override}}
{{  protected void init(IndexSchema schema, Map<String, String> args) {}}
{{    failHardOnUdvas = 
{*}schema.luceneVersion{*}.onOrAfter(UDVAS_FORBIDDEN_AS_OF);}}
{{    if (on(trueProperties, USE_DOCVALUES_AS_STORED)) {}}
{{      // fail fast at fieldType init}}
{{      warnOrFailUdvas(failHardOnUdvas);}}
{{    }}}
{{    properties &= ~USE_DOCVALUES_AS_STORED;}}
{{    properties |= TOKENIZED; // this ensures ou  /** The Default Lucene Match 
Version for this IndexSchema */
  public Version getDefaultLuceneMatchVersion() {
    return luceneVersion;
  }r analyzer gets hit}}
{{    setup(schema.getResourceLoader(), args);}}
{{    super.init(schema, args);}}
{{  }}}

If so, I believe this problem is unique to this particulat case:

 

{{$ ack '\.luceneVersion'}}
{{solr/modules/analysis-extras/src/java/org/apache/solr/schema/ICUCollationField.java}}
{{128:    failHardOnUdvas = 
schema.luceneVersion.onOrAfter(UDVAS_FORBIDDEN_AS_OF);}}

{{solr/CHANGES.txt}}
{{3813:* SOLR-12972: deprecate unused SolrIndexConfig.luceneVersion (Christine 
Poerschke)}}

{{solr/core/src/java/org/apache/solr/schema/IndexSchema.java}}
{{199:    this.luceneVersion = Objects.requireNonNull(luceneVersion);}}

and this method should be called instead?

{{  /** The Default Lucene Match Version for this IndexSchema */}}
{{  public Version getDefaultLuceneMatchVersion() {}}
{{    return luceneVersion;}}
{{  }}}

 

But I am not a Java programmer. Maybe, someone can provide a patch is this 
sounds reasonable?

Or alternatively maybe the whole check for luceneVersion can be skipped as it 
has been deprecated?

> ICUCollationField tried to access protected field 
> org.apache.solr.schema.IndexSchema.luceneVersion
> --------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-16219
>                 URL: https://issues.apache.org/jira/browse/SOLR-16219
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>    Affects Versions: 9.0
>            Reporter: Roman
>            Priority: Major
>
> I've tried to recreate Solr 8 configuration in Solr 9, but the following part 
> in the config causes an error when creating core. (not SolrCould environment, 
> if it matters)
> {code:java}
> <fieldType name="text_gen_sort" class="solr.ICUCollationField" locale="" 
> numeric="true" strength="primary" multiValued="true" />{code}
> The following paths has been added in the {{{}solrconfig.xml{}}}:
> {code:java}
> <lib 
> path="..../solr/modules/analysis-extras/lib/solr-analysis-extras-9.0.0.jar" />
> <lib path="..../solr/modules/analysis-extras/lib/icu4j-68.2.jar" />
> <lib 
> path="..../solr/modules/analysis-extras/lib/lucene-analysis-icu-9.0.0.jar" 
> />{code}
> and I checked, that the paths to jars are correct.
> The stack trace is lengthy, here the relevant part of it:
> {code:java}
> <h3>Caused by:</h3><pre>java.lang.IllegalAccessError: 
> class org.apache.solr.schema.ICUCollationField tried to access
> protected field org.apache.solr.schema.IndexSchema.luceneVersion
> (org.apache.solr.schema.ICUCollationField is in
> unnamed module of loader java.net.FactoryURLClassLoader @61639b88;
> org.apache.solr.schema.IndexSchema is in unnamed module of loader
> org.eclipse.jetty.webapp.WebAppClassLoader @6a988392)
> at org.apache.solr.schema.ICUCollationField.init(ICUCollationField.java:128)
> at org.apache.solr.schema.FieldType.setArgs(FieldType.java:202)
> at 
> org.apache.solr.schema.FieldTypePluginLoader.init(FieldTypePluginLoader.java:149)
> at 
> org.apache.solr.schema.FieldTypePluginLoader.init(FieldTypePluginLoader.java:43)
> at 
> org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:189)
> at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:531)
> at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:188)
> at 
> org.apache.solr.schema.ManagedIndexSchema.<init>(ManagedIndexSchema.java:119)
> at 
> org.apache.solr.schema.ManagedIndexSchemaFactory.create(ManagedIndexSchemaFactory.java:279)
> at 
> org.apache.solr.schema.ManagedIndexSchemaFactory.create(ManagedIndexSchemaFactory.java:51)
> at 
> org.apache.solr.core.ConfigSetService.createIndexSchema(ConfigSetService.java:342)
> at 
> org.apache.solr.core.ConfigSetService.lambda$loadConfigSet$0(ConfigSetService.java:253)
> at org.apache.solr.core.ConfigSet.<init>(ConfigSet.java:49)
> at 
> org.apache.solr.core.ConfigSetService.loadConfigSet(ConfigSetService.java:249)
> at 
> org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:1550)
> at org.apache.solr.core.CoreContainer.create(CoreContainer.java:1426)
> at 
> org.apache.solr.handler.admin.CoreAdminOperation.lambda$static$0(CoreAdminOperation.java:92){code}
> Previous configuration with the same 3 libraries and the field type worked. I 
> used {{{}bin/solr create_core -c my_core -d my_configset{}}}. The change is 
> in the {{{}managed-schema.xml{}}}. (It used to be just {{manages-schema}} in 
> Solr 8, but I recreated the configuration from the new default.)
> This looks to me like some kind of a bug. What can be the cause of this and 
> how to overcome the problem?
> (I've also created SO question on this - 
> [https://stackoverflow.com/questions/72416721/how-to-configure-icucollationfield-type-in-solr-9]
>  )
>  
> To recreate, just add the above mentioned parts to solrconfig.xml and 
> managed-schema.xml (from _default ) and try to create a core using the 
> configset.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to