Clear and structured bug, improvement, and new feature request reports are always helpful for validating and fixing issues. In a few cases, we have received these reports with incomplete information which can cause a delay in the verification of issues. The most effective method to avoid this situation is to ensure complete information about the issue when filing a report.
In this post we will discuss:
- The best ways to report an issue for Percona products
- Including a “how to reproduce” test case to verify the issue
- The purpose of bug/improvement/new feature verification
https://jira.percona.com is the central place to report a bug/improvement/new feature request for all Percona products.
Let’s first discuss a few important entries which you should update when reporting an issue.
Project: The product name for which you wish to report an issue.
Issue Type: Provides options for the type of request. Example: Bug/Improvement/New Feature Request.
Summary: Summary of the issue which will serve as the title. It should be a one-line summary.
Affects Version/s: The version number of the Percona software for which you are reporting an issue.
Description: This field is to describe your issue in detail. Issue description should be clear and concise.
- Describe the actual issue.
- Add test case/steps to reproduce the issue if possible.
- If a crash bug, provide my.cnf and error log as additional information along with the details mentioned in this blog_post.
- In some cases, the supporting file for bug reports such as a coredump, sqldump, or error log is prohibitively large. For these cases, we have an SFTP server where these files can be uploaded.
- Provide the documentation link, describe what is wrong, and suggest how the documentation could be improved.
Improvement/New Feature Request:
- For new features, describe the need and use case. Include answers to such questions as “What problem it will solve?” and “How will it benefit the users?”
- In the case of improvements, mention what is problematic with the current behavior. What is your expectation as an improvement in a particular product feature?
Note: When reporting an issue, be sure to remove/replace sensitive information such as IP addresses, usernames, passwords, etc. from the report description and attached files.
Percona Server for MySQL and Percona Server for MongoDB are patched versions of their upstream codebases. It is possible that the particular issue originated from the upstream version. For these products, it would be helpful if the reporter also checks upstream for the same issue. If issues exist upstream, use the following URLs to report an issue for these respective products.
If you are a Percona customer, please file a support request to let us know how the bug affects you.
Purpose of Bug/Improvement/New Feature Request verification
- Gather the required information from the reporter and identify whether the reported issue is a valid bug/improvement/new feature.
- For bugs, create a reproducible test case. To effectively address, the bug must be repeatable on demand.
Any incorrect assumptions can break other parts of the code while fixing a particular bug; this is why the verification process is important to identify the exact problem. Another benefit of having a reproducible test case is that it can then be used to verify the fix.
While feature requests and improvements are about ideas on how to improve Percona products, they still need to be verified. We need to ensure that behavior reported as a new feature or improvement:
- Is not a bug
- Is not implemented yet
- For new feature verification, we also check whether there is an existing, different way to achieve the same.
Once bugs, improvement, and new features are validated, the issue status will be “Open” and it will move forward for implementation.