Hi Steve, The query you posted looks like the inactive_nodes CTE that's used as a default filter which strips inactive or deactivated nodes from the response. As far as I know it should show up on any query and I don't think it's related to gc in this case.
On Monday, August 20, 2018 at 5:03:28 AM UTC-7, Steve Traylen wrote: > > > > Hi, > > We recently upgraded to puppetdb 4.4. > > There is query that takes a while to run, 3 or 4 minutes though we are > unsure of why it is even running. > > The query below looks related to some kind of clean up or garbage > collection however this particular puppetdb node has two relevant > properties: > > * gc-interval is set to 0 and indeed there are no gc events in the logs. > * This particular node only receives /pdb/query requests and no /pdb/cmd > requests. We have always and still do dedicate nodes to command and query > traffic by redirection at haproxy level. > > What is the action that triggers the query below. > > WITH inactive_nodes AS (SELECT certname FROM certnames WHERE (deactivated > IS NOT NULL OR expired IS NOT NULL)) SELECT fs.certname AS certnam e, > fp.name AS name, f.value AS value FROM factsets fs INNER JOIN facts f ON > fs.id = f.factset_id INNER JOIN fact_paths fp ON f.fact_path_id = fp.id > INNER JOIN value_types vt ON vt.id = f .value_type_id LEFT JOIN > environments env ON fs.environment_id = env.id WHERE (fp.depth = 0 AND > (((((fs.certname) in ( (SELECT fs.certname AS certname FROM factsets fs > INNER JOIN facts f ON fs.id = f.factset_id INNER JOIN fact_paths fp ON > f.fact_path_id = fp.id INNER JOIN value_types vt ON f.value_type_id = > vt.id LEFT JOIN environments env ON fs.environment_id = env.id WHERE ( > vt.id <> 5 AND ((fp.path = $1) AND (f.value_string = $2)))) ) ) AND > ((fs.certname) in ( (SELECT fs.certname AS certname FROM factsets fs INNER > JOIN facts f ON fs.id = f.factset_ id INNER JOIN fact_paths fp ON > f.fact_path_id = fp.id INNER JOIN value_types vt ON f.value_type_id = > vt.id LEFT JOIN environments env ON fs.environment_id = env.id WHERE ( > vt.id <> 5 AND ((fp.path = $3) AND (f.value_string = $4)))) ) )) AND (( > fp.name = $5) OR (fp.name = $6))) AND NOT ((fs.certname) in ( (SELECT > inactive_nodes.certname AS certname FROM inactive_nodes) ) ))) > > Steve Traylen. > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/ac4beffa-27f0-41d8-9914-0ff34805da36%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
