Status

Current state: ACCEPTED

Discussion threadhttp://mail-archives.apache.org/mod_mbox/samza-dev/201912.mbox/%3CCAMja7KeQr9C048UVZwfSC46h%3DEX_9S%2BSEvMF9NPg0V5dPTPfZg%40mail.gmail.com%3E

Goal

Create informative, discoverable and consistent PR titles and descriptions.

Motivation

  • Helps create accurate changelogs, release notes and upgrade instructions at release time.
  • Helps observe changes going in to the codebase and get an idea of what's happening.
  • Helps reviewers get necessary context to do code reviews.
  • Helps improve code quality wrt. testing and documentation.
  • Helps identify relevant changes when debugging issues.

Proposed Changes

Title Format

The title of the PR must be in the following format:

SAMZA-1234: Brief description of the PR.

For features and bug fixes, a JIRA ticket under the SAMZA project is required.

Only allowed exceptions for not including a ticket are minor documentation fixes, minor build failure fixes (e.g. license check or checkstyle), and cherry-picks to release branches. In these cases, title should use DOCS or BUILD or MERGE or CHERRY-PICK instead of the SAMZA ticket number.

Description Format 

Committers must ensure that the following sections are present in the description section for each PR based on the type of the PR.

For bug fixes

Symptom: What the user visible symptom is. E.g., Container fails to start with exception ...

Cause: Explain why this is happening. E.g., OffsetManager expects checkpoint to be ...

Changes: Explain what change were made to fix this. E.g., OffsetManager now handles ...

Tests: Explain how the issue was reproduced and the fix was verified (ideally with unit and/or integration tests).


For refactors

Issues: Describe issues with the current implementation that the change is fixing.

Changes: Describe major changes, listing each separately.
	1. Renamed TaskConfig#foo to TaskConfig#bar.
	2. Moved all usages of SomeClass#someMethod to SomeUtil#someMethod

Tests: Describe testing done to verify functional parity.


For new features

Feature: Link to the SEP / design doc / one pager if one is available (preferred). If not
	1. 
Explain why we are adding this feature. If user facing, explain why this will be useful for them.
	2. Explain what the feature is/does.


Changes: Describe the major changes in the PR.


Tests: Describe testing done to verify the new functionality.


For ALL PRs

Committers must ensure that the following sections are present in ALL PRs, regardless of the type of changes.

API Changes: Describe any changes to public APIs. These include changes to samza-api classes, configs, metrics, known performance regressions, major dependency versions and existing behavior. Clarify how users would know if they're impacted ("This applies to applications that ..."). Write None if not applicable.

Upgrade Instructions: Describe any manual steps required for users to upgrade to a Samza version containing this commit. Write None if not applicable.

Usage Instructions: If adding a new feature / API, provide instructions for using the feature. E.g., configurations to set, sample code to write etc. Write None if not applicable.



  • No labels