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

[email protected] commented on BOOKKEEPER-112:
----------------------------------------------------------



bq.  On 2012-03-29 12:44:18, Ivan Kelly wrote:
bq.  > 
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java,
 line 444
bq.  > <https://reviews.apache.org/r/3472/diff/7/?file=94988#file94988line444>
bq.  >
bq.  >     Perhaps we should close lh here. It's a noop really, as a non 
recovery lh is a ReadOnlyLedgerHandle, where noop is just a stub. We should 
close it anyhow, just in case it changes to not being a noop in the future.

otherwise the patch looks good to me. +1


- Ivan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3472/#review6515
-----------------------------------------------------------


On 2012-03-23 15:30:15, Sijie Guo wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/3472/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2012-03-23 15:30:15)
bq.  
bq.  
bq.  Review request for bookkeeper.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Bookie recovery updates the ledger metadata in zookeeper. LedgerHandle 
will not get notified of this update, so it will try to write out its own 
ledger metadata, only to fail with KeeperException.BadVersion. This effectively 
fences all write operations on the LedgerHandle (close and addEntry). close 
will fail for obvious reasons. addEntry will fail once it gets to the failed 
bookie in the schedule, tries to write, fails, selects a new bookie and tries 
to update ledger metadata.
bq.  
bq.  Update Line 605, testSyncBookieRecoveryToRandomBookiesCheckForDupes(), 
when done
bq.  Also, uncomment addEntry in 
TestFencing#testFencingInteractionWithBookieRecovery()
bq.  
bq.  
bq.  This addresses bug BOOKKEEPER-112.
bq.      https://issues.apache.org/jira/browse/BOOKKEEPER-112
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java
 37623dc 
bq.    
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java 
f71e53f 
bq.    
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerMetadata.java
 b403aa1 
bq.    
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerRecoveryOp.java
 c67a79c 
bq.    
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java 
539d6b2 
bq.    
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
 b8923e8 
bq.    
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestFencing.java 
7de1c10 
bq.    
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookKeeperClusterTestCase.java
 0b882c6 
bq.    
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/CloseTest.java 
e28d32c 
bq.  
bq.  Diff: https://reviews.apache.org/r/3472/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Sijie
bq.  
bq.


                
> Bookie Recovery on an open ledger will cause LedgerHandle#close on that 
> ledger to fail
> --------------------------------------------------------------------------------------
>
>                 Key: BOOKKEEPER-112
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-112
>             Project: Bookkeeper
>          Issue Type: Bug
>            Reporter: Flavio Junqueira
>            Assignee: Sijie Guo
>             Fix For: 4.1.0
>
>         Attachments: BK-112.patch, BOOKKEEPER-112.patch, 
> BOOKKEEPER-112.patch_v2, BOOKKEEPER-112.patch_v3, BOOKKEEPER-112.patch_v4, 
> BOOKKEEPER-112.patch_v5, BOOKKEEPER-112.patch_v6, bk-112.pdf, bk-112.pdf
>
>
> Bookie recovery updates the ledger metadata in zookeeper. LedgerHandle will 
> not get notified of this update, so it will try to write out its own ledger 
> metadata, only to fail with KeeperException.BadVersion. This effectively 
> fences all write operations on the LedgerHandle (close and addEntry). close 
> will fail for obvious reasons. addEntry will fail once it gets to the failed 
> bookie in the schedule, tries to write, fails, selects a new bookie and tries 
> to update ledger metadata.
> Update Line 605, testSyncBookieRecoveryToRandomBookiesCheckForDupes(), when 
> done
> Also, uncomment addEntry in 
> TestFencing#testFencingInteractionWithBookieRecovery()

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to