milleruntime opened a new issue #2172:
URL: https://github.com/apache/accumulo/issues/2172
The recent changes to sorted recovery in #2117 broke the `LogReader`
utility. It is still using `RecoveryLogReader` to read from sorted WALs.
`LogReader` needs to be changed to use the updated `RecoveryLogsIterator`.
<pre>
accumulo wal-info /accumulo/recovery/9cbe3382-7b2a-477e-b1f6-5edeaa401001
2021-06-22T11:12:33,271 [start.Main] ERROR: Thread 'wal-info' died.
java.io.FileNotFoundException: File does not exist:
hdfs://localhost:8020/accumulo/recovery/9cbe3382-7b2a-477e-b1f6-5edeaa401001/part-r-00000.rf/data
at
org.apache.hadoop.hdfs.DistributedFileSystem$29.doCall(DistributedFileSystem.java:1729)
~[hadoop-client-api-3.3.0.jar:?]
at
org.apache.hadoop.hdfs.DistributedFileSystem$29.doCall(DistributedFileSystem.java:1722)
~[hadoop-client-api-3.3.0.jar:?]
at
org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
~[hadoop-client-api-3.3.0.jar:?]
at
org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1737)
~[hadoop-client-api-3.3.0.jar:?]
at
org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1863)
~[hadoop-client-api-3.3.0.jar:?]
at
org.apache.hadoop.io.MapFile$Reader.createDataFileReader(MapFile.java:460)
~[hadoop-client-api-3.3.0.jar:?]
at org.apache.hadoop.io.MapFile$Reader.open(MapFile.java:433)
~[hadoop-client-api-3.3.0.jar:?]
at org.apache.hadoop.io.MapFile$Reader.<init>(MapFile.java:403)
~[hadoop-client-api-3.3.0.jar:?]
at
org.apache.accumulo.tserver.log.RecoveryLogReader.<init>(RecoveryLogReader.java:137)
~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
at
org.apache.accumulo.tserver.log.RecoveryLogReader.<init>(RecoveryLogReader.java:120)
~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
at
org.apache.accumulo.tserver.logger.LogReader.execute(LogReader.java:150)
~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
at org.apache.accumulo.start.Main.lambda$execKeyword$0(Main.java:126)
~[accumulo-start-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
at java.lang.Thread.run(Thread.java:829) [?:?]
</pre>
Also if you specifiy one of the sorted WALs as a file to read, this error is
reported.
<pre>
accumulo wal-info
/accumulo/recovery/9cbe3382-7b2a-477e-b1f6-5edeaa401001/part-r-00000.rf
2021-06-22T11:13:23,898 [start.Main] ERROR: Thread 'wal-info' died.
java.lang.IllegalArgumentException: Unsupported write ahead log version
######
at
org.apache.accumulo.tserver.log.DfsLogger.getDecryptingStream(DfsLogger.java:378)
~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
at
org.apache.accumulo.tserver.logger.LogReader.execute(LogReader.java:134)
~[accumulo-tserver-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
at org.apache.accumulo.start.Main.lambda$execKeyword$0(Main.java:126)
~[accumulo-start-2.1.0-SNAPSHOT.jar:2.1.0-SNAPSHOT]
at java.lang.Thread.run(Thread.java:829) [?:?]
</pre>
We may want to keep the old technique for reading the map files and give an
option to delete the old files.
--
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]