Uploaded image for project: 'Apache Knox'
  1. Apache Knox
  2. KNOX-2915

Knox should update topologies before deploying them

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 2.0.0, 1.6.0, 1.6.1
    • 2.1.0
    • Server
    • None

    Description

      During the gateway startup, Knox executes the following steps (among others) in this order:

      1. reloads/redeploys topologies
      2. triggers descriptors reload to trigger service discovery (see KNOX-2301)

      The problem with this approach is, that in the case of dynamic Kerberos settings (variable keytab path and principal name), Knox may deploy a topology with old settings that are no longer valid, and only a couple of seconds later (in my test environment it was between 10-20 seconds for a particular topology) it redeploys the topology with up-to-date configuration. This might be irrelevant if that topology is not used in that small time window, however, there is a chance that Knox will fail to serve the request with an error message similar to this:

      2023-06-06 19:33:00,756 9ee494e4-4ede-4a81-962e-77334bfd80b8 ERROR knox.gateway (AbstractGatewayFilter.java:doFilter(60)) - Failed to execute filter: javax.servlet.ServletException: javax.servlet.ServletException: javax.servlet.ServletException: Keytab does not exist: /$DYNAMIC_KEYTAB_PATH//knox.keytab
      2023-06-06 19:33:00,757 9ee494e4-4ede-4a81-962e-77334bfd80b8 ERROR knox.gateway (GatewayFilter.java:doFilter(197)) - Gateway processing failed: javax.servlet.ServletException: javax.servlet.ServletException: javax.servlet.ServletException: Keytab does not exist: /$DYNAMIC_KEYTAB_PATH//knox.keytab
      javax.servlet.ServletException: javax.servlet.ServletException: javax.servlet.ServletException: Keytab does not exist: /$DYNAMIC_KEYTAB_PATH/knox.keytab 
       

      Attachments

        Activity

          People

            smolnar Sandor Molnar
            smolnar Sandor Molnar
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 40m
                40m