Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-22816

confusion about the HBASE-11403 race condition issue

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Invalid
    • 1.0.0
    • 1.3.4
    • Client
    • None
    •    

    Description

      Recently, when I read the hbase source code of version 1.0.0, I found a method which I don't understand very much. That is the class AsyncProcess.java in client package, I did not understand why the code  if (tasksInProgress.get() != oldInProgress)  break exist in the private void waitForMaximumCurrentTasks(int max) method, if the  passed parameter max = 0,then it is possible that the tasksInProgress.get() > 0 but tasksInProgress.get() != oldInProgress,then the loop breaks,it is not what we want, we need all the previous jobs is done before the loop breaks,right? In the HBASE-11403, it is added to fix the race condition issue,I do not know what will cause race condition. When I click the url of the Test results, it is missing. Who can tell me why the code tasksInProgress.get() != oldInProgress shoud be added there?

      Attachments

        Activity

          People

            Unassigned Unassigned
            hbase jay
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: