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

JdbcDataSource convertType attribute is not working with implicit fields

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 1.4.1
    • None
    • None

    Description

      JdbcDataSource convertType attribute doesn't take any effect on implicit fields ( fields that are not listed in field declaration section ).

      For example you might have the following configuration:

      dataconfig
      <?xml version="1.0" encoding="UTF-8"?>
      <dataConfig>
        <dataSource batchSize="-1" convertType="true" driver="com.mysql.jdbc.Driver"
          password="pass" url="jdbc:mysql://localhost/test" user="root"/>
        <document name="items">
          <entity query="SELECT title, body, tm FROM articles order by title desc">
          </entity>
        </document>
      

      where

      • tm is timestamp in mysql database
      • tm is date in schema.xml

      Because field tm is not explicitly stated in fields declaration convertType attribute doesn't take any effect and as a result you would get the following exception:

      convertType exception
      Sep 6, 2010 2:22:09 AM org.apache.solr.handler.dataimport.SolrWriter upload
      WARNING: Error creating document : SolrInputDocument[{body=body(1.0)={Apache Lucene is a free/open source information retrieval software library, originally created in Java by Doug Cutting.}, tm=tm(1.0)={2010-09-06 02:06:25.0}, title=title(1.0)={Lucene}}]
      org.apache.solr.common.SolrException: Error while creating field 'tm{type=date,default=NOW,properties=indexed,stored,omitNorms,sortMissingLast}' from value '2010-09-06 02:06:25.0'
              at org.apache.solr.schema.FieldType.createField(FieldType.java:242)
              at org.apache.solr.schema.SchemaField.createField(SchemaField.java:94)
              at org.apache.solr.update.DocumentBuilder.addField(DocumentBuilder.java:204)
              at org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:277)
              at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:60)
              at org.apache.solr.handler.dataimport.SolrWriter.upload(SolrWriter.java:75)
              at org.apache.solr.handler.dataimport.DataImportHandler$1.upload(DataImportHandler.java:292)
              at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:618)
              at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:260)
              at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:184)
              at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:334)
              at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:392)
              at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:373)
      Caused by: org.apache.solr.common.SolrException: Invalid Date String:'2010-09-06 02:06:25.0'
              at org.apache.solr.schema.DateField.parseMath(DateField.java:166)
              at org.apache.solr.schema.DateField.toInternal(DateField.java:136)
              at org.apache.solr.schema.FieldType.createField(FieldType.java:240)
              ... 12 more
      

      Attachments

        1. SOLR-2102.patch
          8 kB
          Alexey Serba
        2. SOLR-2102.patch
          4 kB
          Alexey Serba
        3. SOLR-2102.patch
          4 kB
          Alexey Serba
        4. SOLR-2102.patch
          4 kB
          Alexey Serba

        Issue Links

          Activity

            People

              Unassigned Unassigned
              alexey.serba Alexey Serba
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: