hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Williams (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-5080) BootstrapStandby not working with QJM when the existing NN is active
Date Thu, 22 Jan 2015 21:14:35 GMT

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

Colin Williams commented on HDFS-5080:
--------------------------------------

Ran into this issue today.

IRC: 
13:10 < coyled> ah, that was fixed in CDH 4.5.0 so you shouldn't be affected

hadoop version
Hadoop 2.3.0-cdh5.0.1
Subversion git://github.sf.cloudera.com/CDH/cdh.git -r 8e266e052e423af592871e2dfe09d54c03f6a0e8
Compiled by jenkins on 2014-05-06T19:01Z
Compiled with protoc 2.5.0
>From source with checksum 6ce1c599ee996a0a6505d2579e62ffa
This command was run using /usr/lib/hadoop/hadoop-common-2.3.0-cdh5.0.1.jar


On the standby namenode :

Re-format filesystem in Storage Directory /var/lib/hadoop-hdfs/cache/hdfs/dfs/name ? (Y or
N) Y
15/01/22 14:05:06 INFO common.Storage: Storage directory /var/lib/hadoop-hdfs/cache/hdfs/dfs/name
has been successfully formatted.
15/01/22 14:05:06 FATAL ha.BootstrapStandby: Unable to read transaction ids 50887593-50995570
from the configured shared edits storage qjournal://us3sm2zk010r07.comp.prod.local:8485;us3sm2zk011r08.comp.prod.local:8485;us3sm2zk012r09.comp.prod.local:8485/whprod.
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 50995570 but
unable to find any edit logs containing txid 50994630
15/01/22 14:05:06 INFO util.ExitUtil: Exiting with status 6
15/01/22 14:05:06 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at us3sm2nn010r07.comp.prod.local/10.51.28.140
************************************************************

on the active namenode:
root@us3sm2nn011r08:/var/lib/hadoop-hdfs/cache/hdfs/dfs/name/current ] ls

...
edits_0000000000050260707-0000000000050262981  edits_0000000000050743087-0000000000050747151
 edits_0000000000050812857-0000000000050812858  edits_0000000000050815613-0000000000050815614
 edits_inprogress_0000000000050994629




> 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
>            Reporter: Jing Zhao
>            Assignee: Jing Zhao
>             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
(v6.3.4#6332)

Mime
View raw message