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

Hudson commented on HBASE-30365:
--------------------------------

Results for branch branch-2
        [build #94 on 
builds.a.o|https://ci-hbase.apache.org/job/HBase-Backwards-Compatibility-Test/job/branch-2/94/]:
 (/) *{color:green}+1 overall{color}*
----
Backwards compatibility checks:
(/) {color:green}+1 jdk17 hadoop 3.3.5 backward compatibility checks{color}
-- For more information [see jdk17 
report|https://ci-hbase.apache.org/job/HBase-Backwards-Compatibility-Test/job/branch-2/94/console]


(/) {color:green}+1 jdk17 hadoop 3.3.6 backward compatibility checks{color}
-- For more information [see jdk17 
report|https://ci-hbase.apache.org/job/HBase-Backwards-Compatibility-Test/job/branch-2/94/console]


(/) {color:green}+1 jdk17 hadoop 3.4.0 backward compatibility checks{color}
-- For more information [see jdk17 
report|https://ci-hbase.apache.org/job/HBase-Backwards-Compatibility-Test/job/branch-2/94/console]


(/) {color:green}+1 jdk17 hadoop 3.4.1 backward compatibility checks{color}
-- For more information [see jdk17 
report|https://ci-hbase.apache.org/job/HBase-Backwards-Compatibility-Test/job/branch-2/94/console]


(/) {color:green}+1 jdk17 hadoop 3.4.2 backward compatibility checks{color}
-- For more information [see jdk17 
report|https://ci-hbase.apache.org/job/HBase-Backwards-Compatibility-Test/job/branch-2/94/console]


> Reading a MOB table snapshot as MapReduce input fails after HBASE-30336
> -----------------------------------------------------------------------
>
>                 Key: HBASE-30365
>                 URL: https://issues.apache.org/jira/browse/HBASE-30365
>             Project: HBase
>          Issue Type: Bug
>          Components: mapreduce, mob
>            Reporter: Junegunn Choi
>            Assignee: Junegunn Choi
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 4.0.0-alpha-1, 2.7.0, 3.1.0, 3.0.1, 2.6.8
>
>
> h2. Problem
> Reading a MOB table snapshot through {{TableSnapshotInputFormat}} fails since 
> HBASE-30336.
> {noformat}
> java.io.IOException: Region directory does not exist: 
> .../data/default/testLoadingSnapshotToMobTable1/2fd029de2ee9a2e42a9aaa50ba0a0d55
>   at HRegionFileSystem.writeRegionInfoOnFilesystem(HRegionFileSystem.java:874)
>   at ClientSideRegionScanner.<init>(ClientSideRegionScanner.java:88)
>   at 
> TableSnapshotInputFormatImpl$RecordReader.initialize(TableSnapshotInputFormatImpl.java:271)
> {noformat}
> That encoded name is the MOB pseudo-region: 
> {{MD5("testLoadingSnapshotToMobTable1,.mob,0")}}, which is what 
> {{MobUtils.getMobRegionInfo}} produces.
> {{TableSnapshotInputFormatImpl.getRegionInfosFromManifest}} creates a split 
> for every region in the manifest, and a MOB snapshot manifest includes the 
> pseudo-region. Each split is then opened as a real region under the restore 
> dir. HBASE-30336 correctly stopped creating a directory for that 
> pseudo-region under the table dir, so the split now has nothing to open.
> Found by a nightly run on Java 21, but not JDK specific. It fails the same 
> way on 17, locally and on CI.
> {noformat}
> mvn -pl hbase-mapreduce test 
> -Dtest='TestCopyTable#testLoadingSnapshotAndBulkLoadToMobTable+tsetLoadingSnapshotToMobTable'
> {noformat}
> All the affected fix versions are still unreleased, so this has not shipped.
> h2. Fix
> Skip the pseudo-region when building splits, next to the existing 
> offline-split filter:
> {code:java}
> if (MobUtils.isMobRegionInfo(hri)) {
>   continue;
> }
> {code}
> This is behaviour-preserving. Before HBASE-30336 the pseudo-region's family 
> files were written under {{mobdir}} while only a {{.regioninfo}} was written 
> under the table dir, so the split opened a region with no store files and 
> returned zero rows. Skipping it removes the exception without changing any 
> output.



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

Reply via email to