[ 
https://issues.apache.org/jira/browse/HBASE-30413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18124574#comment-18124574
 ] 

mazhengxuan commented on HBASE-30413:
-------------------------------------

Hi, I’d like to take this issue if no one is already working on it. I’m 
planning to align the composite row-key read and write paths in both Spark 3 
and Spark 4, with round-trip tests for variable-length key fields. Does that 
scope sound right? I’d also appreciate your thoughts on how to handle row keys 
already written without delimiters.

> Fix concatenation inconsistency between read/write path on composite row keys
> -----------------------------------------------------------------------------
>
>                 Key: HBASE-30413
>                 URL: https://issues.apache.org/jira/browse/HBASE-30413
>             Project: HBase
>          Issue Type: Sub-task
>          Components: hbase-connectors
>            Reporter: Wellington Chevreuil
>            Priority: Major
>
> This affects both spark3 and spark4 modules, currently, and was caught during 
> the the implementation of sparkSQL write functions to the spark 4 module.
> In HBaseDataWriter.buildRowKey, composite row key components are concatenated 
> without the delimiter that the reader expects for variable-length string 
> fields (see HBasePartitionReader.parseRowKey). A catalog such as key1:key2 
> with an unbounded string key1 cannot be read back reliably if written through 
> this write path.
> This also needs to be addressed in the spark3 module. In 
> DefaultSource.convertToPut, lines 229-243, it also concatenates row key 
> component bytes with no delimiter.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to