Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-16219

ICUCollationField tried to access protected field org.apache.solr.schema.IndexSchema.luceneVersion

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 9.0
    • 9.1
    • Schema and Analysis
    • None

    Description

      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)

      <fieldType name="text_gen_sort" class="solr.ICUCollationField" locale="" 
      numeric="true" strength="primary" multiValued="true" />

      The following paths has been added in the solrconfig.xml:

      <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" />

      and I checked, that the paths to jars are correct.

      The stack trace is lengthy, here the relevant part of it:

      <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)

      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.

      Attachments

        Issue Links

          Activity

            People

              magibney Michael Gibney
              Suzi Roman
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h