Sigma-Ma opened a new pull request, #8557:
URL: https://github.com/apache/hbase/pull/8557

   JIRA: https://issues.apache.org/jira/browse/HBASE-30288
   
   ### What changes were proposed in this pull request?
   
   This PR makes WALPlayer honor source-to-target table mappings when 
generating bulk-output HFiles.
   
   The bulk mapper now builds the mapping from `TABLES_KEY` and 
`TABLE_MAP_KEY`, keeps source table names for WAL filtering, and emits mapped 
target table names in multi-table composite keys. The bulk job is also 
configured with target table descriptors and region locators.
   
   The existing bulk-load test now uses distinct source and target tables, with 
the target table pre-split using a different region layout, and verifies that 
the generated HFiles can be loaded into the mapped target table.
   
   ### Why are the changes needed?
   
   Before this change, the bulk-output path ignored the target table mappings. 
`WALKeyValueMapper` emitted source table names, and `createSubmittableJob` 
configured `HFileOutputFormat` with source table metadata.
   
   As a result, HFiles could be generated under the wrong table path and with 
region boundaries or table descriptors belonging to the source table, 
preventing them from being correctly bulk-loaded into the intended target table.
   
   ### How was this patch tested?
   
   ```bash
   mvn -pl hbase-mapreduce -am \
     
'-Dtest=TestWALPlayer#testWALPlayerBulkLoadWithTableMappingAndOverriddenTimestamps'
 \
     -Dsurefire.failIfNoSpecifiedTests=false \
     test
   
   mvn -pl hbase-mapreduce -am -Dtest=TestWALPlayer 
-Dsurefire.failIfNoSpecifiedTests=false test


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