Fixed Issues

4.4.0 (Latest)

These are the bugs we fixed in Kloudfuse Platform Release 4.4.0.

Alerts

FuseQL Logs Alerts Between UIs

FuseQL logs alerts now work across the two UIs. An alert saved in the new Kloudfuse UI can be edited and saved in the existing UI, where saving previously failed; an alert last saved in the new UI on Release 4.3.0 must be saved once in the new UI after the upgrade. An alert created in the existing UI now opens with its query in the new UI instead of an empty one.

Policy Health Findings

In the existing UI, the policy health findings list on the contact points page is no longer clipped, and can be scrolled.

Alert Query Interval Changed When Saved

Saving an alert rule in the new Kloudfuse UI no longer changes how it evaluates. Previously, saving could:

  • change the interval its query uses, for rules created in the existing UI;

  • rewrite a query you did not edit;

  • widen a lookback shorter than 5 minutes, such as over the last 1m, to 5 minutes.

Seasonal forecast alerts also get an Interval setting that follows the seasonality, as in the existing UI. Save affected rules again.

Imported Alert Rules That Never Evaluated

Importing alert rules in the new Kloudfuse UI whose queries have no datasource block now assigns each query the correct datasource in this environment. Previously these rules kept the source environment’s datasource and never evaluated. Re-import any rules imported this way: in the review step, choose Replace for each rule, and either clear the option to import it paused or resume the rules after the import.

LogQL Alerts Edited in the New UI

The new Kloudfuse UI no longer lets you edit or copy a LogQL alert. Previously, saving a LogQL alert there, even to change only its threshold, converted it to FuseQL and the rule stopped evaluating. Check any LogQL alerts that were edited in the new UI.

Alert Condition on the Wrong Query

Alerts created or edited in the new Kloudfuse UI now store the query or formula selected in the condition step. Previously they always stored the first query, so a condition on another query or on a formula evaluated the wrong query. Save affected rules again.

Warning Threshold Kept Firing on a Paused Alert

Pausing or resuming an alert in the new Kloudfuse UI now also pauses or resumes its warning threshold. Previously the warning threshold kept firing while the alert showed as paused. Pause such alerts again.

Renamed or Extended Contact Points

Renaming a contact point in the new Kloudfuse UI now moves its alert rules and routing to the new name; previously rules kept the old name and their notifications were not delivered. A destination added to an existing contact point is also no longer removed right after it is created. Check contact points that were renamed or extended in the new UI.

Change Alerts Grouped by Labels

Change alerts that group by labels were saved in a form that never evaluated when created or edited in the new Kloudfuse UI, including rules first created in the existing UI. Change alerts on a rate query with the default $__rate_interval range, or a subquery range, had the same problem. They are now saved correctly; save affected rules again after the upgrade.

Evaluate as Zero Setting Dropped on Save

Saving a metrics threshold or outlier alert in the new Kloudfuse UI no longer drops its Evaluate as Zero no-data setting, which changed how the rule evaluated, and the setting can now be chosen there. If an alert had Evaluate as Zero turned on before it was saved in the new UI, turn it on again.

Alert Notification Links With Special Characters

The Kloudfuse Source link in alert notifications now opens the alert details page filtered to the firing instance when a label value contains &, +, %, or =. Previously such values were cut short or changed, so the details page showed no matching instance. Links in existing rules are updated the next time the rule is saved in either UI.

Suppress Schedule Overwritten After a Load Error

In the new Kloudfuse UI, if a suppress schedule failed to load while you edited it, the page showed a blank schedule that could be saved over the real one, which muted every contact point that used the schedule at all times. The page now shows the error instead. A schedule that was already overwritten this way stays active at all times: check suppress schedules edited in the new UI, and set their recurrence again.

Dashboards

Panel Titles With Special Characters

Dashboards and panels whose titles contain characters outside the Latin-1 range, such as an em dash or an emoji, no longer fail to load their panel queries. In the new Kloudfuse UI this affected stat, gauge, bar gauge, and table panels; in the existing UI it affected every panel on the dashboard.

Control Plane and Service Pages Opened the Wrong Dashboard

Control Plane pages, and the Nodes and Volumes tabs of a service in the existing UI, now open the dashboard that ships with Kloudfuse. Previously, when a dashboard with the same title existed in another folder, they could open that dashboard instead.

Panels Saved in the New UI Went Blank in the Existing UI

Panels saved from the new Kloudfuse UI now render in the existing UI. Previously, metric time series panels edited in the new UI showed No data or a blank page in the existing UI, FuseQL log panels failed with a parse error, and charts added from the Logs, Traces, Events, or RUM explorers showed Failed to load panel. The existing UI now also displays panels that were already saved this way.

Dashboard Variables Edited in the New UI

Dashboard variables whose query is stored in object form, such as in dashboards imported from Grafana, now open correctly in the new Kloudfuse UI’s variable editor. Previously editing one there flattened its query, which also broke the variable in the existing UI. Check variables that were edited in the new UI.

Metrics

Metric Usage Query Activity

Metric Usage now records queries from the Metrics Explorer, from dashboards in either UI, and from recording, alerting, and SLO rule evaluations. Metrics that were queried only in these ways no longer appear as not queried.

Long Time Ranges in the Metrics Explorer

Label, label value, series, and metric name lookups over long time ranges no longer exhaust memory on the storage servers. By default, these lookups now search at most the last 30 days and return at most 50,000 results; longer ranges return the most recent 30 days, with a warning. To change the limits, set query-service.config.Metric.MaxMetaQueryLookbackDays (0 removes the time limit) and query-service.config.Metric.MetaQueryResultLimit.

Newest Data Missing Near the Current Time

Metric queries and alert rule evaluations that end near the current time and are served from rollups could miss up to several hours of the newest data, or show a dip at the right edge of graphs. They now read the newest part of the range from a finer rollup or from raw data.

Brief Dips in Histogram Bucket Increase

Queries that compute increase on histogram buckets and group by le, such as sum by (instance, le) (increase(http_request_duration_seconds_bucket[5m])), no longer show an occasional one-step dip on the lowest buckets. While the upgrade is rolling out, these queries can return errors until all pods run Release 4.4.0.

