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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.4.1, 3.1, 3.2, 3.3
    • Fix Version/s: 3.5, 4.0-ALPHA
    • Component/s: update
    • Labels:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: