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

Feedback loop on Tracer table given small in-memory map on server

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Cannot Reproduce
    • 1.4.3
    • None
    • trace, tserver
    • None

    Description

      Under the right conditions the tracer table can get into a feedback loop where messages about flushes to a tracer table tablet keep arriving and triggering subsequent flush operations.

      This was observed on a 1.4.3 cluster initially configured for 256MB in-memory maps.

      This manifests as a high rate of ingest to the tracer table, even in the absence of client activity or any client created tables. i.e. on a 3 worker node cluster with no external activity 500 entries/second into the tracer table.

      Viewing the tserver logs:

      tserver.log (less AUDIT):
      $ tail -50 tserver-3-example.com.log | grep -v AUDIT
      2013-12-10 19:08:22,433 INFO org.apache.accumulo.server.tabletserver.TabletServer: Adding 1 logs for extent 1<;b99f as alias 5
      2013-12-10 19:08:22,627 INFO org.apache.accumulo.server.tabletserver.TabletServer: Adding 1 logs for extent !0<;~ as alias 2
      2013-12-10 19:08:23,431 INFO org.apache.accumulo.server.tabletserver.TabletServer: Adding 1 logs for extent 1<;b99f as alias 5
      2013-12-10 19:08:23,735 INFO org.apache.accumulo.server.tabletserver.TabletServer: Adding 1 logs for extent !0<;~ as alias 2
      2013-12-10 19:08:24,431 INFO org.apache.accumulo.server.tabletserver.TabletServer: Adding 1 logs for extent 1<;b99f as alias 5
      2013-12-10 19:08:24,875 INFO org.apache.accumulo.server.tabletserver.TabletServer: Adding 1 logs for extent !0<;~ as alias 2
      2013-12-10 19:08:26,431 INFO org.apache.accumulo.server.tabletserver.TabletServer: Adding 1 logs for extent 1<;b99f as alias 5
      2013-12-10 19:08:26,486 INFO org.apache.accumulo.server.tabletserver.TabletServer: Adding 1 logs for extent !0<;~ as alias 2
      
      tserver.log (full)
      2013-12-10 19:07:44,479 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials root: authenticated
      2013-12-10 19:07:44,480 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials !SYSTEM: checked permission WRITE on table 1 for root
      2013-12-10 19:07:44,561 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials !SYSTEM: checked permission WRITE on table !0 for !SYSTEM
      2013-12-10 19:07:45,379 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials !SYSTEM: checked permission READ on table !0 for !SYSTEM
      2013-12-10 19:07:45,379 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials !SYSTEM: got authorizations for !SYSTEM
      2013-12-10 19:07:45,479 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials root: authenticated
      2013-12-10 19:07:45,480 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials !SYSTEM: checked permission WRITE on table 1 for root
      2013-12-10 19:07:45,481 INFO org.apache.accumulo.server.tabletserver.TabletServer: Adding 1 logs for extent 1<;b99f as alias 5
      2013-12-10 19:07:45,554 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials !SYSTEM: checked permission WRITE on table !0 for !SYSTEM
      2013-12-10 19:07:45,555 INFO org.apache.accumulo.server.tabletserver.TabletServer: Adding 1 logs for extent !0<;~ as alias 2
      2013-12-10 19:07:45,731 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials !SYSTEM: checked permission WRITE on table !0 for !SYSTEM
      2013-12-10 19:07:46,479 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials root: authenticated
      2013-12-10 19:07:46,481 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials !SYSTEM: checked permission WRITE on table 1 for root
      2013-12-10 19:07:46,482 INFO org.apache.accumulo.server.tabletserver.TabletServer: Adding 1 logs for extent 1<;b99f as alias 5
      2013-12-10 19:07:46,574 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials !SYSTEM: checked permission WRITE on table !0 for !SYSTEM
      2013-12-10 19:07:46,575 INFO org.apache.accumulo.server.tabletserver.TabletServer: Adding 1 logs for extent !0<;~ as alias 2
      2013-12-10 19:07:46,743 AUDIT org.apache.accumulo.server.security.Auditor: Using credentials !SYSTEM: checked permission WRITE on table !0 for !SYSTEM
      
      
      

      note that this example relies on the default configuration, using "root" as the user for the tracer role. If your tracer user is set to something else, that is the user that would show up in the credential checks above.

      Current work around is to increase the memory map size.

      We should attempt to detect this situation and at least issue a clear log message. It would be nicer if we could detect it and turn off tracing messages related to the tracing table.

      Attachments

        1. sanitized.tar.gz
          814 kB
          Alex Moundalexis

        Activity

          People

            ecn Eric C. Newton
            busbey Sean Busbey
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: