Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
BIND
BIND
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 635
    • Issues 635
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 105
    • Merge Requests 105
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • ISC Open Source Projects
  • BINDBIND
  • Issues
  • #2082

Closed
Open
Opened Aug 19, 2020 by Brian Conry@bconryDeveloper

Cache Cleaning Diagnostic Information

  1. A counter in cachestats (JSON/XML) and ++ Cache Statistics ++ (named.stats) for the number of nodes without data
  2. A counter in cachestats (JSON/XML) and ++ Cache Statistics ++ (named.stats) for the number of deadnodes
  3. A counter in cachestats (JSON/XML) and ++ Cache Statistics ++ (named.stats) for the number of times that the function lib/dns/cache.c:incremental_cleaning_action is called
  4. A counter in cachestats (JSON/XML) and ++ Cache Statistics ++ (named.stats) for the number of times that the function lib/dns/cache.c:overmem_cleaning_action is called
  5. A counter in cachestats (JSON/XML) and ++ Cache Statistics ++ (named.stats) for the number of times that the function lib/dns/rbtdb.c:overmem_purge is called
  6. A counter in cachestats (JSON/XML) and ++ Cache Statistics ++ (named.stats) for the number of times that the function lib/dns/rbtdb.c:cleanup_dead_nodes is called

Additional logging at DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_CACHE, ISC_LOG_DEBUG(1) in the following functions:

  1. lib/dns/rbtdb.c:overmem_purge - log node name (local name plus tree origin?) purged; log mctx in_use delta for both heap and tree after the purge
  2. lib/dns/rbtdb.c:cleanup_dead_nodes - log bucketnum; log number of nodes purged; log mctx in_use delta for both heap and tree after the purge

Noting for the record that we already have CacheNodes/"cache database nodes" giving us the total node count.

Also noting that counts of fully expired and fully ancient nodes would be nice, but there aren't usually code events marking a node's transition from one group to another, so that will have to be something left for core dumps or full database traversals.

Finally, if this is to be prepared as a patch, can it please also include adding an INSIST(0) in lib/dns/rootns.c:dns_root_checkhints() immediately following the logging of "unable to get root NS rrset from cache"?

Edited Aug 19, 2020 by Brian Conry
Assignee
Assign to
April 2021 (9.11.30, 9.11.30-S1, 9.16.14, 9.16.14-S1, 9.17.12)
Milestone
April 2021 (9.11.30, 9.11.30-S1, 9.16.14, 9.16.14-S1, 9.17.12)
Assign milestone
Time tracking
None
Due date
None
Reference: isc-projects/bind9#2082