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