The following page is based on a discussion in May 2020 and more importantly another discussion in March 2021, the community agreed on the following definitions for the fields in the FLINK Jira project.
Goals
- clearer communication and expectation management with the community
- a user or contributor should be able to judge the urgency of a ticket by its priority
- if a ticket is assigned to someone the expectation that someone is working on it should hold
- generally reduce noise in Jira
- reduce overhead of committers to ask about status updates of contributions or bug reports
- “Are you still working on this?”
- “Are you still interested in this?”
- “Does this still happen on Flink 1.x?”
- “Are you still experiencing this issue?”
- “What is the status of the implementation”?
- while still encouraging users to add new tickets and to leave feedback about existing tickets
Definitions
Issue Types
Bug - bug or vulnerability
Improvement - improvement to existing functionality
New Feature - a new feature
Technical Debt - almost always non-end user facing, hence can be ignored by end users. Necessary refactorings, improvements & clean up that should have happened as part of feature development, but did not.
Tickets Priorities
Blocker - infrastructure failures, bugs that block us from releasing
Critical - test instabilities, security related issues, important components is non-functional for important use case
Major (default) - typical feature requests, bug that affects some use cases
Minor - nice to have feature requests, wishes, not necessarily under active development or discussion, catch all
Not a Priority - stale feature request or bug report
Tickets (except Not a Priority) need an assignee or an active public discussion otherwise their priority is slowly reduced up to "Not a Priority" automatically by the flink-jira-bot.
Corrollary
Only Bugs can be Blocker/Critical.
Component/s
Primary component relevant for this feature / fix.
For test-related issues, add the component the test belongs to (for example "Connectors / Kafka" for Kafka test failures) + "Tests".
The same applies for documentation tickets. For example, if there's something wrong with the DataStream API, add it to the "API / DataStream" and "Documentation" components.
Versions
Affects Version/s:
Only for Bug / Task-type tickets: We list all currently supported and unreleased Flink versions known to be affected by this.
Example 1: If I see a test failure that happens on "master" and "release-1.11", I set "affects version" to "1.12.0" and "1.11.0".
Example 2: If a bug is found in Flink 1.8.1, it "Affects Version/s": 1.8.1, 1.9.3, 1.10.0 (this example assumes 1.9.3 to be the last stable 1.9.x release, and 1.10. to be unreleased)
Fix Version/s:
For closed/resolved tickets, this field lists the released Flink versions that contain a fix or feature for the first time. Note, if an issue is fixed in "1.11.0", then this fix is implicitly included in "1.12.0" as well. This rule does not apply to 1.11 releases after 1.11.0 (e.g 1.11.x where x >= 1).
For open tickets, it indicates that a fix / feature should be contained in the listed versions. Only blocker issues can block a release, all other tickets which have "fix version/s" set at the time of a release and are unresolved will be moved to the next version.
Assignee
Person currently working on the ticket. Assigned after conclusion on approach by a committer. Assigned tickets need a regular update otherwise they are automatically unassigned by the flink-jira-bot.
Often, fixes are obvious and committers self-assign w/o discussion.
Resolve / Close
You can either Resolve or Close a ticket once it is done (fixed, rejected, invalid, ...).
As a rule, we Close tickets instead of Resolving them when they are done.
Labels
Label | Description |
---|---|
test-stability | Test stability issues that cause our CI to fail. |
starter | Jira issues that can be picked up by contributors that are not necessarily familiar with Flink-internals, yet, but want to contribute. |
usability | Labels Jira issues that cover improvements in usability of Flink |
release-testing | Labels Jira issues that are created as part of the release testing phase at the end of a Major/Minor release cycle |
stale-blocker | A Blocker ticket without an assignee or public discussion. It is about to become "auto-deprioritized-blocker" by the flink-jira-bot. |
stale-critical | A Critical ticket without an assignee or public discussion. It is about to become "auto-deprioritized-critical" by the flink-jira-bot. |
stale-major | A Major ticket without an assignee or public discussion. It is about to become "auto-deprioritized-major" by the flink-jira-bot. |
stale-minor | A Minor ticket without an assignee or public discussion. It is about to become "auto-deprioritized-minor" by the flink-jira-bot. |
auto-deprioritized-blocker | A Blocker ticket that has automatically been moved to Critical by the flink-jira-bot. |
auto-deprioritized-critical | A Critical ticket that has automatically been moved to Major by the flink-jira-bot. |
auto-deprioritized-major | A Major ticket that has automatically been moved to Minor by the flink-jira-bot. |
auto-closed | A Minor ticket that has automatically been closed by the flink-jira-bot. |
stale-assigned | A Major+ ticket that is assigned but has not received an update for some time. It is about to become "auto-unassigned" by the flink-jira-bot. |
Auto-unassigned | A Major+ ticket that has been automatically unassigned by the flink-jira-bot. |
Release Note IMPORTANT
The release notes for a release are composed of the release notes of each of the tickets. Keep it brief, but documented important changes, specifically breaking ones.
Notes
- All other fields are not used not used on a regular basis.
- Tickets relating to the Project Website do not have an "Affects" or "Fix" version. Flink-statefun and flink-shaded have their own versions.
Flink Jira Bot
The Flink Jira Bot is located in https://github.com/apache/flink-jira-bot and it is run on a daily basis via GitHub Actions.
The rules that is enforces are documented in detail in its repository: https://github.com/apache/flink-jira-bot#about-the-rules
2 Comments
Konstantin Knauf
Should we move this page one level up?
Chesnay Schepler
Let's move it up one layer and then list it under infrastructure on the home page.