You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Haobetter (Jira)" <ji...@apache.org> on 2023/05/16 08:41:00 UTC
[jira] [Comment Edited] (HDFS-5080) BootstrapStandby not working with QJM when the existing NN is active
[ https://issues.apache.org/jira/browse/HDFS-5080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17723049#comment-17723049 ]
Haobetter edited comment on HDFS-5080 at 5/16/23 8:40 AM:
----------------------------------------------------------
Hi ,[~discord] ,I also encountered this issue, although the code has this patch. Do you know the reason
was (Author: JIRAUSER291548):
I also encountered this issue, although the code has this patch. Do you know the reason
> BootstrapStandby not working with QJM when the existing NN is active
> --------------------------------------------------------------------
>
> Key: HDFS-5080
> URL: https://issues.apache.org/jira/browse/HDFS-5080
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: ha, qjm
> Affects Versions: 3.0.0-alpha1
> Reporter: Jing Zhao
> Assignee: Jing Zhao
> Priority: Major
> Fix For: 2.1.1-beta
>
> Attachments: HDFS-5080.000.patch, HDFS-5080.001.patch, HDFS-5080.002.patch
>
>
> Currently when QJM is used, running BootstrapStandby while the existing NN is active can get the following exception:
> {code}
> FATAL ha.BootstrapStandby: Unable to read transaction ids 6175397-6175405 from the configured shared edits storage. Please copy these logs into the shared edits storage or call saveNamespace on the active node.
> Error: Gap in transactions. Expected to be able to read up until at least txid 6175405 but unable to find any edit logs containing txid 6175405
> java.io.IOException: Gap in transactions. Expected to be able to read up until at least txid 6175405 but unable to find any edit logs containing txid 6175405
> at org.apache.hadoop.hdfs.server.namenode.FSEditLog.checkForGaps(FSEditLog.java:1300)
> at org.apache.hadoop.hdfs.server.namenode.FSEditLog.selectInputStreams(FSEditLog.java:1258)
> at org.apache.hadoop.hdfs.server.namenode.ha.BootstrapStandby.checkLogsAvailableForRead(BootstrapStandby.java:229)
> {code}
> Looks like the cause of the exception is that, when the active NN is queries by BootstrapStandby about the last written transaction ID, the in-progress edit log segment is included. However, when journal nodes are asked about the last written transaction ID, in-progress edit log is excluded. This causes BootstrapStandby#checkLogsAvailableForRead to complain gaps.
> To fix this, we can either let journal nodes take into account the in-progress editlog, or let active NN exclude the in-progress edit log segment.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org