You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Viraj Jasani (Jira)" <ji...@apache.org> on 2022/09/28 19:00:00 UTC

[jira] [Created] (HBASE-27398) Remove dumping of EOFException while reading WAL with ProtobufLogReader

Viraj Jasani created HBASE-27398:
------------------------------------

             Summary: Remove dumping of EOFException while reading WAL with ProtobufLogReader
                 Key: HBASE-27398
                 URL: https://issues.apache.org/jira/browse/HBASE-27398
             Project: HBase
          Issue Type: Improvement
            Reporter: Viraj Jasani
            Assignee: Viraj Jasani
             Fix For: 2.6.0, 2.5.1, 3.0.0-alpha-4, 2.4.15


The log processing tooling that helps extract and analyze Exceptions from regionserver logs can read EOFException while reseting seeking to original position as part of ProtobufLogReader implementation.

Common logs:
{code:java}
2022-09-28 17:02:00,288 DEBUG [20%2C1664323516467,1] wal.ProtobufLogReader - Encountered a malformed edit, seeking back to last good position in file, from 187159 to 187158
java.io.EOFException: Partial PB while reading WAL, probably an unexpected EOF, ignoring. current offset=187159
	at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.readNext(ProtobufLogReader.java:390)
	at org.apache.hadoop.hbase.regionserver.wal.ReaderBase.next(ReaderBase.java:104)
	at org.apache.hadoop.hbase.regionserver.wal.ReaderBase.next(ReaderBase.java:92)
	at org.apache.hadoop.hbase.replication.regionserver.WALEntryStream.readNextEntryAndRecordReaderPosition(WALEntryStream.java:258)
	at org.apache.hadoop.hbase.replication.regionserver.WALEntryStream.tryAdvanceEntry(WALEntryStream.java:172)
	at org.apache.hadoop.hbase.replication.regionserver.WALEntryStream.hasNext(WALEntryStream.java:101)
	at org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.tryAdvanceStreamAndCreateWALBatch(ReplicationSourceWALReader.java:251)
	at org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.run(ReplicationSourceWALReader.java:148) {code}
{code:java}
2022-09-28 11:02:10,792 DEBUG [20%2C1664323193648,1] wal.ProtobufLogReader - Encountered a malformed edit, seeking back to last good position in file, from 112026775 to 112026303
java.io.EOFException: EOF  while reading 296 WAL KVs; started reading at 112026367 and read up to 112026775
	at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.readNext(ProtobufLogReader.java:418)
	at org.apache.hadoop.hbase.regionserver.wal.ReaderBase.next(ReaderBase.java:104)
	at org.apache.hadoop.hbase.regionserver.wal.ReaderBase.next(ReaderBase.java:92)
	at org.apache.hadoop.hbase.replication.regionserver.WALEntryStream.readNextEntryAndRecordReaderPosition(WALEntryStream.java:258)
	at org.apache.hadoop.hbase.replication.regionserver.WALEntryStream.tryAdvanceEntry(WALEntryStream.java:172)
	at org.apache.hadoop.hbase.replication.regionserver.WALEntryStream.hasNext(WALEntryStream.java:101)
	at org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.readWALEntries(ReplicationSourceWALReader.java:222)
	at org.apache.hadoop.hbase.replication.regionserver.ReplicationSourceWALReader.run(ReplicationSourceWALReader.java:157)
Caused by: java.io.EOFException: Only read 6
	at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.readNext(ProtobufLogReader.java:406)
	... 7 more {code}
After looking at these logs, it seems that having EOFException even at DEBUG level is not helping much because reseting seek to a different position is going to be expected often. We should remove dumping EOFException in these cases.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)