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]


Reply via email to