Closed Bunakov-IA closed 3 months ago
Hi @Bunakov-IA, thanks for the report and I will try to reproduce it in the next 1-2 days by generating a compressed fsimage.
@Bunakov-IA FYI: Just released 1.4.9 including this fix.
@marcelmay , thank you. Release 1.4.9 is okay.
We are trying to run the exporter for our Hadoop 3.3.6 fsimage. Environment:
We are getting this error: 2024-08-28 13:04:57,227 [pool-3-thread-1] ERROR de.m3y.prometheus.exporter.fsimage.FsImageUpdateHandler - Can not load FSImage /opt/hadoop/monitoring/fsimage_0000000000000684498 java.lang.IllegalStateException: Can not load fsimage section STRING_TABLE at de.m3y.hadoop.hdfs.hfsa.core.FsImageLoader.loadSection(FsImageLoader.java:270) at de.m3y.hadoop.hdfs.hfsa.core.FsImageLoader.load(FsImageLoader.java:293) at de.m3y.prometheus.exporter.fsimage.FsImageUpdateHandler.loadFsImage(FsImageUpdateHandler.java:207) at de.m3y.prometheus.exporter.fsimage.FsImageUpdateHandler.onFsImageChange(FsImageUpdateHandler.java:185) at de.m3y.prometheus.exporter.fsimage.FsImageWatcher.run(FsImageWatcher.java:64) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: java.lang.NullPointerException at org.apache.hadoop.io.compress.DefaultCodec.createInputStream(DefaultCodec.java:91) at org.apache.hadoop.io.compress.CompressionCodec$Util.createInputStreamWithCodecPool(CompressionCodec.java:160) at org.apache.hadoop.io.compress.DefaultCodec.createInputStream(DefaultCodec.java:83) at org.apache.hadoop.hdfs.server.namenode.FSImageUtil.wrapInputStreamForCompression(FSImageUtil.java:91) at de.m3y.hadoop.hdfs.hfsa.core.FsImageLoader.loadSection(FsImageLoader.java:263) ... 10 more
@marcelmay, here is the configuration for dfs.image.compression.codec:
If you set the compression configuration to disabled, parsing works successfully:
However, everything functions on an uncompressed image. How can we overcome this issue?