Classic Load Balancer 4XX Counts From CloudWatch

CloudWatch HTTPCode_ELB_4XX counts for classic Elastic Load Balancing load balancers are now stored as aws_elb_httpcode_elb_4xx instead of aws_elb_httpcode_elb_3xx, as described in AWS CloudWatch Metric Name Mapping. Names with a statistic suffix change the same way; for example, aws_elb_httpcode_elb_3xx_sum becomes aws_elb_httpcode_elb_4xx_sum. Older data keeps the old name, so update dashboards and alerts to the new name and, while older data is retained, combine both, for example sum(aws_elb_httpcode_elb_4xx{<filters>} or aws_elb_httpcode_elb_3xx{<filters>}).

Rollup Retention for Histograms and Derived Metrics

When a metrics retention policy sets a longer rollup retention, rollups of classic histograms, and of metrics generated from logs and traces, expired after the shorter raw retention. They now keep the rollup retention.

Top K by Label in the Metrics Query Builder

The Top K by label control in the new Kloudfuse UI’s metrics query builder now returns K series, grouped by the selected labels. Previously it returned the top K series within each label group, often many more than K. Dashboard panels and alerts built with it keep the old query until they are opened and saved again in the new UI.

Logs

Lookup Queries

Lookup and lookup-contains queries on logs no longer return wrong matches or fail when the field name and the table column name differ.

Lookup Tables With Very Long Values

Queries that use a lookup table no longer use large amounts of memory when a column of the table contains very long values. Lookup tables created before this release pick up the fix the next time they are refreshed.

Log Source Normalization Regressions in 4.3.0

Release 4.3.0 changed the source, agent, label, and level values of incoming logs for several agents. Logs are again normalized as in Release 4.2.4: OpenTelemetry logs no longer get a source of unknown and their agent is otlp again, remap rules without conditions apply to every agent, every matching rule applies, and archive rules that match on the log message take effect. A few deliberate differences from Release 4.2.4 remain; see Review Log Normalization Changes.

Aggregations on Built-in Fields

FuseQL aggregations and filters that refer to built-in fields by their kf_ names, such as kf_ts, kf_level, and kf_source, now return results instead of NaN, empty values, or a count of zero.

Limit After an Aggregation

A FuseQL query that ended in | limit N after an aggregation, such as * | count by (level) | limit 2, could return more than N groups, some of them with counts that were too low. It now returns N groups with their full counts.

Sorting Fingerprints

Sorting a fingerprint list by a facet that it is grouped on no longer fails with an internal error.

Wrong Facet Values on the Newest Logs

A logs query that read facet values from data still being ingested could occasionally show a neighboring log’s value for a facet, or fail with an internal error. These queries now return the correct value. Count queries that filter on two or more facets could also return wrong or empty counts on older log data; they now return correct counts.

Scheduled Views Stopped Updating

With the default settings in 4.3.0, a scheduled view could stop receiving new results after enough view data accumulated. Scheduled views now continue to update.

Events, APM, and Infrastructure

AWS EU ISO Regions

Tag lookups for Redshift, Glue, Athena, and SES resources in the AWS EU ISO regions now succeed; previously they used the wrong AWS partition and returned no tags.

Platform

Performance and Audit Logs

Performance and audit log lines are now parsed correctly, so their fields are faceted properly, and the request line is no longer blank for alert rule, scheduled search, and view evaluations.

Advance Functions Profiles

Profiles produced by advance functions are no longer occasionally rejected by the Pyroscope server because of invalid characters.

Storage Server Restart

Storage servers now load their data before they rejoin the cluster after a restart, which avoids long startup delays.

Storage Cluster Management Stall After a Failover

When management of the data store moved to another node while a lot of work was pending, it could stall, sometimes for hours, before it resumed managing data. It now resumes promptly.

Skipped Data After an Expired Read Position

When the data store’s saved read position in an ingest stream had expired, it resumed from the newest data and silently skipped the data still retained. It now resumes from the oldest retained data.

Archive Writer Pod Placement

Archive writer pods are now spread evenly across nodes as their topology spread constraints intend.

Retention in Weeks, Months, or Years

WEEKS, MONTHS, and YEARS are now supported, as 7, 30, and 365 days, and retention runs for these streams. Data written before the upgrade was marked to expire almost at once, so retention deleted almost all of it. A unit that is not recognized now stops ingestion services at startup instead of being read as milliseconds. See Supported retention units.

Paused Metric Shaping Rules

A paused shaping rule no longer keeps diverting its metric away from normal ingestion while the shaped metric is not being produced.

Retention Rules and API Key Labels

Retention, drop, and keep rules now match labels attached through an API key.

Ingestion Failures During Enrichment

A failed cloud resource lookup no longer crashes ingestion, and an error while reading New Relic entity labels no longer causes New Relic metric requests to fail.

Slow Kubernetes Object Updates Could Reject Other Ingestion

On clusters that report many Kubernetes objects, updates to the stored object state could block one another for tens of seconds. Meanwhile, some metric and log ingestion requests were rejected, and the database volume holding the object state could fill up.

These updates are now time-bounded, skip unchanged objects, and run with limited concurrency, and unused space in that table is reclaimed safely.

Data Store Container Resources

Setting resources under pinot.broker or pinot.server in your custom-values.yaml file no longer produces an invalid manifest; the values are now applied.

Moving Older Data to Long-Term Storage

On busy clusters, the periodic move of older data to the long-term storage servers could keep retrying for hours without moving any data. It now completes.

Hydration Log Parsing Used One Replica

When hydration log parsing ran with more than one replica, only the first replica did any work. All replicas now share the hydration workload.

Delay Before a New Archive Started Archiving

An archive created in the UI or through the API first read through all retained log data before it archived its first logs, which could take several minutes. A new archive now starts reading from the time it was created.

Archive Changes Applied on One Archive Writer Pod

An archive created, started, stopped, or deleted in the UI or through the API took effect only on the archive writer pod that handled the request until the pods restarted. It now takes effect on every archive writer pod.

