hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeffrey Zhong (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8539) Double(or tripple ...) ZooKeeper listeners of the same type when Master recovers from ZK SessionExpiredException
Date Fri, 17 May 2013 07:45:19 GMT

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

Jeffrey Zhong commented on HBASE-8539:
--------------------------------------

I scanned though the code about registerListener and found we use them in various ways. So
I came up the v3 addendum which is really an addendum to my original patch. 

It basically remember what listeners are registered before master initialization so that we
can add them back during master recovery when we cleaned all old listeners. 

Since the changes are limited to master recovery, it's a low risk change.

I run the whole test suit against trunk and 0.94 security build. Both passed 
                
> Double(or tripple ...) ZooKeeper listeners of the same type when Master recovers from
ZK SessionExpiredException
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-8539
>                 URL: https://issues.apache.org/jira/browse/HBASE-8539
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.98.0, 0.94.7, 0.95.0
>            Reporter: Jeffrey Zhong
>            Assignee: Jeffrey Zhong
>             Fix For: 0.98.0, 0.94.8, 0.95.1
>
>         Attachments: 8539-addendum-v2.patch, double-registered listeners.png, hbase-8539-0.94-addendum.patch,
hbase-8539-0.94.patch, hbase-8539-addendum.patch, hbase-8539.patch, hbase-8539.patch
>
>
> When Master tries to recover from zookeeper session expired exceptions, we don't clean
old registered listener instances. Therefore, it may end up we have two(or more) listeners
to double handling same events. Attached a screen shot from debugger to show the issue.
> I considered to limit one listener per class while I think that would limit the listener
usage so I choose to clear exiting listeners during recovery for the fix.
> (This issue is unrelated to the issue HBASE-8365 because I verified there is no dup-listeners
when HBASE-8365 happened)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message