-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HBASE-25556 Frequent replication "Encountered a malformed edit" warnings #2965
Conversation
c226007
to
5195981
Compare
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
@@ -400,22 +400,22 @@ protected boolean readNext(Entry entry) throws IOException { | |||
initCause(realEofEx != null ? realEofEx : ex); | |||
} | |||
if (trailerPresent && this.inputStream.getPos() > this.walEditsStopOffset) { | |||
LOG.error( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This particular message should only happen if the read was expected to succeed because the trailer presence means the wal was closed. Is this specific message showing up in the false alarm?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, this one did not
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
@@ -424,7 +424,7 @@ protected boolean readNext(Entry entry) throws IOException { | |||
} else { | |||
// Else restore our position to original location in hope that next time through we will | |||
// read successfully. | |||
LOG.warn("Encountered a malformed edit, seeking back to last good position in file, " | |||
LOG.debug("Encountered a malformed edit, seeking back to last good position in file, " |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@busbey This is the frequent message. The particular EOFexception it prints originates from
hbase/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.java
Line 368 in 5195981
throw new EOFException( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I agree that's not useful.
I'm +1 with the one log statement I commented on kept at error and the rest moved to debug. |
ProtobufLogReader#readNext may be called by code that attempts to advance the reader but does not necessarily expect to succeed, for example WALEntryStream#tryAdvanceEntry. Much of the logging in this method is at TRACE level. Other logging at WARN level will be frequently emitted, as often as several per minute, and this will cause false positive assessment from operators that they are experiencing a bug. Fix the mixed intent with respect to log levels in readNext. Log at only DEBUG level or below.
5195981
to
b9a075f
Compare
🎊 +1 overall
This message was automatically generated. |
If I am reading Sean's comment correctly with the change I pushed we are good to go. Will merge in a few hours unless objection. |
💔 -1 overall
This message was automatically generated. |
…ngs (#2965) ProtobufLogReader#readNext may be called by code that attempts to advance the reader but does not necessarily expect to succeed, for example WALEntryStream#tryAdvanceEntry. Much of the logging in this method is at TRACE level. Other logging at WARN level will be frequently emitted, as often as several per minute, and this will cause false positive assessment from operators that they are experiencing a bug. Fix the mixed intent with respect to log levels in readNext. Log at only DEBUG level or below. Signed-off-by: Sean Busbey <busbey@apache.org>
…ngs (#2965) ProtobufLogReader#readNext may be called by code that attempts to advance the reader but does not necessarily expect to succeed, for example WALEntryStream#tryAdvanceEntry. Much of the logging in this method is at TRACE level. Other logging at WARN level will be frequently emitted, as often as several per minute, and this will cause false positive assessment from operators that they are experiencing a bug. Fix the mixed intent with respect to log levels in readNext. Log at only DEBUG level or below. Signed-off-by: Sean Busbey <busbey@apache.org>
…ngs (#2965) ProtobufLogReader#readNext may be called by code that attempts to advance the reader but does not necessarily expect to succeed, for example WALEntryStream#tryAdvanceEntry. Much of the logging in this method is at TRACE level. Other logging at WARN level will be frequently emitted, as often as several per minute, and this will cause false positive assessment from operators that they are experiencing a bug. Fix the mixed intent with respect to log levels in readNext. Log at only DEBUG level or below. Signed-off-by: Sean Busbey <busbey@apache.org>
…ngs (#2965) ProtobufLogReader#readNext may be called by code that attempts to advance the reader but does not necessarily expect to succeed, for example WALEntryStream#tryAdvanceEntry. Much of the logging in this method is at TRACE level. Other logging at WARN level will be frequently emitted, as often as several per minute, and this will cause false positive assessment from operators that they are experiencing a bug. Fix the mixed intent with respect to log levels in readNext. Log at only DEBUG level or below. Signed-off-by: Sean Busbey <busbey@apache.org>
🎊 +1 overall
This message was automatically generated. |
…ngs (apache#2965) ProtobufLogReader#readNext may be called by code that attempts to advance the reader but does not necessarily expect to succeed, for example WALEntryStream#tryAdvanceEntry. Much of the logging in this method is at TRACE level. Other logging at WARN level will be frequently emitted, as often as several per minute, and this will cause false positive assessment from operators that they are experiencing a bug. Fix the mixed intent with respect to log levels in readNext. Log at only DEBUG level or below. Signed-off-by: Sean Busbey <busbey@apache.org>
…ngs (apache#2965) ProtobufLogReader#readNext may be called by code that attempts to advance the reader but does not necessarily expect to succeed, for example WALEntryStream#tryAdvanceEntry. Much of the logging in this method is at TRACE level. Other logging at WARN level will be frequently emitted, as often as several per minute, and this will cause false positive assessment from operators that they are experiencing a bug. Fix the mixed intent with respect to log levels in readNext. Log at only DEBUG level or below. Signed-off-by: Sean Busbey <busbey@apache.org> (cherry picked from commit ecdc942) Change-Id: I5181c60fc8d97586e2be77909cd923df37c94325
ProtobufLogReader#readNext may be called by code that attempts to advance the reader but does not necessarily expect to succeed, for example WALEntryStream#tryAdvanceEntry. Much of the logging in this method is at TRACE level. Other logging at WARN level will be frequently emitted, as often as a few times per minute, and this will cause false positive assessment from operators that they are experiencing a bug.
Fix the mixed intent with respect to log levels in readNext. Log at only DEBUG level or below.