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

mazhengxuan commented on HBASE-30288:
-------------------------------------

I looked into this issue.

WALPlayer parses the source tables and target table mappings correctly, but the 
bulk-output path does not actually use the mappings consistently:

1. createSubmittableJob configures MultiTableHFileOutputFormat with the source 
tables, so the generated HFiles use the source table descriptors and region 
boundaries instead of those of the target tables.
2. WALKeyValueMapper only keeps a set of source tables and emits the source 
table name in the composite output key. It does not read TABLE_MAP_KEY.

I propose to:

- continue using the source table names for filtering WAL entries;
- build the source-to-target mapping in WALKeyValueMapper and emit the target 
table name in the composite key;
- configure the incremental-load TableInfo list using the mapped target tables;
- add an end-to-end TestWALPlayer case that generates HFiles for a 
source-to-target mapping, bulk-loads them into the target table, and verifies 
the data.

This should leave the non-bulk WALMapper path unchanged.

I also noticed that the current WALPlayer usage text still says that table 
mappings are not allowed with bulk output. If bulk table mapping is intended to 
be supported, I can update that documentation as part of the fix.

I would like to work on this issue. Could I take it?

> WALPlayer doesn't pass in the correct table mappings when using the bulk 
> output option
> --------------------------------------------------------------------------------------
>
>                 Key: HBASE-30288
>                 URL: https://issues.apache.org/jira/browse/HBASE-30288
>             Project: HBase
>          Issue Type: Bug
>          Components: walplayer
>            Reporter: Hernan Romer
>            Priority: Major
>
> WALPlayer doesn't pass in the correct table mappings when using the bulk 
> output option. This means we won't bulkload to the correct locations.



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

Reply via email to