Stuck Archive Loop

A stuck archive loop is now detected and restarted.

Scrub Jobs Left Some Matching Data

Scrub jobs now delete matching data from long-term metric rollups (metrics jobs), error spans (APM jobs), and vitals (RUM jobs). Previously this data was left in place while the job still reported success. A job now reports a failure if it cannot scrub some of the matching data. In the existing UI, the RUM scrub preview now also counts errors and vitals, so you can scrub a filter that matches only those.

Deleted Archives Shown as Falling Behind

After an archive was deleted, the archive dashboard kept showing it with growing lag for up to a week, and an archive re-created with the same name resumed from where the old one had stopped. Deleting an archive now removes its progress, including for archives deleted before the upgrade.

Slow Query Server Restart

After a restart, a query server of the data store could stay out of service for several minutes. It now rejoins the cluster quickly, including on the first restart after the upgrade.

Timed-Out and Cancelled Queries

Queries that time out, or are stopped because they use too much memory, now stop promptly and are reported as timed out or stopped, instead of as a general query error.

Ingest Requests Reported as Dropped

The dropped-requests count on the control-plane ingest dashboards included Datadog agent payloads that Kloudfuse accepts but intentionally does not store, so some routes appeared to drop most of their requests. The dropped count now includes only rejected requests and has a reason label; accepted payloads that are not stored are counted separately as ignored.

RUM Collector Container Resources

Resource requests and limits set under kfuse-rum-vector.resources in your custom-values.yaml file were ignored. They are now applied to the RUM collector pods.

Security

Forged Request Headers Could Bypass Access Controls

A signed-in user could add certain internal request headers to a query API call and have the query evaluated with another user’s access, or with access to all data. Kloudfuse now removes these headers at the ingress, and they can no longer replace the access that was resolved for the caller.

Live Tail and Log-Derived Metrics Without Log Access

A user with no log access policy, when the default log access is none, could use logs live tail and create, view, or delete log-derived metrics without any restriction on the data. These requests are now denied, and access-policy denials return 403 Forbidden instead of 401 Unauthorized.

Folder Mappings Endpoint Reachable From Outside the Cluster

The folder-mappings endpoint under /rbac is no longer reachable from outside the cluster.

Debug and Management Ports Open on the Pod Network

The Java debug and management ports on the data store pods accepted unauthenticated connections from anything that could reach the pod’s IP address. These ports now listen only inside the pod. Access through kubectl port-forward still works.

MCP Server

Tool Descriptions

Kloudfuse MCP server tools are easier for agents to call:

  • Tool descriptions are no longer truncated by clients that limit description length, and descriptions that led to common call errors are corrected.

  • search_log_fingerprints sorts by count in either direction, and by a facet it is grouped on, instead of failing.

  • Time parameters accept compound relative times such as now-2h30m.

  • A bare metric name in the matches parameter of the label search tools is no longer rejected.

4.3.0

These are the bugs we fixed in Kloudfuse Platform Release 4.3.0.

Logs

Fingerprint Download Pattern Column

Downloaded fingerprint results no longer have an empty pattern column.

Customer Filter Values

The customer-scoping filter in the logs view now lists every customer value, instead of only All and None on some deployments.

Sorting by Label and Paging

Sorting the logs list by a label and paging to the next page now works on every time window; it previously failed on short windows and omitted the newest data on longer ones.

Filtering From a Projected Label Column

Filtering from a log table cell whose column came from a label projection (for example | @kube_container_name as kube_container_name) returned no results and left a duplicate filter chip. The filter now matches the label correctly.

LogQL Offset Applied Twice

A LogQL range query with an offset modifier no longer shifts its window by twice the offset.

FuseQL if() With Text Matchers

A FuseQL if() whose condition uses a term or pattern matcher (such as matches) no longer fails with an unsupported-function error.

Events

Event Query Result Limit

Event count and time-series aggregations in the Events explorer were capped at 9,999 rows; they now follow the platform default limit. See Events API Reference for the current default limit on each Events API operation.

Alerts

Notification Template Editing

Creating or editing a notification template failed with an error, while listing and deleting still worked — so the screen looked healthy until you pressed save. Both write paths now work.

Alert Import

Importing alerts reported "0 alerts imported" for rules created in the built-in alert rule editor rather than the Kloudfuse alert form — including Kloudfuse-generated SLO and ASM rules — because the importer could not resolve their data source. Such rules now import correctly.

Multiple Contact Points

We fixed notification policy handling for alerts with multiple contact points, which could send duplicate notifications, fail to save with a permission error, and block users with folder edit permissions from editing the affected alerts.

Simplified-Routing Contact Points Preserved

Alert rules whose contact point is set through simplified routing no longer lose that setting when any rule in the same group is created, edited, or deleted, and the contact point is now displayed.

Alert Details Stability

The alert details view no longer crashes on alerts with an unrecognized type — for example a rule that reuses one of the annotation keys Kloudfuse reserves; see Alert Annotations.

Advanced PromQL Expressions

Editing an alert whose query uses advanced PromQL binary modifiers now falls back to the raw PromQL editor instead of corrupting the query.

Alert Step Field

The step field in alert query settings is now labeled preview-only: it affects only the preview chart, and the evaluation step is chosen automatically.

Alerts List Stability

One malformed alert rule no longer crashes the entire alerts list, and rules with an unreadable annotation are now skipped at import with the reason shown.

Anomaly and Forecast Alerts With No Data

An anomaly or forecast alert whose query matches no rows now evaluates as no data instead of failing on every evaluation.

Dashboards

Panel Menu Access

The panel menu is no longer hidden behind the loading overlay while a panel refreshes.

APM

Service Infrastructure Metrics

The infrastructure view on the APM service page now shows metrics only from the pods backing that service, instead of including unrelated pods.

Metrics

Shaping Rule Editing

Editing a metric shaping rule now shows the saved source metric and lets you add labels by typing them, a folder created from the form is selected automatically, and the drop preview no longer shows misleading zeros in edit mode.

Query Engine

Real Error Messages

