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

Extracting update request handler throws exception and returns 400 when zero-length file posted using multipart form post

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.4.1, 3.1, 3.2, 3.3
    • 3.5, 4.0-ALPHA
    • update
    • None

    Description

      When zero-length documents are posted to the extracting update request handler, and the method used for posting is multipart form encoding, then you get a 400 error returned and the following exception to stderr:

      Sep 14, 2011 3:45:45 AM org.apache.solr.common.SolrException log
      SEVERE: org.apache.solr.common.SolrException: missing content stream
      at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:50)
      at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
      at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handleRequest(RequestHandlers.java:238)
      at org.apache.solr.core.SolrCore.execute(SolrCore.java:1360)
      at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356)
      at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252)
      at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
      at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
      at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
      at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
      at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
      at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
      at org.mortbay.jetty.Server.handle(Server.java:326)
      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
      at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
      at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
      at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

      Sep 14, 2011 3:45:45 AM org.apache.solr.core.SolrCore execute
      INFO: [] webapp=/solr path=/update/extract params=

      {id=123}

      status=400 QTime=300

      Other ways of indexing zero-length data do not produce this error.

      A curl command that will reproduce the problem easily is as follows:

      curl -location -F "id=123" -F "file=@hello.txt" http://localhost:8983/solr/update/extract

      ... assuming hello.txt is a zero-length file.

      This ticket is related to CONNECTORS-254.

      Attachments

        1. SOLR-2763.patch
          0.6 kB
          Jan Høydahl

        Issue Links

          Activity

            People

              janhoy Jan Høydahl
              kwright@metacarta.com Karl Wright
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: