nyl3532016 commented on a change in pull request #2814: URL: https://github.com/apache/hbase/pull/2814#discussion_r549203755
########## File path: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.java ########## @@ -36,13 +36,13 @@ */ @InterfaceAudience.Private public class MultiVersionConcurrencyControl { - private static final Logger LOG = LoggerFactory.getLogger(MultiVersionConcurrencyControl.class); private static final long READPOINT_ADVANCE_WAIT_TIME = 10L; final String regionName; final AtomicLong readPoint = new AtomicLong(0); final AtomicLong writePoint = new AtomicLong(0); - private final Object readWaiters = new Object(); + + private final ThreadLocal<WriteEntry> cachedWriteEntries; Review comment: Let me check the multi-thread safety more carefully. User will wait for MVCC to move when use `ASYNC_WAL` or even `NO_WAL` `ASYNC_WAL` only effect phase of WAL sync which contained in the period from `WriteEntry` generate to `MVCC` move, `NO_WAL` will generate `WriteEntry` while write data to memstore ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org