More query failures now return their actual error message and remediation text instead of a generic "Request failed". See Standardized Query API Error Responses and API Response Codes.

Intermittent Query Engine Crashes

We fixed an intermittent crash in the query engine caused by a race while loading native libraries, by loading them at startup.

4.2.4

These are the bugs we fixed in Kloudfuse Platform Release 4.2.4.

Query Timeouts Not Honored

We fixed several query endpoints that ran with no overall deadline, and an explicit timeout above the configured ceiling is now capped. The timeout parameter passed to the metrics query APIs is also applied, instead of being ignored.

Controller OOM on Large Deployments

We fixed an out-of-memory condition affecting the Pinot controller on large deployments.

Log Label Value Time Range

We fixed source and level label value lookups, which ignored the selected time range.

Query Error Reporting

Log queries that fail partway through now report the actual error instead of an unrelated internal one.

Transformer Stall

We fixed a condition where a transformer could stop making progress on a partition that still had records waiting.

LogsV2 Customer Selection

Selecting a customer in LogsV2 now scopes queries; the selection was displayed but never applied.

LogsV2 Download Truncation

We fixed downloads that stopped early when a search crossed stretches of the time range with no matches.

LogsV2 Fingerprint Exclusion

Excluding more than one fingerprint in builder mode no longer fails with an unsupported operator error.

LogsV2 Mark as Favorite

We restored the mark as favorite action in the log detail drawer.

Log Panels Loading Indefinitely

Log dashboard panels that return no data now show an empty result instead of loading indefinitely.

Advanced Mode on Logs List Panels

We restored the advanced mode control on logs list dashboard panels.

FuseQL fillmissing Syntax Warning

Queries using the fillmissing operator no longer show an incorrect invalid syntax warning.

SLO Data Source Resolution

SLOs now resolve their data source by name, so they keep working when the numeric identifier changes.

Sign-In Cookie Race

We fixed a timing problem between cached and freshly issued session cookies that could interrupt sign-in.

4.2.3

These are the bugs we fixed in Kloudfuse Platform Release 4.2.3.

Query Service Error Messages

Metrics, logs, traces, events, and RUM query services now return user-friendly error messages for common failures instead of raw internal exceptions.

Controller OOM Under Heavy Segment Deletion

We optimized file deletion in the Pinot controller so that heavy segment cleanup no longer risks running the controller out of memory. Asynchronous temp-file deletion is now enabled by default.

Offline Server Memory During Log Search

Log searches over data with many facets could drive offline servers out of memory. These searches now use significantly less memory and release it promptly, so offline servers remain stable under heavy log search load.

Log Scheduled Views Facet Filter Performance

Facet filters on log scheduled views are now faster and use less memory. The contains, starts_with, and ends_with operators also now work in these filters, where they previously returned an error.

Grep Search in Log Aggregations

A grep search combined with other filters made log aggregations run orders of magnitude slower than the same query without it, even when both returned the same results. Aggregations such as count, grouped count, distinct, and minimum or maximum are now substantially faster in this case.

Broker and Server Memory Observability

Query operators now sample allocated memory periodically to improve OOM diagnosis, and broker and server logs report allocated memory alongside other memory statistics.

LogsV2 Export and Fingerprint Filters

LogsV2 export no longer drops rows across pages, and the editor-mode fingerprint filter supports both include and exclude selection.

LogsV2 Timeline Total Count

The LogsV2 timeline Total now counts events in the exact selected window instead of a wider range.

LogsV2 Sort by Timestamp

We fixed a LogsV2 sort clause that referenced the wrong FuseQL timestamp field name, so timestamp sorts now return results in the expected order.

APM Service Detail Span Names Search

We restored the search box on the span names table in the service detail view.

Long Error Toast Truncation

Long error toast messages are now truncated behind a Show more toggle so they no longer overlap other UI.

Alert Detail Metrics Chart Inline Error

When the metrics chart on the alert detail page fails to load, an inline error message now appears in place of a silent empty chart.

4.2.2

These are the bugs we fixed in Kloudfuse Platform Release 4.2.2.

Ingester Stall on Kafka Write Timeouts

We fixed a condition where a Kafka writer timeout could wedge the ingest path and stop log delivery.

Archive Writer Kafka Recovery

The archive consumer now stops on sustained Kafka fetch errors caused by stale leader metadata, instead of silently wedging, so the failure is visible and recoverable by restart.

Log Transformer Kafka Recovery

We fixed a condition where the log transformer’s Kafka reader could wedge on stale leader metadata, halting the flow of transformed logs. The reader is now rebuilt when this occurs.

Livetail Crash

We fixed a concurrent map access error that could terminate livetail sessions.

Deleted Segment Purging

We fixed purging of segments in Deleted_Segments, so deep storage is reclaimed instead of retaining deleted segments indefinitely.

RDS Allocated Storage

We fixed an integer overflow that produced incorrect AllocatedStorage values for RDS.

FuseQL timeslice on a Custom Field

We fixed timeslice when applied to a custom field.

FuseQL parse Alias Validation

An anchored parse pattern whose alias count does not match the number of extractions now returns an explicit error instead of silently dropping extractions or leaving aliases empty.

FuseQL Nested Math Expressions

The round, atan2, and hypot functions now accept nested expressions as arguments.

LogQL Regex Matching and Performance

We fixed regex anchoring and matching against multiline facet values, and routed regex matching on the log line to an index-accelerated matcher, improving query performance.

Duplicate Query Predicates

Queries with several label or line filters no longer emit redundant or duplicated predicates, reducing query time.

Fingerprints View Performance

The Fingerprints view now loads in a single query instead of one query per fingerprint.

Scheduled Search Run History

Scheduled searches detail and edit panels now show the five most recent runs instead of only the last run.

Scheduled Search Execution

We fixed concurrency defects in scheduled search execution.

Dashboard Collapsed Row Rename

Editing the title of a collapsed dashboard row no longer drops the panels nested inside it.

LogsV2 Negated Search Terms

A negated search term such as !error no longer collapses to an empty filter; the exclusion is applied and the filter renders correctly.

LogsV2 Fingerprints Row Overlap

