Skip to content

[pull] master from DataDog:master#652

Merged
pull[bot] merged 2 commits into
ConnectionMaster:masterfrom
DataDog:master
Jul 10, 2026
Merged

[pull] master from DataDog:master#652
pull[bot] merged 2 commits into
ConnectionMaster:masterfrom
DataDog:master

Conversation

@pull

@pull pull Bot commented Jul 10, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

dd-octo-sts Bot and others added 2 commits July 10, 2026 10:22
* Update dependencies

* Fix changelog PR numbers

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Pin redis, pymysql, cryptography back to master versions

These three bumps break redisdb (redis 8 RESP3/HELLO), mysql+proxysql
(pymysql 1.2 SSL default), and tls + macos-x86_64 build (cryptography 49).
Pin them back so the remaining ~23 safe bumps can land green; the breaking
bumps will be handled in dedicated follow-up PRs with integration fixes.

Removed now-orphaned changelog entries for integrations whose only bump was
one of the pinned packages (redisdb, proxysql, cacti, cisco_aci, http_check,
singlestore).

* Pin pyopenssl back to 26.2.0 (requires cryptography<49)

pyopenssl 26.3.0 depends on cryptography>=49, which conflicts with the
cryptography==48.0.1 pin and made the dependency set unresolvable. Pin
pyopenssl back to master's 26.2.0 (compatible with cryptography 48).

* Sync kueue kubernetes pin to 36.0.2 after merging master

Master added the kueue integration (pinned kubernetes==35.0.0) after this
PR was opened; the PR bumps the Agent to kubernetes==36.0.2, so the merged
tree was inconsistent. ddev dep sync aligns kueue to 36.0.2.

* Update dependency resolution

* Pin kubernetes back to 35.0.0 to cut Agent size growth

The kubernetes client wheel jumped 1.92MB -> 4.40MB between 35.0.0 and
36.0.2 (+2.48MB), ~70% of this PR's total dependency size growth, tripping
the Agent static quality gate. Nothing here needs kubernetes 36, so pin it
back. This also realigns kueue/kubevirt_api with master (orphaned changelog
entries removed).

* Update dependency resolution

---------

Co-authored-by: FlorentClarret <1266346+FlorentClarret@users.noreply.github.com>
Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: dkirov-dd <dkirov-dd@users.noreply.github.com>
Co-authored-by: dd-agent-integrations-bot[bot] <dd-agent-integrations-bot[bot]@users.noreply.github.com>
…endpoint mode (#24266)

* Collect standard system-table metrics per node in single endpoint mode

In single endpoint mode the agent reaches a multi-node ClickHouse cluster
through one load balancer, but the standard metric queries read per-node
system tables directly (bare system.events/metrics/errors). Consecutive
scrapes land on different nodes, so cumulative counters appear to jump up and
down and the backend reports phantom monotonic_count spikes such as the false
clickhouse.query.failed.count in SDBM-2746.

Route the bulk-match metric queries and system.errors through
clusterAllReplicas() and tag each row with hostName() when single_endpoint_mode
is enabled, giving each node its own metric series (counters increment
monotonically per node; gauges stop flapping). Direct connections are
unchanged. system.parts/replicas/dictionaries use GROUP BY and are left for a
follow-up.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Add changelog entry

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* refactor(clickhouse): simplify make_cluster_aware with regex subn

Replace the manual search + start()/end() slicing with a single
SYSTEM_TABLE_FROM_CLAUSE.subn() pass (count=1). The regex now consumes
the whitespace before FROM so the per-node projection splices in without
a gap before the comma, keeping the rewritten query byte-for-byte
identical. Output and behavior are unchanged; all unit tests pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* style(clickhouse): fix ruff format of assert message in test_unit

ruff 0.11.10 reformats the parenthesized assert condition back to the
trailing-message form. Apply it so `ddev test --fmt` / CI lint passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* refactor(clickhouse): trim make_cluster_aware docstring to a one-liner

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Replace runtime regex with static cluster-aware query variants

Instead of rewriting system-table metric queries with a regex at runtime,
define static cluster-aware query variants and select them in get_queries()
based on single_endpoint_mode.

- Add cluster_aware_query() helper in utils.py that reuses the base query's
  columns by reference (no duplication) and appends the clickhouse_node tag.
- Define legacy variants in queries.py and advanced variants in
  advanced_queries (JSON-backed via load_match_query + SystemErrorsClusterAware).
- Remove import re, SYSTEM_TABLE_FROM_CLAUSE, and make_cluster_aware().

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Drop ticket number from test docstring

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Simplify cluster_aware_query to derive SELECT/table from base query

cluster_aware_query now takes only the base query dict and derives the
SELECT list and table from base['query'], so call sites no longer restate
column lists or table names. load_match_query reverts to its original
signature; __getattr__ wraps the loaded query for ClusterAware names.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Build cluster-aware variants inline in get_queries

Drop the static *ClusterAware definitions and the __getattr__ suffix
handling; get_queries wraps each base query via cluster_aware_query() when
single_endpoint_mode is on. queries.py and advanced_queries revert to base;
the change now touches only utils.py, clickhouse.py, and the tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Jul 10, 2026
@pull pull Bot added the ⤵️ pull label Jul 10, 2026
@pull pull Bot merged commit d56a556 into ConnectionMaster:master Jul 10, 2026
8 of 10 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant