[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-07-31 Thread Hudson (JIRA)


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

Hudson commented on HBASE-20583:


Results for branch branch-1.3
[build #409 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/409/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/409//General_Nightly_Build_Report/]


(x) {color:red}-1 jdk7 checks{color}
-- For more information [see jdk7 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/409//JDK7_Nightly_Build_Report/]


(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.3/409//JDK8_Nightly_Build_Report_(Hadoop2)/]




(x) {color:red}-1 source release artifact{color}
-- See build output for details.


> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-07-31 Thread Hudson (JIRA)


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

Hudson commented on HBASE-20583:


Results for branch branch-1.4
[build #403 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/403/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/403//General_Nightly_Build_Report/]


(x) {color:red}-1 jdk7 checks{color}
-- For more information [see jdk7 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/403//JDK7_Nightly_Build_Report/]


(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.4/403//JDK8_Nightly_Build_Report_(Hadoop2)/]




(x) {color:red}-1 source release artifact{color}
-- See build output for details.


> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-07-31 Thread Hudson (JIRA)


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

Hudson commented on HBASE-20583:


Results for branch branch-1.2
[build #414 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.2/414/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.2/414//General_Nightly_Build_Report/]


(x) {color:red}-1 jdk7 checks{color}
-- For more information [see jdk7 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.2/414//JDK7_Nightly_Build_Report/]


(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1.2/414//JDK8_Nightly_Build_Report_(Hadoop2)/]




(x) {color:red}-1 source release artifact{color}
-- See build output for details.


> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-07-31 Thread Hudson (JIRA)


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

Hudson commented on HBASE-20583:


Results for branch branch-1
[build #398 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-1/398/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(x) {color:red}-1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1/398//General_Nightly_Build_Report/]


(x) {color:red}-1 jdk7 checks{color}
-- For more information [see jdk7 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1/398//JDK7_Nightly_Build_Report/]


(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-1/398//JDK8_Nightly_Build_Report_(Hadoop2)/]




(x) {color:red}-1 source release artifact{color}
-- See build output for details.


> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-07-30 Thread Hudson (JIRA)


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

Hudson commented on HBASE-20583:


FAILURE: Integrated in Jenkins build HBase-1.3-IT #445 (See 
[https://builds.apache.org/job/HBase-1.3-IT/445/])
HBASE-20974 Backport HBASE-20583 (SplitLogWorker should handle (apurtell: rev 
2252ed0eea4b9a0abd5cb8b75515532e651ef902)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java


> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-07-30 Thread Hudson (JIRA)


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

Hudson commented on HBASE-20583:


SUCCESS: Integrated in Jenkins build HBase-1.2-IT #1142 (See 
[https://builds.apache.org/job/HBase-1.2-IT/1142/])
HBASE-20974 Backport HBASE-20583 (SplitLogWorker should handle (apurtell: rev 
5eb4c5668841f501481bf85d54fde34bccaa4e96)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitLogWorker.java


> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-07-29 Thread Pankaj Kumar (JIRA)


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

Pankaj Kumar commented on HBASE-20583:
--

Created HBASE-20974 subtask to backport this issue to branch-1.x.

> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-07-27 Thread Andrew Purtell (JIRA)


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

Andrew Purtell commented on HBASE-20583:


+1 [~pankaj2461], are you interested in doing that?

> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-07-27 Thread Pankaj Kumar (JIRA)


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

Pankaj Kumar commented on HBASE-20583:
--

This issue is applicable to branch-1.x as well, please correct me if I'm wrong.

Shall we backport this to branch-1?

> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-05-18 Thread Hudson (JIRA)

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

Hudson commented on HBASE-20583:


Results for branch branch-2.0
[build #316 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/316/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/316//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/316//JDK8_Nightly_Build_Report_(Hadoop2)/]


(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/316//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-05-18 Thread Hudson (JIRA)

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

Hudson commented on HBASE-20583:


Results for branch master
[build #335 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/master/335/]: (x) 
*{color:red}-1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/335//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/335//JDK8_Nightly_Build_Report_(Hadoop2)/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/335//JDK8_Nightly_Build_Report_(Hadoop3)/]


(x) {color:red}-1 source release artifact{color}
-- See build output for details.


> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-05-18 Thread Hudson (JIRA)

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

Hudson commented on HBASE-20583:


Results for branch branch-2
[build #750 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/750/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/750//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/750//JDK8_Nightly_Build_Report_(Hadoop2)/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/750//JDK8_Nightly_Build_Report_(Hadoop3)/]


(x) {color:red}-1 source release artifact{color}
-- See build output for details.


> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-05-17 Thread Guanghao Zhang (JIRA)

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

Guanghao Zhang commented on HBASE-20583:


{quote}bq.And do you want to change the log splitting framework from zk based 
to proc-v2 based?
{quote}
Yeah. This will remove zk dependency when failover. 
{quote}bq.I like the [~Apache9] idea. New issue?
{quote}
Yeah, new issue. We already do same thing for sync replication. The standby 
clsuter will use proc-v2 to replay the WALs and no zk dependency.

> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-05-17 Thread stack (JIRA)

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

stack commented on HBASE-20583:
---

To be clear, thats +1 for branch-2.0. Nice bug fix. Thanks [~zghaobac].

> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-05-17 Thread stack (JIRA)

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

stack commented on HBASE-20583:
---

+1

I like the [~Apache9] idea. New issue?

> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-05-17 Thread Duo Zhang (JIRA)

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

Duo Zhang commented on HBASE-20583:
---

+1.

And do you want to change the log splitting framework from zk based to proc-v2 
based? I think this could solve the problem by a cleaner way.

> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-05-17 Thread Guanghao Zhang (JIRA)

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

Guanghao Zhang commented on HBASE-20583:


Ping [~Apache9] [~stack] for review.

> SplitLogWorker should handle FileNotFoundException when split a wal
> ---
>
> Key: HBASE-20583
> URL: https://issues.apache.org/jira/browse/HBASE-20583
> Project: HBase
>  Issue Type: Bug
>Reporter: Guanghao Zhang
>Assignee: Guanghao Zhang
>Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20583.master.001.patch, 
> HBASE-20583.master.001.patch
>
>
> When a split task is finished, master will delete the wal first, then remove 
> the task's zk node. So if master crashed after delelte the wal, the zk task 
> node may be leaved on zk. When master resubmit this task, the task will 
> failed by FileNotFoundException.
> We also handle FileNotFoundException in WALSplitter. But not handle this in 
> SplitLogWorker.
>  
> {code:java}
>   try {
> in = getReader(path, reporter);
>   } catch (EOFException e) {
> if (length <= 0) {
>   // TODO should we ignore an empty, not-last log file if skip.errors
>   // is false? Either way, the caller should decide what to do. E.g.
>   // ignore if this is the last log in sequence.
>   // TODO is this scenario still possible if the log has been
>   // recovered (i.e. closed)
>   LOG.warn("Could not open {} for reading. File is empty", path, e);
> }
> // EOFException being ignored
> return null;
>   }
> } catch (IOException e) {
>   if (e instanceof FileNotFoundException) {
> // A wal file may not exist anymore. Nothing can be recovered so move on
> LOG.warn("File {} does not exist anymore", path, e);
> return null;
>   }
> }{code}
> {code:java}
> // Here fs.getFileStatus may throw FileNotFoundException, too. We should 
> handle this exception as the WALSplitter.getReader.
> try {
>   if (!WALSplitter.splitLogFile(walDir, fs.getFileStatus(new Path(walDir, 
> filename)),
> fs, conf, p, sequenceIdChecker,
>   server.getCoordinatedStateManager().getSplitLogWorkerCoordination(), 
> factory)) {
> return Status.PREEMPTED;
>   }
> } 
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (HBASE-20583) SplitLogWorker should handle FileNotFoundException when split a wal

2018-05-16 Thread Hadoop QA (JIRA)

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

Hadoop QA commented on HBASE-20583:
---

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue}  1m 
55s{color} | {color:blue} Docker mode activated. {color} |
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} hbaseanti {color} | {color:green}  0m  
0s{color} | {color:green} Patch does not have any anti-patterns. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  
0s{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:red}-1{color} | {color:red} test4tests {color} | {color:red}  0m  
0s{color} | {color:red} The patch doesn't appear to include any new or modified 
tests. Please justify why no new tests are needed for this patch. Also please 
list what manual steps were performed to verify this patch. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
28s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
29s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 
59s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
 5s{color} | {color:green} branch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m 
40s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
25s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  4m 
11s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m 
33s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m 
33s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  1m 
 0s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m 
 0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} shadedjars {color} | {color:green}  4m 
17s{color} | {color:green} patch has no errors when building our shaded 
downstream artifacts. {color} |
| {color:green}+1{color} | {color:green} hadoopcheck {color} | {color:green} 
13m 34s{color} | {color:green} Patch does not cause any errors with Hadoop 
2.6.5 2.7.4 or 3.0.0. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green}  1m 
57s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 
27s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:green}+1{color} | {color:green} unit {color} | {color:green}102m 
14s{color} | {color:green} hbase-server in the patch passed. {color} |
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green}  0m 
18s{color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black}144m 52s{color} | 
{color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hbase:d8b550f |
| JIRA Issue | HBASE-20583 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12923658/HBASE-20583.master.001.patch
 |
| Optional Tests |  asflicense  javac  javadoc  unit  findbugs  shadedjars  
hadoopcheck  hbaseanti  checkstyle  compile  |
| uname | Linux 1c021a80eb5f 4.4.0-43-generic #63-Ubuntu SMP Wed Oct 12 
13:48:03 UTC 2016 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | 
/home/jenkins/jenkins-slave/workspace/PreCommit-HBASE-Build@2/component/dev-support/hbase-personality.sh
 |
| git revision | master / ab53329cb3 |
| maven | version: Apache Maven 3.5.3 
(3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z) |
| Default Java | 1.8.0_171 |
| findbugs | v3.1.0-RC3 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-HBASE-Build/12840/testReport/ |
| Max. process+thread count | 3837 (vs. ulimit of 1) |
| modules | C: hbase-server U: hbase-server |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/12840/console |
| Powered