Expanding a fingerprint row to show its full message no longer causes rows to overlap or clip while scrolling.

LogsV2 Customer Filter

On tenants with customer filtering enabled, the customer picker is available again in Logs, including in Live Tail and Lookup Table modes where the sidebar was previously hidden.

Metrics Cardinality Explorer Reset

The Reset control is now enabled after selecting a label with no values, so the selection can be cleared.

Metrics Cardinality Total Series

The total series count stays constant when a metric or label is selected; only the filtered counts change.

APM Service Alert States

Alert rules on the service detail page now show their state correctly when a folder contains more than one rule group, and the page no longer fails when a folder has no evaluated rule groups. The alert rules request is also scoped to the service’s folder, reducing page load time.

4.2.1

These are the bugs we fixed in Kloudfuse Platform Release 4.2.1.

FuseQL Error Handling and Query Correctness

We improved error handling, messaging, and correctness in FuseQL. Post-aggregation operators (where, topk, dedup) now preserve time and grouping keys, where and if accept all valid literal and expression operands, and queries that reference invalid post-aggregation fields or aggregate by _timeslice without a timeslice operator now return a clear validation error.

Dashboard Panel Export

We fixed dashboard panel exports so they emit the V1 wire format that downstream consumers expect.

LogsV2 Editor Mode

We fixed several issues in the LogsV2 editor: tabs no longer redirect unexpectedly, the group-by warning displays correctly, and the discard-changes modal closes cleanly.

LogsV2 FuseQL Quoted Values

We fixed a LogsV2 crash that occurred when FuseQL queries contained quoted values with colons or reserved keywords.

APM Service Filter Inline Edit

We restored inline editing on APM filter values. Only the service filter chip remains non-editable, with a tooltip explaining why.

Scheduled Search Dark Mode

We fixed visual issues on the Scheduled Search page in dark mode.

Logs Ingestion Stability

We fixed an issue where empty-key labels in ingested logs could prevent log segments from being sealed, blocking ingestion progress.

4.2.0

These are the bugs we fixed in Kloudfuse Platform Release 4.2.0.

Logs

Logs Query Stability

Fixed an issue where log queries that chained a parse, JSON, or advanced-function stage (for example cat | parse, | json) could hang or fail instead of returning results.

Logs Aggregation Results

Fixed an issue where some log aggregation results were missing rows because the underlying identifier was not included in the query.

Logs Pagination

Fixed an issue where scrolling through large log result sets could skip or duplicate entries when a page boundary fell between result windows.

Scheduled View Time Filter

Fixed an issue where the time filter on scheduled-view log queries was not always honored.

Logs Timestamp Formatting

Fixed an issue where an invalid timestamp could cause log date formatting to error instead of degrading gracefully.

Logs Analytics Empty State

Logs Analytics now shows the "no data" state only after a query has finished running, rather than while results are still loading.

Logs Facet Explorer

Fixed several issues in the logs facet explorer so facet values load and filter correctly.

Scheduled View Log Links

Fixed an issue where view names were incorrectly quoted in scheduled-view log links, so the links now open the expected logs.

Metrics

Histogram Quantile Accuracy

Fixed an issue where histogram_quantile results could be inaccurate when a classic histogram’s buckets straggled across storage segments, so percentile queries now reconcile bucket boundaries correctly.

PromQL Time Aggregation

Fixed an issue where functions that do not take a vector selector could be misclassified as time aggregations, producing incorrect query results.

Prometheus Range Values

Fixed an issue where Prometheus range values were not always parsed as numbers.

NaN Value Display

The UI now displays - for a NaN value instead of a misleading 0.00ns.

Dashboards

Template Variable Queries

Fixed an issue where the PromQL builder attempted to parse unsupported $__ template variables, causing query errors on affected dashboard panels.

Chart Warning Tooltip

Chart warning tooltips now appear instantly on hover so panel warnings are easier to see.

Alerts

Alert Action Notifications

Fixed an issue where pausing or resuming an alert could show both a success and an error notification at the same time.

Alert No-Data Evaluations

Fixed an issue where some series evaluations were missing from the no-data section of an alert.

Log Alert Query Toggle

Fixed a crash that occurred when disabling a selected query on a non-threshold log alert.

Alert Rule and Folder Names

Fixed an issue where rule and folder names containing special characters were not escaped correctly in alert matchers.

Log Alert Edit Mode

Fixed a visual flash that occurred when toggling the detection method while editing a log alert.

Traces and APM

Trace NOT Filter

Fixed an issue where a NOT filter with no operand produced malformed trace queries.

Span Name Facet Filters

Fixed an issue where backslashes in span_name facet filter values were not escaped, causing incorrect filtering.

Span-to-Log Correlation

Span logs are now correlated by trace ID across Datadog, OpenTelemetry, and AWS X-Ray traces.

RUM

RUM Session Queries

Fixed an issue where session queries that did not match the configured session fields could return an error instead of an empty result.

RUM Performance Page Search

Fixed the search bar on the RUM performance page.

RUM Facet Values

Fixed an issue where some RUM facet values were hard-coded or incorrectly capitalized.

Events

Event Facets and Labels

Fixed an issue where the event filter dropdown did not load all available facets and labels.

Ingestion

Cross-Account Ingestion

Fixed an issue with cross-account metric ingestion.

Metric Scraping Region

Fixed an issue with region handling during metric scraping.

Auth Key Label Mapping

Fixed the precedence used when mapping ingestion auth keys to their additional labels.

Administration

Updated By Attribution

Alerts and dashboards now show the username of the user who last updated them.

MCP OAuth Authorization

Fixed an issue in the MCP OAuth JWT path so the Authorization header is forwarded correctly, matching service-account behavior.

4.1.0

These are the bugs we fixed in Kloudfuse Platform Release 4.1.0.

Logs

Logs Key Exists Filter

Fixed an issue where the key exists log filter could be applied with an undefined source, causing queries to return incorrect results.

Logs Chart Empty State

Fixed an issue where the logs chart could remain in a loading state when a streaming query completed with no matching data.

Logs Analytics Error Display

