Skip to content

Log ZooKeeper-backed property changes#6465

Open
DomGarguilo wants to merge 1 commit into
apache:mainfrom
DomGarguilo:log-config-property-changes
Open

Log ZooKeeper-backed property changes#6465
DomGarguilo wants to merge 1 commit into
apache:mainfrom
DomGarguilo:log-config-property-changes

Conversation

@DomGarguilo

Copy link
Copy Markdown
Member

Fixes #6254

Adds INFO logging for property changes.

  • Logs set, remove, and modify operations for system, resource group, namespace and table properties
  • Log output includes user, scope, target, property and value
  • Sensitive props values are redacted

Here is some corresponding shell and logs:

root@uno> createtable config_log_table
root@uno config_log_table> config -t config_log_table -s table.custom.owner=dom
root@uno config_log_table> config -t config_log_table -s table.custom.owner=domG
root@uno config_log_table> config -t config_log_table -s table.custom.owner=domG
root@uno config_log_table> config -t config_log_table -d table.custom.owner
root@uno config_log_table> createnamespace config_log_ns
root@uno config_log_table> config -ns config_log_ns -s table.custom.owner=dom
root@uno config_log_table> config -ns config_log_ns -d table.custom.owner
root@uno config_log_table> config -s general.custom.test=abc
root@uno config_log_table> config -d general.custom.test
root@uno config_log_table> createresourcegroup config_log_rg
root@uno config_log_table> config -rg config_log_rg -s tserver.group.major.compaction.concurrent.max=2
root@uno config_log_table> config -rg config_log_rg -d tserver.group.major.compaction.concurrent.max
~ tail -f ~/github/fluo-uno/install/logs/accumulo/manager_default_1_thor.log | grep 'accumulo.configuration'
2026-07-07T16:43:39,880 Thread[126] [accumulo.configuration] INFO : action=set; user=root; scope=table; target=config_log_table; property=table.custom.owner; value=dom;
2026-07-07T16:43:45,559 Thread[182] [accumulo.configuration] INFO : action=set; user=root; scope=table; target=config_log_table; property=table.custom.owner; value=domG;
2026-07-07T16:43:48,830 Thread[111] [accumulo.configuration] INFO : action=set; user=root; scope=table; target=config_log_table; property=table.custom.owner; value=domG;
2026-07-07T16:43:58,552 Thread[108] [accumulo.configuration] INFO : action=remove; user=root; scope=table; target=config_log_table; property=table.custom.owner;
2026-07-07T16:44:33,328 Thread[140] [accumulo.configuration] INFO : action=set; user=root; scope=namespace; target=config_log_ns; property=table.custom.owner; value=dom;
2026-07-07T16:44:41,290 Thread[105] [accumulo.configuration] INFO : action=remove; user=root; scope=namespace; target=config_log_ns; property=table.custom.owner;
2026-07-07T16:44:59,034 Thread[110] [accumulo.configuration] INFO : action=set; user=root; scope=system; target=system; property=general.custom.test; value=abc;
2026-07-07T16:45:10,810 Thread[181] [accumulo.configuration] INFO : action=remove; user=root; scope=system; target=system; property=general.custom.test;
2026-07-07T16:45:35,614 Thread[139] [accumulo.configuration] INFO : action=set; user=root; scope=resourceGroup; target=config_log_rg; property=tserver.group.major.compaction.concurrent.max; value=2;
2026-07-07T16:45:44,676 Thread[108] [accumulo.configuration] INFO : action=remove; user=root; scope=resourceGroup; target=config_log_rg; property=tserver.group.major.compaction.concurrent.max;

@dlmarion

dlmarion commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

I would suggest moving the logging to PropUtil, which is called from the ManagerClientServiceHandler for RPC calls, but also ZooPropEditor and a couple other places. It might be useful to add a commented-out logger configuration to the log4j-service.properties file like we do for the audit configuration too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Determine when table properties have been set or modified

2 participants