This page defines the basic rules for creating patches and commits for Flink


NOTE: As of now, these guidelines are being created and refined.


JIRA Issues
We encourage that commits are associated with JIRA issues, but we try to not create unnecessary overhead for small fixes.
Below are the rules when an issue must be created for a change, and when it can be omitted.


No issue is required for 
  • Small fixes like typos, simple warnings, adding/improving a comment

  • Adding and improving existing pages of the documentation

  • Simple improvements of style / elegance / efficiency (simple rewriting a loop / condition / method interaction) if no behavior is changed
==> Basically anything that does not change or add functionality

An issue is required for

Everything else, in particular:

  • Anything that changes functionality or behavior relevant to users

  • Anything that changes functionality or behavior relevant to other components

  • Anything that adds a feature
Multiple commits may refer to the same issue, if the issue is fixed in multiple steps.
[FLINK-1234] [runtime] Runtime support some cool new thing
[FLINK-1234] [java api] Add hook for cool thing to java api
[FLINK-1234] [scala api] Add hook for that thing to scala api
[FLINK-1234] [optimizer] Make optimizer aware that it can exploit this thing

Pull Requests

External contributions are submitted through pull requests.
Committers must also create pull requests to open their code for review.

Naming scheme for commits

The basic naming scheme for commits is 
[issue|hotfix] [component] Message
for example
[FLINK-9876] [streaming] Extend state checkpointing protocol

or

[hotfix] [docs] Extend state checkpointing protocol
Tags are encouraged, especially for changes that affect a single component. Changes that affect many components may omit the tag.
  • No labels