You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you open a ticket and it doesn't get any response, you can try `@`-mentioning
71
+
recently active community members in the ticket to get their attention.
72
+
73
+
### What Features are Good Fits for DataFusion?
74
+
75
+
DataFusion is designed to highly extensible, and many features can be implemented
76
+
as extensions without changing the core of DataFusion.
77
+
78
+
We are [working on criteria for what features are good fits for DataFusion], and
79
+
will update this section when we have more to share.
80
+
81
+
[working on criteria for what features are good fits for datafusion]: https://github.com/apache/datafusion/issues/12357
64
82
65
83
# Developer's guide
66
84
@@ -88,35 +106,61 @@ committer who approved your PR to help remind them to merge it.
88
106
89
107
## Creating Pull Requests
90
108
91
-
We recommend splitting your contributions into multiple smaller focused PRs rather than large PRs (500+ lines) because:
109
+
When possible, we recommend splitting your contributions into multiple smaller focused PRs rather than large PRs (500+ lines) because:
92
110
93
111
1. The PR is more likely to be reviewed quickly -- our reviewers struggle to find the contiguous time needed to review large PRs.
94
112
2. The PR discussions tend to be more focused and less likely to get lost among several different threads.
95
113
3. It is often easier to accept and act on feedback when it comes early on in a small change, before a particular approach has been polished too much.
96
114
97
115
If you are concerned that a larger design will be lost in a string of small PRs, creating a large draft PR that shows how they all work together can help.
98
116
99
-
Note all commits in a PR are squashed when merged to the `main` branch so there is one commit per PR.
117
+
Note all commits in a PR are squashed when merged to the `main` branch so there is one commit per PR after merge.
100
118
101
119
# Reviewing Pull Requests
102
120
103
121
Some helpful links:
104
122
105
-
-[PRs Waiting for Review]
106
-
-[Approved PRs Waiting for Merge]
123
+
-[PRs Waiting for Review] on GitHub
124
+
-[Approved PRs Waiting for Merge] on GitHub
107
125
108
126
[prs waiting for review]: https://github.com/apache/datafusion/pulls?q=is%3Apr+is%3Aopen+-review%3Aapproved+-is%3Adraft+
109
127
[approved prs waiting for merge]: https://github.com/apache/datafusion/pulls?q=is%3Apr+is%3Aopen+review%3Aapproved+-is%3Adraft
110
128
111
-
When reviewing PRs, please remember our primary goal is to improve DataFusion and its community together. PR feedback should be constructive with the aim to help improve the code as well as the understanding of the contributor.
129
+
When reviewing PRs, our primary goal is to improve DataFusion and its community together. PR feedback should be constructive with the aim to help improve the code as well as the understanding of the contributor.
112
130
113
131
Please ensure any issues you raise contains a rationale and suggested alternative -- it is frustrating to be told "don't do it this way" without any clear reason or alternate provided.
114
132
115
133
Some things to specifically check:
116
134
117
-
1. Is the feature or fix covered sufficiently with tests (see `Test Organization` below)?
135
+
1. Is the feature or fix covered sufficiently with tests (see the [Testing](testing.md) section)?
118
136
2. Is the code clear, and fits the style of the existing codebase?
119
137
138
+
## Performance Improvements
139
+
140
+
Performance improvements are always welcome: performance is a key DataFusion
141
+
feature.
142
+
143
+
In general, the performance improvement from a change should be "enough" to
144
+
justify any added code complexity. How much is "enough" is a judgement made by
145
+
the committers, but generally means that the improvement should be noticeable in
146
+
a real-world scenario and is greater than the noise of the benchmarking system.
147
+
148
+
To help committers evaluate the potential improvement, performance PRs should
149
+
in general be accompanied by benchmark results that demonstrate the improvement.
150
+
151
+
The best way to demonstrate a performance improvement is with the existing
Since we are a worldwide community, we have contributors in many timezones who review and comment. To ensure anyone who wishes has an opportunity to review a PR, our committers try to ensure that at least 24 hours passes between when a "major" PR is approved and when it is merged.
0 commit comments