tsturzl opened a new issue, #5231: URL: https://github.com/apache/paimon/issues/5231
### Search before asking - [x] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar. ### Paimon version 10.0 ### Compute Engine JavaAPI ### Minimal reproduce step I'm just writing out data into s3 using a PostgreSQL catalog, and suddenly things start failing with a long stack trace which crashes out the thread: ``` 2025-03-08T00:51:58.899543736Z ERROR Unable to format msg: 0, VisitedIndex{visitedIndexes={}}: [] r:0 java.lang.IllegalArgumentException: found 1 argument placeholders, but provided 0 for pattern `0, VisitedIndex{visitedIndexes={}}: [] r:0` at org.apache.logging.log4j.message.ParameterFormatter.formatMessage(ParameterFormatter.java:248) at org.apache.logging.log4j.message.ParameterizedMessage.formatTo(ParameterizedMessage.java:282) at org.apache.logging.log4j.core.pattern.MessagePatternConverter$SimpleMessagePatternConverter.format(MessagePatternConverter.java:120) at org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:44) at org.apache.logging.log4j.core.pattern.StyleConverter.format(StyleConverter.java:117) at org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:44) at org.apache.logging.log4j.core.pattern.HighlightConverter.format(HighlightConverter.java:248) at org.apache.logging.log4j.core.layout.PatternLayout$NoFormatPatternSerializer.toSerializable(PatternLayout.java:355) at org.apache.logging.log4j.core.layout.PatternLayout.toText(PatternLayout.java:252) at org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:238) at org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:58) at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:227) at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:220) at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:211) at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:160) at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:133) at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:124) at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:88) at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:705) at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:663) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:639) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:575) at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:92) at org.apache.logging.log4j.core.Logger.log(Logger.java:169) at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2906) at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2859) at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2841) at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2631) at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:2394) at org.apache.logging.slf4j.Log4jLogger.debug(Log4jLogger.java:128) at org.apache.paimon.shade.org.apache.parquet.io.MessageColumnIO$MessageColumnIORecordConsumer.log(MessageColumnIO.java:283) at org.apache.paimon.shade.org.apache.parquet.io.MessageColumnIO$MessageColumnIORecordConsumer.printState(MessageColumnIO.java:269) at org.apache.paimon.shade.org.apache.parquet.io.MessageColumnIO$MessageColumnIORecordConsumer.startMessage(MessageColumnIO.java:294) at org.apache.paimon.shade.org.apache.parquet.io.RecordConsumerLoggingWrapper.startMessage(RecordConsumerLoggingWrapper.java:175) at org.apache.paimon.format.parquet.writer.ParquetRowDataWriter.write(ParquetRowDataWriter.java:71) at org.apache.paimon.format.parquet.writer.ParquetRowDataBuilder$ParquetWriteSupport.write(ParquetRowDataBuilder.java:75) at org.apache.paimon.format.parquet.writer.ParquetRowDataBuilder$ParquetWriteSupport.write(ParquetRowDataBuilder.java:56) at org.apache.paimon.shade.org.apache.parquet.hadoop.InternalParquetRecordWriter.write(InternalParquetRecordWriter.java:138) at org.apache.paimon.shade.org.apache.parquet.hadoop.ParquetWriter.write(ParquetWriter.java:103) at org.apache.paimon.format.parquet.writer.ParquetBulkWriter.addElement(ParquetBulkWriter.java:47) at org.apache.paimon.io.SingleFileWriter.writeImpl(SingleFileWriter.java:126) at org.apache.paimon.io.StatsCollectingSingleFileWriter.write(StatsCollectingSingleFileWriter.java:84) at org.apache.paimon.io.KeyValueDataFileWriter.write(KeyValueDataFileWriter.java:123) at org.apache.paimon.io.KeyValueDataFileWriter.write(KeyValueDataFileWriter.java:58) at org.apache.paimon.io.RollingFileWriter.write(RollingFileWriter.java:80) at org.apache.paimon.mergetree.SortBufferWriteBuffer.forEach(SortBufferWriteBuffer.java:162) at org.apache.paimon.mergetree.MergeTreeWriter.flushWriteBuffer(MergeTreeWriter.java:225) at org.apache.paimon.mergetree.MergeTreeWriter.prepareCommit(MergeTreeWriter.java:264) at org.apache.paimon.operation.AbstractFileStoreWrite.prepareCommit(AbstractFileStoreWrite.java:218) at org.apache.paimon.operation.MemoryFileStoreWrite.prepareCommit(MemoryFileStoreWrite.java:155) at org.apache.paimon.table.sink.TableWriteImpl.prepareCommit(TableWriteImpl.java:253) at com.toro.trc.services.confluence.utils.TAvroToPaimon.writeToTable(TAvroToPaimon.java:137) at com.toro.trc.services.confluence.sinks.TPaimonTableSink.publish(TPaimonTableSink.java:70) at com.toro.trc.services.confluence.sinks.TRobotPulsarPaimonSink.publish(TRobotPulsarPaimonSink.java:51) at com.toro.trc.services.confluence.TConflux.writeToSink(TConflux.java:146) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.base/java.lang.VirtualThread.run(VirtualThread.java:329) ``` ### What doesn't meet your expectations? The thread crashes because of a log4j issue inside of the parquet library. Obviously not ideal. ### Anything else? Took a little bit, but I found that this is a known issue with parquet-java that has since been fixed in this PR: https://github.com/apache/parquet-java/pull/1294 The first release to include this fix was 1.14.0. So I assume just upgrading to at least that version should address the issue. Latest version is 1.15.0. Would it be reasonable to just move to the latest version? ### Are you willing to submit a PR? - [x] I'm willing to submit a PR! -- 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. To unsubscribe, e-mail: issues-unsubscr...@paimon.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org