Sean Busbey created ACCUMULO-2014:
-------------------------------------

             Summary: Feedback loop on Tracer table given small in-memory map 
on server
                 Key: ACCUMULO-2014
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2014
             Project: Accumulo
          Issue Type: Bug
          Components: trace, tserver
    Affects Versions: 1.4.3
            Reporter: Sean Busbey
            Priority: Minor



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:

{noformat}
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


{noformat}

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.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to