Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-16099

Make bpServiceToActive to be volatile

    XMLWordPrintableJSON

Details

    • Reviewed

    Description

      BPOfferService#bpServiceToActive is not volatile, which may cause CommandProcessingThread to get the out-of-date active namenode.
      When a failover occurs, the old ANN's CommandProcessingThread may read the outdated BPOfferService#bpServiceToActive and execute the NN's command. At this time, if the new ANN's CommandProcessingThread reads the new value of bpServiceToActive, split brain will occur; otherwise, the new ANN's commands cannot be executed normally, which is also unacceptable.

      Attachments

        Issue Links

          Activity

            People

              zhangshuyan Shuyan Zhang
              zhangshuyan Shuyan Zhang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m