kz930 opened a new issue, #8596:
URL: https://github.com/apache/texera/issues/8596

   ### What happened?
   
   File Scan offers an Encoding field. `FileScanSourceOpDesc` stores it in its 
own `encoding` property, but `FileScanSourceOpExec` decodes with 
`fileEncoding`, the property inherited from `ScanSourceOpDesc`. The class 
carries `@JsonIgnoreProperties(Array("limit", "offset", "fileEncoding"))`, so 
`fileEncoding` never survives serialization into the executor and is always its 
default, `UTF_8`.
   
   Choosing any other charset therefore changes nothing. A UTF-16 file comes 
back decoded as UTF-8 rather than as its text.
   
   Expected: the executor decodes with the charset the Encoding field names.
   
   ### How to reproduce?
   
   Deserialize a File Scan descriptor carrying `"encoding":"UTF_16"`, write it 
out the way `getPhysicalOp` does, and read it back the way 
`FileScanSourceOpExec` does. `fileEncoding` comes back `UTF_8`, and the 
`encoding` the user chose is the only place UTF-16 survives.
   
   In the UI: upload a UTF-16 text file, drop a File Scan on it, set Encoding 
to UTF_16 and run. The rows hold the file's bytes read as UTF-8, not its lines.
   
   ### Version/Branch
   
   1.4.0-incubating-SNAPSHOT (main)
   
   ### Commit Hash (Optional)
   
   2ab8ee0f2
   
   ### What browsers are you seeing the problem on?
   
   _No response_
   
   ### Relevant log output
   
   ```shell
   JSON = 
{"operatorType":"FileScan","dummyPropertyList":[],"encoding":"UTF_16","extract":false,"outputFileName":false,"attributeType":"string","attributeName":"line",...}
   exec reads desc.fileEncoding = UTF_8
   ```
   


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