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
