[
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]