Uploaded image for project: 'Aurora'
  1. Aurora
  2. AURORA-1795

Internal server error in scheduler Thrift API on missing Content-Type

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.16.0
    • 0.17.0
    • Scheduler
    • None

    Description

      This happens if a user has a very old browser, i.e. Firefox 41.

      I1017 09:38:15.618 [qtp1426166274-44336, Slf4jRequestLog:60] 10.x.x.x - - [17/Oct/2016:09:38:15 +0000] "POST //foobar.example.org/api HTTP/1.1" 200 794
      W1017 09:38:15.627 [qtp1426166274-44066, ServletHandler:631] /api java.lang.NullPointerException: null
              at java.util.Objects.requireNonNull(Objects.java:203) ~[na:1.8.0-internal]
              at java.util.Optional.<init>(Optional.java:96) ~[na:1.8.0-internal]
              at java.util.Optional.of(Optional.java:108) ~[na:1.8.0-internal]
              at org.apache.aurora.scheduler.http.api.TContentAwareServlet.doPost(TContentAwareServlet.java:123) ~[aurora-0.16.0.jar:na]
              at org.apache.aurora.scheduler.http.api.TContentAwareServlet.doGet(TContentAwareServlet.java:164) ~[aurora-0.16.0.jar:na]
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[javax.servlet-api-3.1.0.jar:3.1.0]
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
              at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) ~[guice-servlet-3.0.jar:na]
              at org.apache.aurora.scheduler.http.LeaderRedirectFilter.doFilter(LeaderRedirectFilter.java:72) ~[aurora-0.16.0.jar:na]
              at org.apache.aurora.scheduler.http.AbstractFilter.doFilter(AbstractFilter.java:44) ~[aurora-0.16.0.jar:na]
              at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) ~[guice-servlet-3.0.jar:na]
              at org.apache.aurora.scheduler.http.HttpStatsFilter.doFilter(HttpStatsFilter.java:71) ~[aurora-0.16.0.jar:na]
              at org.apache.aurora.scheduler.http.AbstractFilter.doFilter(AbstractFilter.java:44) ~[aurora-0.16.0.jar:na]
              at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) ~[guice-servlet-3.0.jar:na]
              at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) ~[guice-servlet-3.0.jar:na]
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1676) ~[jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581) [jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511) [jetty-servlet-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335) [jetty-rewrite-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:461) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.server.Server.handle(Server.java:524) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:319) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:253) [jetty-server-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273) [jetty-io-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) [jetty-io-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [jetty-io-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721]
              at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [jetty-util-9.3.11.v20160721.jar:9.3.11.v20160721]
              at java.lang.Thread.run(Thread.java:745) [na:1.8.0-internal]
      

      The definition of getContentType indicates that null may be returned. However, our code does not handle that case.

      Attachments

        Activity

          People

            zmanji Zameer Manji
            StephanErb Stephan Erb
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: