raulcd commented on code in PR #33660:
URL: https://github.com/apache/arrow/pull/33660#discussion_r1073389579


##########
.github/pull_request_template.md:
##########
@@ -57,5 +57,11 @@ If there are user-facing changes then we may require 
documentation to be updated
 -->
 
 <!--
-If there are any breaking changes to public APIs, please add the 
`breaking-change` label.
--->
\ No newline at end of file
+If there are any breaking changes to public APIs, please uncomment the line 
below and explain which changes are breaking.
+-->
+<!-- **This PR includes breaking changes to public APIs.** -->
+
+<!--
+Pleas uncomment the line below (and provide explanation) if the changes fix 
either (a) a security vulnerability, (b) a bug that caused incorrect or invalid 
data to be produced, or (c) a bug that causes a crash (even when the API 
contract is upheld). We use this to highlight fixes to issues that may affect 
users without their knowledge. For this reason, fixing bugs that cause errors 
don't count, since those are usually obvious.

Review Comment:
   ```suggestion
   Please uncomment the line below (and provide explanation) if the changes fix 
either (a) a security vulnerability, (b) a bug that caused incorrect or invalid 
data to be produced, or (c) a bug that causes a crash (even when the API 
contract is upheld). We use this to highlight fixes to issues that may affect 
users without their knowledge. For this reason, fixing bugs that cause errors 
don't count, since those are usually obvious.
   ```



##########
docs/source/developers/reviewing.rst:
##########
@@ -255,3 +255,43 @@ Social aspects
 * Like any communication, code reviews are governed by the Apache
   `Code of Conduct <https://www.apache.org/foundation/policies/conduct.html>`_.
   This applies to both reviewers and contributors.
+
+
+Labelling
+=========
+
+While reviewing PRs, we should try to identify whether these changes need to be
+marked with one or both of the following labels:
+
+* **Critical Fix**: The change fixes either: (a) a security vulnerability;
+  (b) a bug that caused incorrect or invalid data to be produced;
+  or (c) a bug that causes a crash, though only if the API contract is upheld.
+  This is intended to mark fixes to issues that may affect users without their
+  knowledge. For this reason, fixing bugs that cause errors don't count, since 
+  those bugs are usually obvious. Bugs that cause crashes are considered 
critical
+  because they are a possible vector of Denial-of-Service attacks.
+* **Breaking Change**: The change breaks backwards compatibility in a public 
API.
+  For changes in C++, this does not include changes that simply break ABI
+  compatibility, except for the few places where we do guarantee ABI
+  compatibility (such as C Data Interface). Experimental APIs are *not*
+  exempt from this; they are just more likely to be associated with this tag.
+  
+Breaking changes and critical fixes are separate: breaking changes alter the
+API contract, while critical fixes make the implementation align with the
+existing API contract. For example, fixing a bug that caused a Parquet reader
+to skip rows containing the number 42 is a critical fix but not a breaking 
change,
+since the row skipping wasn't behavior a reasonable user would rely on.
+
+These labels are used in the release to highlight changes that users ought to 
be
+aware of when they consider upgrading library versions. Breaking changes help
+identify reasons when users may wish to wait to upgrade until they have time to
+adapt their code, while critical fixes highlight the risk in *not* upgrading.
+
+In addition, we use the following labels to indicate priority:
+
+* **Priority: Blocker**: Indicates the PR **must** be merged before the next

Review Comment:
   At the moment for our release tasks we use the labels only on issues, not on 
PRs. Here we refer to labels on PRs and issues without distinction: `Indicates 
issues that are high priority.`. We also enforce the update of the milestone 
only on issues when merging a PR, not on PRs.
   Right now the commit title on the merge script allows us to link to the PR 
because we use the following: `commit_title = f'{self.title} (#{self.number})'` 
which links both the issue `GH-XXXX` and the PR `(#YYYYY)` even though at the 
moment we don't use the PR on our release tasks, we could.
   I suppose my concern is around the workflow changes and whether we want to 
force those labels only on issues, only on PRs, on both, what happens if a PR 
and an issue contain different types of labels, etcetera.
   This might affect the discussion about removing the merge script or at least 
how we link issues with PRs.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to