Skip to content
244 changes: 177 additions & 67 deletions docs/modules/getting-started/pages/support.adoc
Original file line number Diff line number Diff line change
@@ -1,81 +1,191 @@
= Get Support
:description: Hazelcast provides two types of support: one for the community and one for paying customers.
= Get support
:description: Hazelcast provides two types of support: one for {open-source-product-name} users and one for {enterprise-product-name} customers.

{description}

== Community Support
== Community support

Community support is for every Hazelcast user. You can use the following channels to get community support:
Community support is available to every Hazelcast user. You can use the following channels to ask for help:

* https://github.com/hazelcast/hazelcast[Hazelcast GitHub] (for reporting issues through our GitHub repository)
* https://slack.hazelcast.com/[Hazelcast Community Slack^].
* https://github.com/hazelcast/hazelcast[Hazelcast GitHub] to report issues through our GitHub repository.
* https://slack.hazelcast.com/[Hazelcast Community Slack^] workspace to ask for help from the Hazelcast user community.

== Customer Support
== Customer support

Customer support is for paying Hazelcast customers.
Hazelcast customer support is available to {enterprise-product-name} customers.
See https://hazelcast.com/services/support/?utm_source=docs-website[hazelcast.com^] for the support options.
A support subscription from Hazelcast will allow you to get the most value out of your
selection of Hazelcast. Our customers benefit from rapid response times to technical

A support subscription from Hazelcast provides rapid response times to technical
support inquiries, access to critical software patches, and other services which
will help you achieve increased productivity and quality. Learn more about Hazelcast support subscriptions:
https://hazelcast.com/pricing/?utm_source=docs-website[https://hazelcast.com/pricing/]

If your organization subscribes to Hazelcast support,
and you already have an account setup, you can login to your account and open
a support request using our ticketing system: https://support.hazelcast.com/s/?utm_source=docs-website[Hazelcast Support Portal].

When submitting a ticket to the team, please provide as much information and data as possible:

* Make sure that all your environments are capturing Hazelcast diagnostics logs.
This a primary on diagnosing issues with Hazelcast environments.
* If your environments are not capturing diagnostics logs, please update them to capture diagnostics logs.
* Make note of your issue with a clear description of the issue for a title text.
This will allow the team to route the issue to the proper expert
* Make a note of the steps to reproduce if possible.
If not please capture the sequence of events that led to the problem.
* Write a complete description of the problem along with any error found.
* Capture any relevant screenshots and or errors noted.
* Create a support ticket on https://support.hazelcast.com/s/?utm_source=docs-website[Hazelcast Support Portal].
* Attach the appropriate severity to the ticket.

=== Severity levels

* Level 1 is only for current outages in production environments, where there is no workaround.
* Level 2 is for current outages in production environments, but a workaround exists (e.g. directing users to static content).
* Level 3 is for issues in development, low-impact production issues, or to support analysis of a production issue which is no longer ongoing.
* Level 4 is for questions, suggestions, and all other issues.

=== Adding Details to the Support Ticket

* When you open a support ticket add a concise title and description of the problem.
* Add steps to reproduce as best as you can document them so that support can attempt
to reproduce the problem. This includes Detailed description of incident – what happened and when.
* Add a reproducible test case, this is optional - Hazelcast engineering may ask for it if required.
* Add details of use case. This is crucial as it helps support narrow down the features and
functionality in play when the problem occurred.
* Attach any specific errors found.
* Attach the complete logs files, i.e., Hazelcast logs.
* Attach Hazelcast process logs.
* Attach Hazelcast health monitor logs.
* Attach thread dumps from all members.
* Attach heap dumps.
* Add networking logs.
* Specify the time of incident.
* When providing Hazelcast logs, please make sure that the system and
environment details that are captured at system startup are included, even if you truncate the logs.
* Add Hazelcast diagnostic logs. Please do not truncate diagnostics logs. They only capture Hazelcast
systems specific information and details.
* Please make sure that the logs capture data around the date and time of the incident.

Please consider the above for prompt help from the team and note that the more information
is provided upfront the better.
Lastly, be prompt in your communication with Hazelcast support - helps to ensure timely resolution of issues.

== Developer Resources
https://hazelcast.com/pricing/?utm_source=docs-website[https://hazelcast.com/pricing/].

NOTE: You can create a support ticket using the https://support.hazelcast.com/s/?utm_source=docs-website[Hazelcast Support Portal].

The following section explains what information to collect and how to submit a ticket.

== Before submitting a ticket

To help Hazelcast Support diagnose and resolve issues quickly, provide as much accurate and complete information as possible. This section explains how to prepare your environment and what information and logs to collect.

=== Hazelcast configuration

Much of the information required to understand a Hazelcast deployment is contained in the configuration, such as the number of members that are running, and details of the servers or virtualized environments they're running on.

The Hazelcast configuration is supplied to a Hazelcast instance on startup in one of two ways:

1. xref:configuration:configuring-declaratively.adoc[Declaratively] by supplying the Hazelcast member with an XML or YAML file; or
2. xref:configuration:configuring-programmatically.adoc[Programmatically] by starting an embedded instance of Hazelcast with a `com.hazelcast.config.Config` object

You can provide the Hazelcast configuration to the Support team, either as an XML or YAML file, or the code blocks making up the `Config` object. Alternatively, you can obtain the configuration from each member in the cluster by visiting their member pages in the *Members* section of Management Center.

