Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

JIRA contains the entire project history, but as the project has matured our use of JIRA has not kept up. This page proposes some changes to the structure of our JIRA project, to capture more information, simplify the data entry and nudge people towards more complete and accurate data entry. This will better allow us to measure release quality over time and identify when Cassandra is ready for release.

Removals

To simplify the maintenance of JIRA, it would help to remove any unnecessary concepts. Mostly these are concepts we do not use in practice, except very spottily (so as to make them useless).

...

New Priority

Logically Replaces

Migrate From

Details

Wish

Wish Issue Type

Wish Issue Type 

 Feature request that has no commitment from anyone to be worked on.

Low

Low-Minor

Low-Minor

 

Normal

Minor-Major

Major

It wasn't clear what Minor or Major meant, but priority is a relative concept - a 'normal' is our logical baseline, and the default for a new issue

High

Rest of Major

 

For tickets that community members plan to prioritise over other outstanding work, but has no immediate urgency

Urgent

Critical-Blocker

Critical-Blocker

There's limited logical distinction between Critical and Blocker; it seems to make more sense to have a single 'do ASAP' tag. This should be limited to issues that need to be resolved prior to the next release.

Complexity

This field will be required, discussed further in the Workflow section below.

...

Category

Subcategory

Description

Correctness

Persistent Corruption / Loss

Corruption that persists, and may propagate across the cluster

 

Response Corruption / Loss

Corruption that does not propagate or persist, only results in a client receiving erroneous responses

 

Semantic Failure

The logical behaviour is either not to spec, or the spec is faulty/ambiguous

 

Consistency Failure

Apparently successful action, but with lower consistency than required

 

Test Failure

A test is broken - if this turns out to be a legitimate bug, it should transition to the bug's category once diagnosed

Availability

Response Crash

An operation does not succeed/respond because of a crash while servicing it, without affecting process stability

 

Process Crash

An isolated exceptional state occurs that brings down the affected node

 

Cluster Crash

A correlated exceptional state occurs across the cluster, bringing down a multiplicity of nodes

 

Unavailable

Apparently unavailable, when should be available

Degradation

Resource Management

Either a resource leak or overcommit

 

Slow Use Case

A specific use case with suboptimal characteristics that have not yet been accommodated

 

Performance Bug/Regression

Unintended performance behaviour, including e.g. exceptions stalling compactions

 

Other Exception

An exception is being thrown, that is not coinciding with another category of degradation

Security

Information Leakage

 

 

Privilege Escalation

 

 

Denial of Service

 


Remote code execution
Category

Required. Only provided as an option for the Feature and Improvement issue types.

...

Currently it is easy for the project to miss a ticket, and for that ticket to fall through the cracks indefinitely.
At the same time, user reports cannot be expected to fill out all of the required fields accurately.
It's proposed that we introduce a new initial state named 'Triage' that has no required fields, and that anybody may file.
To transition to the Open state, you must be a committer contributor in JIRA (or, perhaps, we can introduce a new role for those
on the way to committershipequivalent to able to assign tickets), and must ensure the required fields have been correctly filled out before doing so.

...

  • Component
  • Priority
  • Complexity
  • Bug/Change Category
  • Severity (if bug)
  • Discovered By (if bug)
Required fields on transition to '

...

Patch Available'
  • Impacts
  • Test and Documentation Plan
Required fields on transition to '

...

Review in Progress'
  • Reviewers

Required fields on transition to 'Resolved'
  • Since Version (if bug)
  • Fix Versions

...