LuciferYang opened a new pull request, #10276:
URL: https://github.com/apache/paimon/pull/10276

   ### Purpose
   
   `spill-compression` is a free-form string option (default `zstd`, no value 
validation), and `none` is an intended "no compression" value: 
`BlockCompressionFactory.create` returns `null` for it. On master that null 
factory is dereferenced in the `ChannelWriterOutputView` constructor 
(`getCompressor()`) and, on read-back, in `ChannelReaderInputView` 
(`getDecompressor()`), so setting `spill-compression = none` crashes any disk 
spill (external sort/merge, or `ExternalBuffer` under memory pressure) with a 
`NullPointerException`.
   
   This makes both channel views write and read plain uncompressed blocks when 
the compression factory is null, so `none` produces an uncompressed spill that 
round-trips correctly. The compressed paths (zstd, lz4, and the rest) are 
unchanged.
   
   This closes #10275.
   
   ### Tests
   
   - `ChannelWriterOutputViewTest#testSpillCompressionNoneRoundTrip` pins that 
a spill written and read back with compression `none` round-trips. Without the 
fix the write-view constructor throws `NullPointerException`.
   
   ### API and Format
   
   No.
   
   ### Documentation
   
   No.
   


-- 
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]

Reply via email to