Fixed an issue where Logs Analytics did not surface an error condition when a query failed.

Logs Analytics Warnings

Logs Analytics now surfaces backend warnings to the user when a query is partially served.

Logs RBAC View Queries

Fixed an issue where label-based authorization filters could be applied to log view queries that did not contain those labels, surfacing an UnknownColumnError to users with RBAC enabled.

Logs Dashboard Panel Editing

Fixed an issue where Logs panels added to dashboards could not be opened for editing because of an export-shape mismatch.

Logs Quoted Search Terms

Fixed an issue where a search term wrapped in single quotes could be dropped from the resulting log query.

Logs Advanced Function Operands

Fixed an issue with advanced function operands, and incompatible visualization tabs are now disabled when the active query cannot produce them.

Logs Multi-Value Emission

Fixed an issue where multi-value fields emitted by FuseQL queries did not align with the previous log query format.

Logs Object-Shaped Facets

Fixed an issue where object-shaped facet values could not be located in log events when looking up facet values from a row.

Metrics

Metrics Query Error Codes

The Metrics query service now returns an appropriate HTTP error code when the underlying engine returns an error, making client retry behavior more predictable.

Dashboards

Dashboard Template Variable Default

Fixed an issue where dashboards did not preserve a saved default value for template variables.

Dashboard Cell Layout Regression

Fixed an expandable-cell layout regression and made the fingerprint cell self-manage its expanded state.

Alerts

Alert Recovery Threshold Operator

Fixed an issue where the recovery threshold operator was inverted relative to the alert threshold operator.

RUM

RUM Tab Timing Layout

Fixed an issue where the session and view timing in the RUM Tab link area did not have consistent padding.

APM

APM Span Detail

Added a new API for retrieving span info that returns the correct values used by the APM trace detail panel.

Admin

Folder Permissions Propagation

Added a refresh button on the folder permissions panel and a note explaining the propagation delay after a permission change.

Audit Context Loading

Fixed an issue where the audit context did not load correctly, causing audit log details to be missing.

Audit Log Detail

Audit log entries now include additional context to make user-management actions easier to attribute.

Ingestion

Ingester Nil Dereference

Fixed a potential nil pointer dereference in the ingester error path.

Ingester HTTP Timeouts

Set explicit HTTP server timeouts on the ingester to prevent idle connections from accumulating over time.

Storage

Segment Upload Cancellation

Timed-out segment uploads are now cancelled cleanly so they do not consume broker resources after the deadline.

Segment Creation Metadata CRC

The segment creation metadata CRC is now re-stamped before the segment is tarred for upload, preventing CRC mismatches on the receiving side.

Segment Build Failure Metric

The segmentBuildFailure meter is now exposed via the JMX Prometheus exporter so segment-build failures can be alerted on.

4.0.2

These are the bugs we fixed in Kloudfuse Platform Release 4.0.2.

Stuck Loading Spinner After Query Error

We fixed dashboard panels and the metrics explorer showing a loading spinner indefinitely when a query timed out or errored after returning partial results.

Query Error Visibility

We fixed query errors being silently dropped when partial results had already loaded, for example when a metrics query exceeded the maximum number of returned data points. The error is now shown to the user instead of being hidden behind the partial results.

Unnecessary Background Queries on Logs Analytics Tab

We fixed unnecessary background queries continuing to run for the logs timeline chart while the user was on the Analytics tab, where the chart is not displayed.

Log Query Crash on Grouped Custom Facets

We fixed log queries failing with an internal error when the same custom facet or extracted field was used in both GROUP BY and an aggregation function within the same query.

Data Duplication After Failover

We fixed an issue where data could get duplicated after a failover.

Traces Missing from Results due to Special Characters

We fixed traces being silently excluded from search and analytics results when their attributes contained invalid characters, such as malformed emoji from LLM responses. These attributes are now sanitized during ingestion.

Uneven Log Ingestion Load Across Pods

We fixed an issue where logs for a particular retention tier could concentrate on a single ingestion pod instead of distributing evenly across all pods, causing uneven resource usage and reduced ingestion throughput.

Security CVE Patches

We patched several CRITICAL and HIGH severity vulnerabilities in bundled third-party JavaScript dependencies, including CVE-2025-62718 and CVE-2026-40175 (server-side request forgery and remote code execution in axios), GHSA-xq3m-2v4x-88gg (prototype pollution in protobufjs), and CVE-2026-23869 (denial of service in next).

4.0.1

These are the bugs we fixed in Kloudfuse Platform Release 4.0.1.

Logs

Log Query Service Stability

Fixed a crash in the log query service when running certain types of queries.

Lookup Table Preview

Fixed a crash when previewing lookup table results.

FuseQL concat() Function

Fixed the concat() function in FuseQL to correctly concatenate string values.

Metrics

Anomaly Forecast Bounds

Fixed an issue where anomaly forecast bounds were not displayed in the Metrics Explorer when querying a metric without an aggregation function.

Metrics Explorer Formula Stats

Fixed an issue where the Metrics Explorer did not display query statistics when using formula-only queries.

Alerts

Contact Points Scrolling

Fixed an issue where the contact points configuration table did not scroll properly when a contact point had many email recipients.

APM

Trace Heatmap

Fixed an issue where the trace heatmap did not render.

4.0.0

These are the bugs we fixed in Kloudfuse Platform Release 4.0.0.

SLO

SLO Folder Permissions

Fixed an issue where SLO create, edit, and delete operations did not enforce folder-level permissions.

SLO Folder Move

Fixed an issue where users could move an SLO from a folder they did not have access to. Both source and destination folder permissions are now checked.

SLO Edit with RBAC

Fixed an issue where editing an SLO failed when RBAC policies were enabled.

Alerts

Log Alert Editing

Fixed an issue where imported log-based alerts were not editable because the datasource UID was not matched correctly during import.

Dashboards

Dashboard Template Variable Reload

Fixed an issue where changing the dashboard time range triggered a full reload of all template variables, causing slow dashboard performance. Now only RUM template variables are re-fetched on time range changes; Prometheus and Loki template variables are preserved without re-querying.

