Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-6607

Add different variants of non caching HTTP headers

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.22.0
    • 2.0.3-alpha
    • io
    • None
    • Reviewed

    Description

      I'm suffering from proxy servers that are caching some of the HttpResponses that Hadoop generates in servlets/JSP pages. While the web ui is up to date, some of my build files are failing to pull stuff down because that is going via proxy -it sees an error page rather than the data

      1. Every servlet should set a short expires header and disable caching, especially in proxies.
      2. JSP pages should do it to
      3. It's essential that error responses do it.

      Maybe this could be done in a filter. Otherwise something like

          /**
           * Turn off caching and say that the response expires now
           * @param response the response
           */
          protected void disableCaching(HttpServletResponse response) {
              response.addDateHeader("Expires", System.currentTimeMillis());
              response.addHeader("Cache-Control", "no-cache");
              response.addHeader("Pragma", "no-cache");
          }
      

      Before anyone rushes to do this, we should consult some HTTP experts in Yahoo! or Facebook to get the options right. It may be best to have, say, a 1s lifespan on everything.

      Attachments

        1. HADOOP-6607.patch
          3 kB
          Alejandro Abdelnur
        2. HADOOP-6607.patch
          3 kB
          Alejandro Abdelnur
        3. NoCachingFilter.java
          2 kB
          Steve Loughran

        Issue Links

          Activity

            People

              tucu00 Alejandro Abdelnur
              stevel@apache.org Steve Loughran
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: