comphead commented on code in PR #7477:
URL: https://github.com/apache/datafusion-comet/pull/7477#discussion_r4532818974


##########
docs/source/contributor-guide/adding_a_new_expression.md:
##########
@@ -466,9 +466,9 @@ test("bit_length dispatches on binary and stays native on 
string") {
 
 Names are the expression's `prettyName` lowercased. Naming an expression 
asserts both that it ran
 through the expected mechanism and that it did not run through the other one, 
so a serde that
-later gains a native path (or loses its dispatcher route) fails here instead 
of passing unnoticed.
-Prefer the SQL file equivalents, `expect_native(...)` and 
`expect_dispatch(...)`, when the test
-fits in a fixture.
+later gains a native implementation (or loses its dispatcher route) fails here 
instead of passing

Review Comment:
   The `bit_length` example a few lines above has the same problem that this PR 
fixes in `sql-file-tests.md`. `CometBitLength` returns `Unsupported` for 
`BinaryType` and does not mix in `CodegenDispatchFallback`, so `SELECT 
bit_length(b)` falls back to Spark (`bit_length.sql` pins it with 
`expect_fallback(bit_length on BinaryType is not supported)`). The `dispatched 
= Seq("bit_length")` assertion would fail as written. The test name "stays 
native on string" also still uses a phrase that N1 rules out. Could this 
example use an expression that really splits by mechanism, for example `lower` 
with and without `spark.comet.caseConversion.enabled`, as the SQL file page now 
does?



##########
docs/source/user-guide/latest/tuning/shuffle.md:
##########
@@ -115,7 +115,7 @@ even when both of those aggregates run on Spark.
 The native shuffle writer buffers a task's output in memory and spills it to 
disk. By default
 (`spark.comet.shuffle.native.maxBufferBytes=0`) it spills only when the memory 
pool denies an allocation, so it holds
 as much of the task's share of the off-heap pool as it can get. That can leave 
a sort or an aggregation in the same
-task without memory, and the large buffers it frees at the end of the task can 
stay resident in the native allocator,
+task without memory, and the large buffers it frees at the end of the task can 
stay resident in the memory allocator,

Review Comment:
   Dropping "native" leaves "the memory allocator", which a reader could take 
to mean the JVM's. `tuning/memory.md` explains that this is the system 
allocator used by Comet's Rust code, and the `spark.comet.memory.logInterval` 
doc says "the Rust allocator". Would "stay resident in the Rust allocator" keep 
the meaning and match the other pages?



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to