Stat Panel Number Formatting

Fixed an issue where stat panels could display an invalid number of decimal places.

Metrics

Metrics Rollup Accuracy

Fixed accuracy issues with metrics rollup queries, including overcounting on counter resets and incorrect extrapolation.

Metrics Series Limit on Instant Queries

Fixed an issue where the default series limit prevented aggregation functions (count, sum, avg) from working on high-cardinality metrics.

Saved Queries

Saved Query Folder Permissions

Fixed an issue where deleting saved queries did not enforce folder-level permissions, allowing users to delete saved queries from folders they did not have access to.

3.5.3-p1

These are the bugs we fixed in Kloudfuse Platform Release 3.5.3-p1.

Scheduled Views Not Running

Fixed an issue where newly created scheduled views were sometimes not evaluated until the service was restarted.

Confirmation Dialog Hidden Behind Side Panel

Fixed a regression where confirmation dialogs were hidden behind the side panel overlay.

Dashboard Chart Error Handling

Fixed an issue where dashboard charts did not properly display errors on the first query failure.

Dashboard Template Variables

Fixed an issue where dashboard template variables were not updating when the date range was changed.

Dashboard Filter Chain

Fixed an issue where chained dashboard template variables were not updating dependent filters when a parent filter was changed.

Dashboard Text Filter Input

Fixed an issue where dashboard text filter inputs would revert to their previous value when attempting to edit or clear them.

Logs Panel Scrolling

Fixed an issue where scrolling within a Logs dashboard panel moved the entire browser window instead of scrolling within the panel.

Traces Sidebar Label Grouping

Fixed a regression where trace sidebar labels were all grouped under "custom" instead of being organized by prefix.

Metrics Query Performance

Fixed metrics query performance issues by leveraging rollup to reduce query latency.

Logs Parser Memory Growth

Fixed unbounded memory growth in the logs parser service in environments with frequent node recycling.

PostgreSQL Configuration

Fixed an issue where PostgreSQL max_connections was reset to the default value of 100 during upgrades.

Template Variable FuseQL Escaping

Fixed an issue where template variable values were not properly escaped in FuseQL queries.

Grafana Trace ID Search

Fixed an issue where searching by Trace ID in the Grafana UI failed to display trace details.

3.5.3

These are the bugs we fixed in Kloudfuse Platform Release 3.5.3.

Subquery Performance

We fixed a performance issue where log subqueries were re-executed for every result row instead of once, causing significant slowdowns on large result sets.

Compose Operator Ordering

We fixed non-deterministic filter ordering in the compose operator that could produce inconsistent query results between streaming and non-streaming execution.

Histogram Bucket Handling

We fixed histogram bucket handling when cardinality limits are applied, preventing incorrect histogram_quantile() results due to bucket boundaries going out of sync.

Metrics Query Response Size

We fixed an issue where certain metrics queries returned significantly larger responses than necessary, causing slow query performance.

Kinesis Log Tracking

We fixed Kinesis log ingestion not appearing in consumption and usage reporting.

Tooltip Display

We fixed an issue where chart tooltips were broken on displays with a device pixel ratio less than 1, such as certain remote desktop environments.

Merge Transformation

We fixed an issue where dashboard table panels using the merge transformation produced incorrect results when some queries returned empty data.

FuseQL Escaping

We fixed FuseQL queries containing double quotes and special characters not working correctly. Queries saved to dashboards no longer display extra escape characters.

Template Variable Defaults

We fixed single-select template variables not correctly applying their default values on dashboard load.

Label Value Picker

We fixed the label value picker select-all generating excessively long URLs that could break bookmarking and sharing.

Rate Control Display

We fixed the rate control page showing swapped allowed/dropped columns and incorrect percentage computation.

Ingestion Rate Precision

We fixed a bug where small configured ingestion rates were rounded to zero, causing all ingestion to be rejected after the initial burst.

Alert Query Escaping

We fixed double-escaping of alert queries that caused alert evaluation failures when queries contained special characters.

SLO Label Population

We fixed labels not being populated when editing an existing SLO, requiring users to re-enter label configurations.

SLO Group-By Graphs

We fixed the SLO budget graph not rendering correctly when viewing individual label groups.

Grafana Tempo Compatibility

We fixed compatibility with the latest Grafana Tempo plugin for trace tag autocomplete and query building.

Log Level Detection

We fixed log level detection for OTLP-sourced logs where the level was carried in agent-processed metadata, preventing incorrect classification based on message body content.

Timestamp Bounds Validation

We fixed timestamp bounds checking not being applied to agent and ingestion timestamp sources, allowing out-of-bounds timestamps to pass through without validation.

3.5.2-p2

These are the bugs we fixed in Kloudfuse Platform Release 3.5.2-p2.

Hydration Job List Display

We fixed an issue where the hydration job list would appear empty when archiveAddTags contains invalid JSON.

Panel Data Loading

We fixed an issue where dashboard panels were not correctly using their configured datasource and target settings, causing unreliable data loading.

Data Table Styling

We removed unnecessary borders in dashboard data table panels for cleaner visualization.

Lookup with Alias Fields

We fixed a bug where lookup operations with aliased fields would produce incorrect results.

Saved View Expiry

We corrected configuration handling for saved view expiration settings.

Reset Adjustment Merging

We fixed an issue where merging reset adjustments in point ranges could produce incorrect metric values, improving accuracy of counter reset handling.

Log Parsing (Concatenated JSON)

We fixed a regression where concatenated JSON payloads (for example, {"log":"a"}{"log":"b"}) were only parsing the first object, silently dropping subsequent log entries. This affected fluentd-json, fluent-bit-json, Datadog, and hydration ingestion paths.

Log Parsing (Heroku Format)

We fixed a regression where Heroku syslog messages were incorrectly wrapped in JSON instead of being passed through as raw messages. Decompression error metrics for Datadog payloads were also restored.

WebSocket Loading State

We fixed an issue where the loading state was not cleared after a query completed via WebSocket, causing the UI to appear stuck in a loading state.

3.5.2-p1

These are the bugs we fixed in Kloudfuse Platform Release 3.5.2-p1.

