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_intervalrange, 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(0removes the time limit) andquery-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
increaseon histogram buckets and group byle, such assum 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_4XXcounts for classic Elastic Load Balancing load balancers are now stored asaws_elb_httpcode_elb_4xxinstead ofaws_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_sumbecomesaws_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 examplesum(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
unknownand their agent isotlpagain, 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 askf_ts,kf_level, andkf_source, now return results instead ofNaN, empty values, or a count of zero. - Limit After an Aggregation
-
A FuseQL query that ended in
| limit Nafter 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.
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, andYEARSare 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
resourcesunderpinot.brokerorpinot.serverin yourcustom-values.yamlfile 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
reasonlabel; accepted payloads that are not stored are counted separately as ignored. - RUM Collector Container Resources
-
Resource requests and limits set under
kfuse-rum-vector.resourcesin yourcustom-values.yamlfile 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 Forbiddeninstead of401 Unauthorized. - Folder Mappings Endpoint Reachable From Outside the Cluster
-
The folder-mappings endpoint under
/rbacis 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-forwardstill 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_fingerprintssorts 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
matchesparameter 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
offsetmodifier 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 asmatches) 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.
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
timeoutabove the configured ceiling is now capped. Thetimeoutparameter 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
fillmissingSyntax Warning -
Queries using the
fillmissingoperator 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, andends_withoperators 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
AllocatedStoragevalues for RDS. - FuseQL
timesliceon a Custom Field -
We fixed
timeslicewhen applied to a custom field. - FuseQL
parseAlias Validation -
An anchored
parsepattern 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, andhypotfunctions 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
!errorno 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,whereandifaccept all valid literal and expression operands, and queries that reference invalid post-aggregation fields or aggregate by_timeslicewithout atimesliceoperator 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_quantileresults 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 aNaNvalue instead of a misleading0.00ns.
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_namefacet 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.
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 existslog 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
UnknownColumnErrorto 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.
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.
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
segmentBuildFailuremeter 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 BYand 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 inprotobufjs), and CVE-2026-23869 (denial of service innext).
4.0.1
These are the bugs we fixed in Kloudfuse Platform Release 4.0.1.
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.
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.
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.
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_connectionswas 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
archiveAddTagscontains 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
jsonoperator 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
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
toFloatfunction 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.