Skip to content

2026.09.37 — 2026-09-24

Added

  • Review each cluster's HA and clustering setup for known mistakes (7a6644d0)

    New screen: Configuration -> Setup review. Studio checks every cluster's high-availability, clustering, durability and message-safety configuration against 22 known mistakes. Each finding states what is wrong, what it costs, what each node reported, and the broker.xml that fixes it. Among them:

    • a single replication pair on quorum voting (critical). With one primary Artemis skips the vote, so the backup promotes itself on any partition and both halves serve clients. The finding offers a ZooKeeper lock manager, or three or more pairs, with a network pinger as the mitigation;
    • load balancing that relies on redistribution while redistribution-delay keeps its default of -1, which strands messages on a node whose consumers leave;
    • a connector advertising localhost, a cluster connection that does not see every live node, or one that is stopped;
    • persistence off, unbounded disk usage, no dead-letter address, unlimited redelivery, DROP when an address is full, security off, acceptors without TLS.

    The review is read-only: one batched Jolokia read per node, every 15 minutes (setupreview.interval) and on demand. A node that does not answer is named, and its earlier findings are kept as "not re-checked", never resolved. The review also names what the management API cannot show, such as network-check-list, rather than assuming it.

    A finding can be accepted as a known risk, with a reason and an optional expiry. The acceptance is audited, needs alert:write, and keeps the finding visible. A new alert condition, "Setup risk" (a rule-form template), fires per open critical or warning finding, and resolves when it is fixed or accepted. The MCP tool setup_review returns the latest review.

  • Email, Microsoft Teams and PagerDuty notification channels (ed195833)

    Alert rules can now deliver to three more kinds of channel, beside Slack and signed webhooks:

    • Email over SMTP: STARTTLS (required, never opportunistic), implicit TLS or plain; optional authentication; any number of recipients; HTML with a plain-text alternative.
    • Microsoft Teams, through a Workflows webhook (legacy connector webhooks also work), as an Adaptive Card.
    • PagerDuty Events API v2, US or EU region or any compatible receiver. Each firing subject opens one incident, and its resolution closes it; a retried delivery never opens a second one.

    Every notification now names the cluster, the subject in readable form (a node's name, not its id), the value and the time. Set ARTEMIS_STUDIO_PUBLIC_URL to add a link back to the cluster's alerts. The signed-webhook payload gains these as version 2 fields; every field it had before is unchanged.

    Settings -> Notification channels is rebuilt:

    • channels are added and edited in a per-kind editor, and can be disabled;
    • a configuration can be tested before it is saved, and the test states the receiver's answer and whether retrying could help;
    • each channel shows its last delivery, its last error and the last 24 hours' counts, and a delivery log;
    • a failed delivery can be retried once the channel is fixed;
    • deleting a channel states how many rules route to it and needs its name.

    API changes for integrators: POST /api/v1/channels/{id}/test now answers 200 with {delivered, permanent, error, durationMs}. A refused test is no longer a 502. POST /api/v1/channels/test, GET /api/v1/channels/{id}/deliveries and POST /api/v1/channels/{id}/deliveries/{seq}/retry are new. A channel's kind can no longer be changed on update. A new signed-webhook secret must be base64 of at least 16 bytes, as signing always required.

Fixed

  • Let a configuration-drift alert rule be saved (db69be58)

    Creating a rule on the "Configuration drift" condition, or from the rule form's configuration-drift template, failed with "This conflicts with something that already exists" (409). The API offered the condition, but the database check on alert_rule.state_condition still listed only the five conditions Studio first shipped with, so the row was refused. The check now admits CONFIG_DRIFT; no existing rule changes.

  • Accept parentheses around a column or a value in the SQL console (01353b6b)

    WHERE (priority) > (4) was rejected with "Not a column the dialect knows". The parser unwrapped JSqlParser's Parenthesis, which JSqlParser 5 never produces any more (it is deprecated for removal); a parenthesised term or literal now unwraps from the one-element list JSqlParser actually returns.

Apache-2.0. Apache ActiveMQ and Apache ActiveMQ Artemis are trademarks of the Apache Software Foundation. Artemis Studio is an independent project, not produced by, endorsed by, or affiliated with the ASF.