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

FSHLog may roll a new writer successfully with unflushed entries

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 1.4.0, 1.1.7, 1.2.4, 2.0.0
    • Fix Version/s: 1.4.0, 1.2.5, 1.1.8, 2.0.0
    • Component/s: wal
    • Labels:
      None
    • Hadoop Flags:
      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

          Activity

            People

            • Assignee:
              Apache9 Duo Zhang
              Reporter:
              Apache9 Duo Zhang
            • Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: