Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-5620

Fix and extend hadoop.http.idle_timeout.ms to 60k

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.1.0
    • 1.2.0
    • S3

    Description

      The default value of hadoop.http.idle_timeout.ms seems to be inteneded as 10k in HttpServer2.java, but it is ignored and actually falls into 1000 defined in core-site.xml in hadoop-common implemented in HADOOP-15696 . I would also propose extending the default value to 60k, which is commonly used value among other Hadoop projects.

      This leads to an error in S3G when connected by a slow client, like:

      2021-08-16 19:55:41,329 [qtp1516500233-135] WARN org.eclipse.jetty.server.HttpChannel: handleException /ksugihara.sandbox/kubernetes11/vendor/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/grpctrace.go java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 1000/1000 ms
      2021-08-16 19:55:41,329 [qtp1516500233-135] WARNorg.eclipse.jetty.server.HttpChannelState: unhandled due to prior sendError
      javax.servlet.ServletException: javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.io.IOException: java.util.concurrent.TimeoutException: idle timeout expired: 1000/1000 ms
      at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:162)
      (snip)
      Caused by: javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired:
      1000/1000 ms
      at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:432)
      at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370)
      (snip)
      at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:416)
      ... 40 more
      Caused by: java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout expired: 1000/1000 ms
      at org.eclipse.jetty.server.HttpInput$ErrorState.noContent(HttpInput.java:1124)
      at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:333)
      at java.io.InputStream.read(InputStream.java:101)
      at org.glassfish.jersey.message.internal.EntityInputStream.read(EntityInputStream.java:98)
      at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2146)
      at org.apache.commons.io.IOUtils.copy(IOUtils.java:2102)
      at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2123)
      at org.apache.commons.io.IOUtils.copy(IOUtils.java:2078)
      at org.apache.hadoop.ozone.s3.endpoint.ObjectEndpoint.put(ObjectEndpoint.java:200)
      at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)

      Attachments

        Issue Links

          Activity

            People

              kuenishi UENISHI Kota
              kuenishi UENISHI Kota
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: