The Best Way to Get Help in the Forum

The best way to get help in the forum is to provide steps to reproduce your issue, ideally a Minimal Reproducible Example (MRE).

See this Stack Overflow post: How to create a Minimal, Reproducible Example, for more information on creating an MRE.

We’re never going to close a thread saying “Sorry, cannot reproduce!

However, following the discipline of providing an MRE helps others to help you faster. It means that they have the contextual information needed to accurately diagnose your problem (or point you in the right direction).

Sometimes, you can find the solution yourself while creating an MRE.

Often when you “find yourself at a dead-end” with no obvious path forward, it is because a step was missed, or a wrong turn taken earlier. By recounting the steps you took to arrive where you are, you give others the opportunity to see something you missed.

Sometimes it turns out to be a bug, or the system doesn’t work the way that you think that it does, so it is actually working, but just not as expected.

Remember: as a general principle, more information is better. You want to give enough information for someone else to be able to (at least theoretically) walk through the exact steps you took to reach the point that you have. Imagine that they can get any computer, install anything on it, and then configure the system to be exactly like yours (sometimes they can). Give enough information for them to do that.

If you have code or configuration (like Kubernetes manifests) and can share them on GitHub, even better.

Examples

A problem that turned out to be a misunderstanding

See this example of a Zeebe MRE for what turned out to be a misunderstanding about how the system works.

This example has a few features that make it a good example:

  • Actual / Expected Behaviour is explicitly spelled out
  • Sufficient steps to reproduce

A problem that turned out to be a bug

Here is an example of an Zeebe MRE that turned out to be a bug in the broker.

It has the same features as the previous example. It is also structured to make it easy for someone else to run it on their machine.

Here are some general examples to give you more of an idea of how to present your scenario and query in the best way to get help fast:

Getting help with the broker

Bad

Zeebe broker doesn’t start on my machine.

Better

When I try to start Zeebe I see this error message: <stack trace>

Good

I’m running Mac OS 10.14.4, with Docker 2.0.0.3 (31259).

I clone the zeebe-docker-compose repo and cd into the broker-only directory. When I run docker-compose up, I receive the following error message: <error_message>

Getting help with programming

Bad

How do I Java?

Better

I can’t get the Java client to work. I keep getting an error: <error_message>.

Good

I’m using Windows 10 with OpenJDK 1.8, and Maven 3.6.1.

I am following the Getting Started Guide for the Java Client here.

When I run the mvn command in the Set up a project section:

mvn archetype:generate
    -DgroupId=io.zeebe
    -DartifactId=zeebe-get-started-java-client
    -DarchetypeArtifactId=maven-archetype-quickstart
    -DinteractiveMode=false

I get the following error: <error_message>.

2 Likes