Dashboard Transpose Logs Table

Fixed an issue where transposed log tables were not rendering correctly in dashboard panels.

Dashboard LogQL Panel

Fixed an issue where LogQL-based panels were not working correctly in dashboard views.

Dashboard RUM Template Variables

Fixed an issue where dashboard template variables were not properly filtering RUM data in dashboard panels.

Dashboard Sparkline Visualization

Fixed an issue where sparkline charts were not showing all bars when a custom timeslice differs from the UI bucket size.

Alerts PromQL Parse

Fixed parsing issues with PromQL expressions in alert configurations.

Logs Anomaly Alerts Syntax

Fixed syntax handling for log-based anomaly alert definitions.

LogQL Regressions

Fixed regressions in LogQL implementation that affected query execution and result accuracy.

LogQL Compare Operator Panic

Fixed a panic when using compare operators in streaming queries.

LogQL Compare Timeshift Naming

Fixed column naming for minute-duration timeshifts in compare queries.

Streaming Aggregation NaN Handling

Fixed issues with NaN values and format function type mismatches in streaming aggregations.

LogQL Compose Operator

Fixed issues with compose operator returning incomplete results and not respecting subquery limits.

Metrics Rollup Performance

Fixed a performance regression in metrics rollup implementation.

Hydration Job Status

Fixed an issue where the hydration job status UI was blinking and not displaying status correctly.

Lookup Table Edit Corruption

Fixed an issue where editing lookup tables could corrupt data due to column order mismatch.

3.5.2

These are the bugs we fixed in Kloudfuse Platform Release 3.5.2.

Dashboard Pie Chart Colors

Fixed an issue where pie charts displayed different colors for the same data when switching between LogQL and FuseQL query modes.

FuseQL Duplicate Filter

Fixed an issue where switching from regular to advanced (FuseQL) mode duplicated the kube_cluster_name filter.

Logs Analytics Table Scroll

Fixed an issue where the logs analytics table had no scroll and content was cut off at the bottom of the screen.

Query Builder Toggle

Fixed an issue where toggling to advanced mode removed facet filters and queries were lost when switching between advanced search and query builder.

Streaming API Error Messages

Fixed an issue where FuseQL streaming API was not returning error messages to the UI, making query debugging difficult.

FuseQL JSON Multi Results

Fixed an issue where FuseQL json operator with multiple results caused UI errors.

Scheduled Search Creation

Fixed a hard crash on the scheduled search creation page.

Date Toggle Streaming

Fixed an issue where toggling the date picker stopped the streaming query for the chart in the logs page.

Lookup Table Duplicate Upload

Fixed an issue preventing re-upload of the same CSV file to lookup tables.

Ingester Type Length

Fixed an issue where the ingester k8s handler was attempting to write a type field exceeding 64 characters.

Group Sync Role Update

Fixed role update behavior when group sync is enabled in user management.

Dashboard Template Variable Bookmarking

Fixed a regression where dashboard template variable selections were not properly saved in bookmarked URLs. Template variable state is now correctly preserved when sharing dashboard links.

3.5.1-p2

These are the bugs we fixed in Kloudfuse Platform Release 3.5.1-p2.

Query Mode Switching

We fixed an issue where switching between advanced search and query builder modes did not work correctly in some cases.

Template Values in Logs

We fixed an issue where changing template variable values did not properly refresh log data in dashboard panels.

Logs Analytics Table

We fixed an issue where the logs analytics table would get cut off on smaller screens. The table now includes horizontal scrolling for tables with many columns.

RUM Multi-line Regex

We fixed an issue where regex matching in RUM queries did not work correctly for multi-line string values.

Control Plane Dashboard

We fixed the Pinot ingestion rate calculation in the control plane dashboard.

3.5.1-p1

These are the bugs we fixed in Kloudfuse Platform Release 3.5.1-p1.

FuseQL mode switching

We fixed an issue where switching from FuseQL mode to label/value chip mode was not working correctly in the query builder.

Alerts evaluation frequency grouping

We fixed alerts grouping to properly update based on evaluation frequency settings.

3.5.1

These are the bugs we fixed in Kloudfuse Platform Release 3.5.1.

Token Expired Redirect

Fixed an issue where users were not properly redirected to the login page when their session token expired.

Multiline Query on Windows

Fixed an issue where FuseQL multiline queries were not working correctly when accessed from Windows browsers.

toFloat Function in Logs

Fixed an issue where the toFloat function returned incorrect results when converting parsed log field values to floating-point numbers.

Heroku Log Parsing

Fixed an issue where Heroku log messages containing special characters were not parsed correctly.

CSV Download Missing Parsed Fields

Fixed an issue where downloaded CSV files from the Logs explorer had empty columns for fields parsed using FuseQL (such as | field as alias). The parsed fields displayed correctly in the UI but were missing from the exported CSV file.

3.5.0

These are the bugs we fixed in Kloudfuse Platform Release 3.5.0.

Trace download infinite loop

Fixed an issue causing an infinite loop when downloading traces.

Error group occurrence counts

Fixed incorrect occurrence counts displayed in the error group table.

Trace alert filter preservation

Fixed issues where trace alert filters were reset when navigating to alert creation.

Anomaly algorithm selection

Fixed anomaly algorithm selection not being carried over when creating alerts from metrics explorer with anomaly detection.

Text panel creation workflow

Fixed the text panel creation workflow in dashboards.

Large table performance

Fixed performance issues in dashboard panels with large tables.

Chart dimension shifting

Fixed chart dimension shifting when toggling between combined and non-combined queries.

Analytics visualization rendering

Resolved issues with analytics visualization rendering.

Legend display accuracy

Fixed inaccurate legend display and series counting.

FuseQL facet as column

Fixed query issues when using facet as column in FuseQL.

Operators on _timeslice

Fixed issue with operators on _timeslice column in FuseQL.

Scheduled view query results

Fixed display of scheduled view query results.

APM alert editing performance

Fixed performance issue causing hundreds of queries when editing APM alerts.

Alert annotation persistence

Fixed issue where deleted annotations reappeared on save.