Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-4533

TraceServer should not abort if trace table exists

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.7.1, 1.7.2, 1.8.0
    • 1.7.3, 1.8.1, 2.0.0
    • trace
    • None
    • impacts 1.7.0-1.7.2, 1.8.0

    Description

      description

      On start up, the TraceServer attempts to ensure that the trace table exists.

              connector = serverConfiguration.getInstance().getConnector(principal, at);
              if (!connector.tableOperations().exists(tableName)) {
                connector.tableOperations().create(tableName);
                IteratorSetting setting = new IteratorSetting(10, "ageoff", AgeOffFilter.class.getName());
                AgeOffFilter.setTTL(setting, 7 * 24 * 60 * 60 * 1000l);
                connector.tableOperations().attachIterator(tableName, setting);
              }
      

      The race condition between checking existence and creating the table ought not matter, since we're in a big loop that is supposed to retry on any problems.

      However, that loop expressly catches RuntimeException and TableExistsException is not a RuntimeException so currently the exception propagates and kills the server.

      workaround

      restart any failed trace servers, since the one that won the race condition should have finished set up properly.

      alternatively, manually create the trace table prior to starting any trace servers.

      Attachments

        1. ACCUMULO-4533-1.7.v2.patch
          5 kB
          Sean Busbey
        2. ACCUMULO-4533-1.7.v1.patch
          5 kB
          Sean Busbey

        Issue Links

          Activity

            People

              busbey Sean Busbey
              busbey Sean Busbey
              Votes:
              0 Vote for this issue
              Watchers:
              5 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 - 0.5h
                  0.5h