Apache9 commented on a change in pull request #753: HBASE-23181 Blocked WAL
archive: "LogRoller: Failed to schedule flush…
URL: https://github.com/apache/hbase/pull/753#discussion_r338879759
##########
File path:
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.java
##########
@@ -1113,10 +1135,21 @@ public OptionalLong getLogFileSizeIfBeingWritten(Path
path) {
* passed in WALKey <code>walKey</code> parameter. Be warned that the
WriteEntry is not
* immediately available on return from this method. It WILL be available
subsequent to a sync of
* this append; otherwise, you will just have to wait on the WriteEntry to
get filled in.
+ * @param info the regioninfo associated with append
+ * @param key Modified by this call; we add to it this edits region
edit/sequence id.
+ * @param edits Edits to append. MAY CONTAIN NO EDITS for case where we want
to get an edit
+ * sequence id that is after all currently appended edits.
+ * @param inMemstore Always true except for case where we are writing a
region event marker, for
+ * example, a compaction completion record into the WAL; in this
case the entry is just
+ * so we can finish an unfinished compaction -- it is not an edit
for memstore.
+ * @param closeRegion Whether this is a region close marker, i.e, the last
wal edit for this
+ * region on this region server. The WAL implementation should
remove all the related
+ * stuff, for example, the sequence id accounting.
Review comment:
This is for telling us this is a special marker type... We have
FlushDescriptor, RegionEventMarker, so we can not pass the marker directly, we
just get a WALEdit here. Another is to deserialize the cells in the WALEdit and
check if it is a close marker, but deserializing will introduce to an
IOException, which makes the code a bit ugly if just ignore it. And also, this
is not good for performance, as we just serialize it in the upper layer and
then we deserialize it...
----------------------------------------------------------------
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:
[email protected]
With regards,
Apache Git Services