[pull] master from DataDog:master#480
Merged
Merged
Conversation
* Bump pytest and plugin dependencies to latest versions * Add changelog entry * Fix pytest 9 compatibility issues in integration tests - haproxy: Move skip logic inside version_metadata fixture instead of using a mark decorator (marks on fixtures are now errors in pytest 9) - presto, weblogic: Remove @pytest.mark.usefixtures from fixture functions (no-op that is now an error in pytest 9) - datadog_checks_base: Rename deprecated `path` parameter to `collection_path` in pytest_ignore_collect hook * Remove unused requires_static_version mark
Co-authored-by: github-merge-queue[bot] <118344674+github-merge-queue[bot]@users.noreply.github.com>
* update release branch create to bump current_milestone and create github milestone * lint * address codex review * changelog * fix linting * address review feedback - Use fetch + checkout -B off origin/master instead of checkout master - Add try/except around push with fallback instructions - Create PR automatically via GitHub API - Handle 422 (milestone already exists) gracefully - Enforce Path type in update_release_json, use read_text/write_text - Add test for update_release_json when file doesn't exist Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * add assertions for file creation in test_update_release_json_file_not_found Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * rewrite new tests to assert behavior, add error-path coverage - Rewrite test_create_branch_creates_milestone_and_pr to assert on output messages instead of exact mock call arguments - Add test_create_branch_milestone_already_exists (422 handling) - Add test_create_branch_push_failure (fallback instructions) - Add test_create_branch_pr_creation_failure (graceful degradation) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Address review feedback: improve error handling and test coverage - Extract milestone bump workflow into dedicated `bump_milestone()` helper - Catch `HTTPStatusError` directly instead of broad `except Exception` - Move httpx import to module level following Python best practices - Restore working directory to master after bump-branch operations via finally block - Include exception details in PR creation failure warning message - Add boundary test for large minor version rollover (7.99.x → 7.100.0) - Add round-trip key preservation assertion in update_release_json test - Add test for non-422 HTTP error propagation on milestone creation Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Improve error handling and test assertions - Protect finally block from masking original exceptions - Narrow PR creation catch from Exception to HTTPError - Add GitHub API call assertions (create_label, create_milestone) - Assert checkout master is the final git operation - Fix misleading error message for non-push git failures - Add from __future__ import annotations to test file Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Juanpe Araque <juanpedro.araque@datadoghq.com>
* [Release] Bumped datadog_checks_dev version to 37.0.0 * [Release] Update metadata
…or path (#23240) * [builders] Patch librdkafka use-after-free in admin coord_request error path Apply upstream fix (confluentinc/librdkafka#5397) for a use-after-free bug in rd_kafka_admin_coord_request() that causes process abort with assertion failure on eonce->refcnt. Affects DescribeConsumerGroups, DeleteConsumerGroupOffsets, ListConsumerGroupOffsets and similar coordinator-targeted Admin API operations. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * [builders] Comprehensive librdkafka eonce use-after-free fix Three fixes for the coordinator admin operation crash: 1. rdkafka_admin.c (worker_destroy): Skip enq_once_destroy() when in WAIT_RESPONSE state, as the broker thread may still hold a raw pointer to the eonce via the pending protocol response handler. Let enq_once_disable() in handle_response do the final cleanup. 2. rdkafka_coord.c (coord_req_fail): Guard against freed eonce by checking creq_reply_opaque for NULL before enqueuing a response. 3. rdkafka_coord.c (coord_req_fsm): When coord_request returns DESTROY (admin op already timed out), set creq_reply_opaque to NULL and clean up immediately instead of calling coord_req_fail. Tested against 55 real Kafka staging clusters with thousands of consumer groups. Baseline crashes every ~80 seconds; patched version runs indefinitely without crashes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* [nutanix] Migrate check to use ConfigMixin Replace raw self.instance.get() config access with typed self.config.* from ConfigMixin. Use check_initializations for deferred config parsing, HTTP_CONFIG_REMAPPER for credential passthrough, and direct config reads at call sites instead of cached boolean copies. * Address review feedback for ConfigMixin migration - Cast $samplingInterval to int to preserve Nutanix API compatibility (min_collection_interval is float in pydantic model) - Add custom validator for pc_ip to produce actionable error message - Fix _validate_filter_structure to handle None values from model_dump() - Restore pc_port fallback to 9440 for explicit null configs - Use self.pc_port instead of self.config.pc_port in error message - Simplify test exception match patterns * update base_backoff_seconds and max_backoff_seconds types to integer instead of number * Add changelog and merge initialization methods - Add changelog entry for improved configuration validation - Merge _parse_config and _initialize_check_attributes into single _initialize method - Fix backoff type annotations to match model (int, not float) * Rename _initialize to _initialize_check * Remove redundant pc_port fallback (model default handles it)
* turn off static analysis * turn off for all branches
* Apply `ignore_tags` filtering to dynamic tags in OpenMetrics v2 scraper `ignore_tags` was only filtering static tags (from the `tags` config option) at init time. Dynamic tags set via `set_dynamic_tags` (e.g. Kubernetes autodiscovery tags) bypassed the filter entirely. Store the compiled regex as an instance attribute and apply it in `set_dynamic_tags` as well. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Add changelog entry for ignore_tags dynamic filtering fix Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Auto-format test code Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix flaky celery E2E test by waiting for Flower endpoint - Use CheckDockerLogs with compose file and service parameter instead of hardcoded container name for more reliable log checking - Add CheckEndpoints condition to wait for Flower's /metrics endpoint before starting the agent, preventing "Could not find valid check output" failures * Disable redisdb autodiscovery in celery E2E environment * Remove Docker socket mount and log collection from celery E2E metadata The agent crashes with a "concurrent map writes" panic in the Docker socket tailer when log collection is enabled with the Docker socket mounted. This is an agent bug triggered by a race condition in DockerSocketTailer. Remove these settings since the celery check only scrapes Flower's OpenMetrics endpoint and does not need container log collection for testing.
* Bump datadog-checks-dev to 37.0 * Add changelog
* [DBMON-6430] Add explain plan collection for ClickHouse DBM - Add explain_plans.py with ClickhouseExplainPlans class: EXPLAIN PLAN json=1 execution, DBExplainError enum, two rate-limit TTL caches (_explained_statements_ratelimiter per query_signature at 1/hr default, _seen_samples_ratelimiter per (query_signature, plan_signature)) - Integrate into query_completions.py: collect plans after each batch of completed queries, emit via database_monitoring_query_sample - Add explained_queries_per_hour_per_query and explained_queries_cache_maxsize config options to query_completions spec.yaml; regenerate config models - Add EXPLAIN_PLANS feature key to features.py and wire into config.py - Add 19 unit tests in test_explain_plans.py Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Allowing for explain plans * Update changelog * Fix CI * Fixing codex comment on obfuscation * Addressing comments * Removing explain plans for every statement other than select * Fixing CI --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: github-merge-queue[bot] <118344674+github-merge-queue[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )