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

AbstractWALProvider may miss the WAL which is under creation in getWALs method

VotersStop watchingWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0.0-beta-1
    • Replication, wal
    • None
    • Reviewed

    Description

      Found this problem when analysis HBASE-28114.

      In the AbstractFSWALProvider implementation, if wal field is null, we will acquire the creation lock so we can get the WAL instance which is under creation, so we will not miss the WAL instance, and also will not get an uninitialized WAL instance.

      We should try to do the same for remote WAL, otherwise the logic in WALEntryStream, where we rely on the return value of getWALs to test whether a WAL file is currently being written, will be broken.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            zhangduo Duo Zhang
            zhangduo Duo Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Stop watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment