keith-turner edited a comment on issue #559: fixes #558 use copy to avoid 
deadlock in tserver
URL: https://github.com/apache/accumulo/pull/559#issuecomment-406316324
 
 
   While looking into creating the release notes, I was getting confused trying 
to unravel and understand the #441 and #539 bugs fixes.  Looking back, I have 
it all sorted out in my mind now.  I am writing up a summary of my 
understanding in this comment.
   
   For each tablet there are three different sets of active WALogs. While a 
WALog exist in anyone of these sets it must not be garbage collected.  The 
following are the three sets.
   
     1. WALogs related to the tablets active in memory map
     2. WAlogs related to the tablets inactive in memory map that is in the 
process of being minor compacted
     3. WAlogs related to a newly minor compacted file that is in the process 
of being added to the tablets row in the metadata table.
   
   From Accumulo [1.8.0,1.9.0] only set 1 was consulted to determine what 
WALogs were active for a tablet.  In #443 the code was changed to also consider 
set 2, however this may have introduced a possible deadlock in the code.   So 
1.9.1 consults sets 1 and 2, but may have a deadlock.  This PR also considers 
set 3 and fixes the deadlock.   So 1.9.2 consults sets 1,2,and 3 w/o having a 
deadlock.  

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to