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

FSHLog may roll a new writer successfully with unflushed entries

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 1.4.0, 1.1.7, 1.2.4, 2.0.0
    • 1.4.0, 1.2.5, 1.1.8, 2.0.0
    • wal
    • None
    • Reviewed

    Description

      Found it when debugging the flakey TestFailedAppendAndSync.

      The problem is in waitSafePoint.

            while (true) {
              if (this.safePointAttainedLatch.await(1, TimeUnit.MILLISECONDS)) {
                break;
              }
              if (syncFuture.isThrowable()) {
                throw new FailedSyncBeforeLogCloseException(syncFuture.getThrowable());
              }
            }
            return syncFuture;
      

      If we attach the safe point quick enough then we will bypass the syncFuture.isThrowable check and will not throw FailedSyncBeforeLogCloseException.

      This may cause incosistency between memstore and wal.

      Attachments

        1. HBASE-17206.patch
          2 kB
          Duo Zhang

        Activity

          People

            zhangduo Duo Zhang
            zhangduo Duo Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: