yzeng1618 opened a new issue, #10299:
URL: https://github.com/apache/seatunnel/issues/10299

   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22)
 and found no similar issues.
   
   
   ### What happened
   
   Context:
   - Migrating an HBase table that uses binary rowkeys.
   - SeaTunnel HBase source reads rowkey as BYTES, sink writes to another HBase 
table.
   - Job succeeds without exception, but rowkeys are corrupted.
   
   Steps to reproduce:
   1) In HBase shell:
      create 'test_binary_source', 'cf'
      put 'test_binary_source', '\x00\x01\x02\x03', 'cf:data', 'binary_value_1'
      put 'test_binary_source', '\xFF\xFE\x0A\x0B', 'cf:data', 'binary_value_2'
      put 'test_binary_source', '\x10\x20\x30\x40\x50', 'cf:data', 
'binary_value_3'
      create 'test_binary_target', 'cf'
   2) Run the SeaTunnel job (config below).
   3) scan 'test_binary_source' and scan 'test_binary_target'.
   
   Actual:
   - Target rowkeys become Java object strings like [B@591a15de, not the 
original binary bytes.
   
   Expected:
   - Target rowkeys should match the original bytes (e.g. \x00\x01\x02\x03, 
\xFF\xFE\x0A\x0B, \x10\x20\x30\x40\x50).
   
   
   ### SeaTunnel Version
   
   2.3.12
   
   ### SeaTunnel Config
   
   ```conf
   env {  
     parallelism = 1  
     job.mode = "BATCH"  
   }  
   
   source {  
     Hbase {  
       zookeeper_quorum = "zookeeper1,zookeeper2,zookeeper3"  
       table = "test_binary_source"  
       is_binary_rowkey = true
       caching = 100000
       batch = 100  
       cache_blocks = true 
   
       # HBase security configuration  
       hbase_extra_config = {
         "hbase.security.authentication" = "kerberos"
         "hadoop.security.authentication" = "kerberos"      
         "hbase.master.kerberos.principal" = "hbase/[email protected]"
         "hbase.regionserver.kerberos.principal" = "hbase/[email protected]"
         "hbase.rpc.protection" = "authentication"
         "hbase.zookeeper.useSasl" = "false"
       }
         
       schema = {  
         columns = [  
           {  
             name = "rowkey"  
             type = bytes  
           },  
           {  
             name = "cf:data"  
             type = string  
           }  
         ]  
       } 
     }    
   }  
   
   sink {  
     Hbase {  
       zookeeper_quorum = "zookeeper1,zookeeper2,zookeeper3"  
       table = "test_binary_target"  
       rowkey_column = ["rowkey"]  
       family_name {  
         all_columns = "cf"  
       }
       # HBase security configuration  
       hbase_extra_config = {
         "hbase.security.authentication" = "kerberos"
         "hadoop.security.authentication" = "kerberos"
     
         "hbase.master.kerberos.principal" = "hbase/[email protected]"
         "hbase.regionserver.kerberos.principal" = "hbase/[email protected]"
         
         "hbase.rpc.protection" = "authentication"
         "hbase.zookeeper.useSasl" = "false"
       }
     }  
   }
   ```
   
   ### Running Command
   
   ```shell
   ./bin/start-seatunnel-flink.sh -c config/hbase_binary_rowkey.conf
   ```
   
   ### Error Exception
   
   ```log
   No exception. The job succeeds, but rowkeys in the target table are 
corrupted.
   ```
   
   ### Zeta or Flink or Spark Version
   
   flink
   
   ### Java or Scala Version
   
   java8
   
   ### Screenshots
   
   <img width="2197" height="471" alt="Image" 
src="https://github.com/user-attachments/assets/0ff76ff5-44f9-4e65-83a0-3f8550dc61f6";
 />
   
   
   ### Are you willing to submit PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


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