Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-8755

QuadPrefixTree robustness: can throw exception while indexing a point at high precision

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 8.3
    • modules/spatial-extras
    • None
    • New

    Description

      When trying to index a below document with apache solr 7.5.0 i am getting java.lang.IndexOutOfBoundsException, this data is causing the whole full import to be failed. I have also defined my schema for your reference 

       

      Data:

      [

      { "street_description":"SAMPLE_TEXT", "pao_start_number":6, "x_coordinate":244502.06, "sao_text":"FIRST FLOOR", "logical_status":"1", "street_record_type":1, "id":"AA60L123333-ENG", "street_description_str":"SAMPLE_TEXT", "lpi_logical_status":"1", "administrative_area":"SAMPLE_TEXT & HOVE", "uprn":"8899889", "town_name":"TEST TOWN", "street_description_full":"60 DEMO ", "y_coordinate":639062.07, "postcode_locator":"AB1 1BB", "location":"244502.06 639062.07" }

      ]

       

      Configuration in managed-schema.xml

       

      <fieldType name="oslocation" class="solr.SpatialRecursivePrefixTreeFieldType" geo="false" maxDistErr="0.000009" worldBounds="ENVELOPE(0,700000,1300000,0)" distErrPct="0.15"/>

      <field name="root" type="string" docValues="false" indexed="true" stored="false"/>
      <field name="text" type="text_en" multiValued="true" indexed="true" stored="false"/>
      <field name="version" type="long" indexed="true" stored="false"/>
      <field name="administrative_area" type="string" multiValued="false" indexed="true" stored="true"/>
      <field name="auth_name" type="string" multiValued="false" indexed="false" stored="true"/>
      <field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
      <field name="locality_name" type="string" multiValued="false" indexed="true" stored="true"/>
      <field name="location" type="oslocation" multiValued="false" indexed="true" stored="true"/>
      <field name="logical_status" type="string" multiValued="false" indexed="false" stored="true"/>
      <field name="lpi_logical_status" type="string" multiValued="false" indexed="false" stored="true"/>
      <field name="organisation" type="text_en" multiValued="false" indexed="true" stored="true"/>
      <field name="organisation_name" type="text_en" multiValued="false" indexed="true" stored="true"/>
      <field name="pao_end_number" type="int" multiValued="false" indexed="true" stored="true"/>
      <field name="pao_end_suffix" type="string" multiValued="false" indexed="true" stored="true"/>
      <field name="pao_start_number" type="int" multiValued="false" indexed="true" stored="true"/>
      <field name="pao_start_suffix" type="string" multiValued="false" indexed="true" stored="true"/>
      <field name="pao_text" type="text_en" multiValued="false" indexed="true" stored="true"/>
      <field name="postcode_locator" type="string" multiValued="false" indexed="true" stored="true"/>
      <field name="sao_end_number" type="int" multiValued="false" indexed="true" stored="true"/>
      <field name="sao_end_suffix" type="string" multiValued="false" indexed="true" stored="true"/>
      <field name="sao_start_number" type="int" multiValued="false" indexed="true" stored="true"/>
      <field name="sao_start_suffix" type="string" multiValued="false" indexed="true" stored="true"/>
      <field name="sao_text" type="text_en" multiValued="false" indexed="true" stored="true"/>
      <field name="street_description" type="text_en" multiValued="false" indexed="true" stored="true"/>
      <field name="street_description_str" type="text_gp_custom" multiValued="false" indexed="true" stored="true"/>
      <field name="street_description_full" type="text_gp_custom" multiValued="false" indexed="true" stored="true"/>
      <field name="street_record_type" type="int" multiValued="false" indexed="false" stored="true"/>
      <field name="town_name" type="string" multiValued="false" indexed="true" stored="true"/>
      <field name="uprn" type="string" multiValued="false" indexed="true" stored="true"/>
      <field name="x_coordinate" type="double" multiValued="false" indexed="true" stored="true"/>
      <field name="y_coordinate" type="double" multiValued="false" indexed="true" stored="true"/>

      Attachments

        1. LUCENE-8755.patch
          4 kB
          David Smiley

        Issue Links

          Activity

            People

              dsmiley David Smiley
              senthilu senthil nathan
              Votes:
              0 Vote for this issue
              Watchers:
              4 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 - 1.5h
                  1.5h