[jira] [Updated] (HBASE-18282) ReplicationLogCleaner can delete WALs not yet replicated in case of a KeeperException

2019-02-01 Thread Andrew Purtell (JIRA)


 [ 
https://issues.apache.org/jira/browse/HBASE-18282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-18282:
---
Fix Version/s: (was: 1.5.0)

> ReplicationLogCleaner can delete WALs not yet replicated in case of a 
> KeeperException
> -
>
> Key: HBASE-18282
> URL: https://issues.apache.org/jira/browse/HBASE-18282
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 1.3.1, 1.2.6, 1.1.11, 2.0.0-alpha-1
>Reporter: Ashu Pachauri
>Assignee: Ben Lau
>Priority: Critical
> Fix For: 1.3.2, 1.4.2, 2.0.0, 1.2.7
>
> Attachments: HBASE-18282-branch-1-v2.patch, 
> HBASE-18282-branch-1.patch, HBASE-18282-branch-2-v2.patch, 
> HBASE-18282-branch-2.patch
>
>
> ReplicationStateZKBase#getListOfReplicators does not rethrow a 
> KeeperException and returns null in such a case. ReplicationLogCleaner just 
> assumes that there are no replicators and deletes everything.
> ReplicationStateZKBase:
> {code:java}
> public List getListOfReplicators() {
> List result = null;
> try {
>   result = ZKUtil.listChildrenNoWatch(this.zookeeper, this.queuesZNode);
> } catch (KeeperException e) {
>   this.abortable.abort("Failed to get list of replicators", e);
> }
> return result;
>   }
> {code}
> ReplicationLogCleaner:
> {code:java}
> private Set loadWALsFromQueues() throws KeeperException {
> for (int retry = 0; ; retry++) {
>   int v0 = replicationQueues.getQueuesZNodeCversion();
>   List rss = replicationQueues.getListOfReplicators();
>   if (rss == null) {
> LOG.debug("Didn't find any region server that replicates, won't 
> prevent any deletions.");
> return ImmutableSet.of();
>   }
>   ...
> {code}



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


[jira] [Updated] (HBASE-18282) ReplicationLogCleaner can delete WALs not yet replicated in case of a KeeperException

2018-02-14 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-18282:
---
   Resolution: Fixed
Fix Version/s: 1.2.7
   Status: Resolved  (was: Patch Available)

> ReplicationLogCleaner can delete WALs not yet replicated in case of a 
> KeeperException
> -
>
> Key: HBASE-18282
> URL: https://issues.apache.org/jira/browse/HBASE-18282
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 1.3.1, 1.2.6, 1.1.11, 2.0.0-alpha-1
>Reporter: Ashu Pachauri
>Assignee: Ben Lau
>Priority: Critical
> Fix For: 2.0.0, 1.3.2, 1.5.0, 1.2.7, 1.4.2
>
> Attachments: HBASE-18282-branch-1-v2.patch, 
> HBASE-18282-branch-1.patch, HBASE-18282-branch-2-v2.patch, 
> HBASE-18282-branch-2.patch
>
>
> ReplicationStateZKBase#getListOfReplicators does not rethrow a 
> KeeperException and returns null in such a case. ReplicationLogCleaner just 
> assumes that there are no replicators and deletes everything.
> ReplicationStateZKBase:
> {code:java}
> public List getListOfReplicators() {
> List result = null;
> try {
>   result = ZKUtil.listChildrenNoWatch(this.zookeeper, this.queuesZNode);
> } catch (KeeperException e) {
>   this.abortable.abort("Failed to get list of replicators", e);
> }
> return result;
>   }
> {code}
> ReplicationLogCleaner:
> {code:java}
> private Set loadWALsFromQueues() throws KeeperException {
> for (int retry = 0; ; retry++) {
>   int v0 = replicationQueues.getQueuesZNodeCversion();
>   List rss = replicationQueues.getListOfReplicators();
>   if (rss == null) {
> LOG.debug("Didn't find any region server that replicates, won't 
> prevent any deletions.");
> return ImmutableSet.of();
>   }
>   ...
> {code}



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


[jira] [Updated] (HBASE-18282) ReplicationLogCleaner can delete WALs not yet replicated in case of a KeeperException

2018-02-14 Thread Ben Lau (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ben Lau updated HBASE-18282:

Attachment: HBASE-18282-branch-2-v2.patch
HBASE-18282-branch-1-v2.patch

> ReplicationLogCleaner can delete WALs not yet replicated in case of a 
> KeeperException
> -
>
> Key: HBASE-18282
> URL: https://issues.apache.org/jira/browse/HBASE-18282
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 1.3.1, 1.2.6, 1.1.11, 2.0.0-alpha-1
>Reporter: Ashu Pachauri
>Assignee: Ben Lau
>Priority: Critical
> Fix For: 2.0.0, 1.3.2, 1.5.0, 1.4.2
>
> Attachments: HBASE-18282-branch-1-v2.patch, 
> HBASE-18282-branch-1.patch, HBASE-18282-branch-2-v2.patch, 
> HBASE-18282-branch-2.patch
>
>
> ReplicationStateZKBase#getListOfReplicators does not rethrow a 
> KeeperException and returns null in such a case. ReplicationLogCleaner just 
> assumes that there are no replicators and deletes everything.
> ReplicationStateZKBase:
> {code:java}
> public List getListOfReplicators() {
> List result = null;
> try {
>   result = ZKUtil.listChildrenNoWatch(this.zookeeper, this.queuesZNode);
> } catch (KeeperException e) {
>   this.abortable.abort("Failed to get list of replicators", e);
> }
> return result;
>   }
> {code}
> ReplicationLogCleaner:
> {code:java}
> private Set loadWALsFromQueues() throws KeeperException {
> for (int retry = 0; ; retry++) {
>   int v0 = replicationQueues.getQueuesZNodeCversion();
>   List rss = replicationQueues.getListOfReplicators();
>   if (rss == null) {
> LOG.debug("Didn't find any region server that replicates, won't 
> prevent any deletions.");
> return ImmutableSet.of();
>   }
>   ...
> {code}



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


[jira] [Updated] (HBASE-18282) ReplicationLogCleaner can delete WALs not yet replicated in case of a KeeperException

2018-02-14 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-18282:
---
Status: Patch Available  (was: Open)

> ReplicationLogCleaner can delete WALs not yet replicated in case of a 
> KeeperException
> -
>
> Key: HBASE-18282
> URL: https://issues.apache.org/jira/browse/HBASE-18282
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 2.0.0-alpha-1, 1.1.11, 1.2.6, 1.3.1
>Reporter: Ashu Pachauri
>Assignee: Ben Lau
>Priority: Critical
> Fix For: 2.0.0, 1.3.2, 1.5.0, 1.4.2
>
> Attachments: HBASE-18282-branch-1.patch, HBASE-18282-branch-2.patch
>
>
> ReplicationStateZKBase#getListOfReplicators does not rethrow a 
> KeeperException and returns null in such a case. ReplicationLogCleaner just 
> assumes that there are no replicators and deletes everything.
> ReplicationStateZKBase:
> {code:java}
> public List getListOfReplicators() {
> List result = null;
> try {
>   result = ZKUtil.listChildrenNoWatch(this.zookeeper, this.queuesZNode);
> } catch (KeeperException e) {
>   this.abortable.abort("Failed to get list of replicators", e);
> }
> return result;
>   }
> {code}
> ReplicationLogCleaner:
> {code:java}
> private Set loadWALsFromQueues() throws KeeperException {
> for (int retry = 0; ; retry++) {
>   int v0 = replicationQueues.getQueuesZNodeCversion();
>   List rss = replicationQueues.getListOfReplicators();
>   if (rss == null) {
> LOG.debug("Didn't find any region server that replicates, won't 
> prevent any deletions.");
> return ImmutableSet.of();
>   }
>   ...
> {code}



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


[jira] [Updated] (HBASE-18282) ReplicationLogCleaner can delete WALs not yet replicated in case of a KeeperException

2018-02-14 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-18282:
---
Fix Version/s: 2.0.0

> ReplicationLogCleaner can delete WALs not yet replicated in case of a 
> KeeperException
> -
>
> Key: HBASE-18282
> URL: https://issues.apache.org/jira/browse/HBASE-18282
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 1.3.1, 1.2.6, 1.1.11, 2.0.0-alpha-1
>Reporter: Ashu Pachauri
>Priority: Critical
> Fix For: 2.0.0, 1.3.2, 1.5.0, 1.4.2
>
> Attachments: HBASE-18282-branch-1.patch, HBASE-18282-branch-2.patch
>
>
> ReplicationStateZKBase#getListOfReplicators does not rethrow a 
> KeeperException and returns null in such a case. ReplicationLogCleaner just 
> assumes that there are no replicators and deletes everything.
> ReplicationStateZKBase:
> {code:java}
> public List getListOfReplicators() {
> List result = null;
> try {
>   result = ZKUtil.listChildrenNoWatch(this.zookeeper, this.queuesZNode);
> } catch (KeeperException e) {
>   this.abortable.abort("Failed to get list of replicators", e);
> }
> return result;
>   }
> {code}
> ReplicationLogCleaner:
> {code:java}
> private Set loadWALsFromQueues() throws KeeperException {
> for (int retry = 0; ; retry++) {
>   int v0 = replicationQueues.getQueuesZNodeCversion();
>   List rss = replicationQueues.getListOfReplicators();
>   if (rss == null) {
> LOG.debug("Didn't find any region server that replicates, won't 
> prevent any deletions.");
> return ImmutableSet.of();
>   }
>   ...
> {code}



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


[jira] [Updated] (HBASE-18282) ReplicationLogCleaner can delete WALs not yet replicated in case of a KeeperException

2018-02-14 Thread Andrew Purtell (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Purtell updated HBASE-18282:
---
Fix Version/s: 1.4.2
   1.5.0
   1.3.2

> ReplicationLogCleaner can delete WALs not yet replicated in case of a 
> KeeperException
> -
>
> Key: HBASE-18282
> URL: https://issues.apache.org/jira/browse/HBASE-18282
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 1.3.1, 1.2.6, 1.1.11, 2.0.0-alpha-1
>Reporter: Ashu Pachauri
>Priority: Critical
> Fix For: 2.0.0, 1.3.2, 1.5.0, 1.4.2
>
> Attachments: HBASE-18282-branch-1.patch, HBASE-18282-branch-2.patch
>
>
> ReplicationStateZKBase#getListOfReplicators does not rethrow a 
> KeeperException and returns null in such a case. ReplicationLogCleaner just 
> assumes that there are no replicators and deletes everything.
> ReplicationStateZKBase:
> {code:java}
> public List getListOfReplicators() {
> List result = null;
> try {
>   result = ZKUtil.listChildrenNoWatch(this.zookeeper, this.queuesZNode);
> } catch (KeeperException e) {
>   this.abortable.abort("Failed to get list of replicators", e);
> }
> return result;
>   }
> {code}
> ReplicationLogCleaner:
> {code:java}
> private Set loadWALsFromQueues() throws KeeperException {
> for (int retry = 0; ; retry++) {
>   int v0 = replicationQueues.getQueuesZNodeCversion();
>   List rss = replicationQueues.getListOfReplicators();
>   if (rss == null) {
> LOG.debug("Didn't find any region server that replicates, won't 
> prevent any deletions.");
> return ImmutableSet.of();
>   }
>   ...
> {code}



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


[jira] [Updated] (HBASE-18282) ReplicationLogCleaner can delete WALs not yet replicated in case of a KeeperException

2018-02-14 Thread Ben Lau (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-18282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ben Lau updated HBASE-18282:

Attachment: HBASE-18282-branch-2.patch
HBASE-18282-branch-1.patch

> ReplicationLogCleaner can delete WALs not yet replicated in case of a 
> KeeperException
> -
>
> Key: HBASE-18282
> URL: https://issues.apache.org/jira/browse/HBASE-18282
> Project: HBase
>  Issue Type: Bug
>  Components: Replication
>Affects Versions: 1.3.1, 1.2.6, 1.1.11, 2.0.0-alpha-1
>Reporter: Ashu Pachauri
>Priority: Critical
> Attachments: HBASE-18282-branch-1.patch, HBASE-18282-branch-2.patch
>
>
> ReplicationStateZKBase#getListOfReplicators does not rethrow a 
> KeeperException and returns null in such a case. ReplicationLogCleaner just 
> assumes that there are no replicators and deletes everything.
> ReplicationStateZKBase:
> {code:java}
> public List getListOfReplicators() {
> List result = null;
> try {
>   result = ZKUtil.listChildrenNoWatch(this.zookeeper, this.queuesZNode);
> } catch (KeeperException e) {
>   this.abortable.abort("Failed to get list of replicators", e);
> }
> return result;
>   }
> {code}
> ReplicationLogCleaner:
> {code:java}
> private Set loadWALsFromQueues() throws KeeperException {
> for (int retry = 0; ; retry++) {
>   int v0 = replicationQueues.getQueuesZNodeCversion();
>   List rss = replicationQueues.getListOfReplicators();
>   if (rss == null) {
> LOG.debug("Didn't find any region server that replicates, won't 
> prevent any deletions.");
> return ImmutableSet.of();
>   }
>   ...
> {code}



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