=== Client configuration

The Hazelcast clients also have their own configurations that determine their behavior and the features they utilize. Some clients, such as Java, .NET, and Node.js, can be configured declaratively or programmatically, while others, such as Go, Python, and C++, can only be configured programmatically.

You can provide the following for each Hazelcast client configuration:

[cols="2,2,2"]
|===
|Client type |Declarative |Programmatic

|Java
|XML, YAML
|Yes

|.NET
|XML
|Yes

|Node.js
|JSON
|Yes

|Go
|-
|Yes

|Python
|-
|Yes

|C++
|-
|Yes
|===

=== Hazelcast logs

The Hazelcast logs contain useful information when debugging an issue in a Hazelcast cluster. Each member has its own Hazelcast log, which typically includes:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per the style guide, bullets should end in full stops unless they're single words/phrases or links


- Metrics about the Hazelcast member, such as xref:maintain-cluster:monitoring.adoc#health-check-and-monitoring[HealthMonitor] output.
- Log messages indicating when Hazelcast clients connect and disconnect from the member.
- Details about xref:cluster-performance:threading.adoc#slowoperationdetector[slow operations].
- Stack traces.
- Other log messages regarding cluster health and performance.

We recommend you configure Hazelcast to use log4j, log4j2 or logback via slf4j. For more information, see xref:maintain-cluster:logging.adoc[].

TIP: Review the configuration of your logging framework to ensure Hazelcast logs are being kept for an appropriate amount of time, and that the correct log level is set (INFO by default).

=== Diagnostic logging

Hazelcast provides diagnostic logging capabilities that help with troubleshooting and monitoring.

An extended set of diagnostics plugins is provided for both Hazelcast members and clients. These can capture:

- Information about the Hazelcast build version
- Properties related to the Operating System, JVM, and Hazelcast configuration
- Details about the invocations run on the member
- State of the Hazelcast cluster
- A log of system events, such as cluster version changes, member additions and removals, etc.
- Map store metrics
- Details about the type and volume of operations run on the member
- WAN Replication diagnostic information

The Hazelcast configuration provides settings for the rotation and retention of these diagnostic log files. For more information, see xref:maintain-cluster:monitoring.adoc#diagnostics[Diagnostics].

NOTE: Do not truncate diagnostics logs. If you must truncate a log, ensure the startup section—containing environment and system details—is included.

=== JVM garbage collection logs

The JVM's garbage collection logs are often valuable in diagnosing performance problems in Hazelcast. Garbage collection (GC) logging is not enabled by default. We recommend you enable GC logging in production environments for performance analysis.

In Java 9 and above, the output file path is set using the `file=` parameter:

----
-Xlog:safepoint,gc+age=debug,gc*=debug:file=gc.log:uptime,level,tags:filesize=10m,filecount=10
----

For more information, see xref:troubleshoot:remedies-for-alerts.adoc#garbage-collection-logs[Garbage Collection Logs].

== Submit a support ticket

Create a ticket using the https://support.hazelcast.com/s/?utm_source=docs-website[Hazelcast Support Portal] and include the following information:

1. Title and description
+
Write a clear, concise title summarising the problem. In the description, provide:
+
- What you observed. Capture any relevant screenshots and or errors noted, and include the exact incident date and time
- What you expected
- Whether the issue is ongoing, intermittent, or resolved
+
2. Steps to reproduce
+
Document detailed steps so Support can attempt to reproduce the issue.
+
3. Optional reproducible test case
+
If available, include a minimal project or code sample that demonstrates the problem. Engineering may request this later if required.
+
4. Use case details
+
Explain how you use Hazelcast, including:
+
- Data structures involved
- Client types
- Cluster size
- Deployment environment (cloud, on-prem, containerised)
- Any recent changes (upgrades, configuration changes, scaling events)

=== Set the ticket severity

Choose the correct severity to ensure the issue is routed appropriately.

[cols="1,3"]
|===
|Severity |Description

|Level 1
|Current production outage with no workaround

|Level 2
|Current production outage with a temporary workaround (for example, serving static content)

|Level 3
|Development issues, low-impact production issues, or analysis of an incident that has already ended

|Level 4
|General questions, enhancement requests, or other non-critical issues
|===

After submitting your ticket, please respond promptly to any follow-up questions or requests for additional data as timely communication helps accelerate investigation and resolution.

== Summary

To ensure the fastest possible resolution:

• Keep diagnostics and logging enabled in all environments
• Collect detailed observations before submitting a ticket
• Provide complete, untruncated logs and diagnostics
• Include Hazelcast member and client configuration files
• Select the correct severity level
• Communicate promptly with Hazelcast Support

== Developer resources

* Hazelcast source code can be found at https://github.com/hazelcast/hazelcast[GitHub/Hazelcast^].
This is also where you can contribute and report issues.
* Hazelcast API can be found at https://docs.hazelcast.org/docs/latest/javadoc/[hazelcast.org/docs/Javadoc^].
* Code samples can be downloaded from https://github.com/hazelcast/hazelcast-code-samples[GitHub/hazelcast-code-samples^].
* More use cases and resources can be found at http://www.hazelcast.com?utm_source=docs-website[hazelcast.com^].
* xref:getting-started:support.adoc[Support information].
* Code samples can be downloaded from https://github.com/hazelcast/hazelcast-code-samples[GitHub/hazelcast-code-samples^].