trinodb / trino

Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
https://trino.io
Apache License 2.0
9.95k stars 2.87k forks source link

"Self-suppression not permitted" possible when writing sequence file fails #3326

Open findepi opened 4 years ago

findepi commented 4 years ago
[2020-04-02T12:48:06.159Z] ptl-presto-master   | java.lang.IllegalArgumentException: Self-suppression not permitted
[2020-04-02T12:48:06.159Z] ptl-presto-master   |    at java.lang.Throwable.addSuppressed(Throwable.java:1072)
[2020-04-02T12:48:06.159Z] ptl-presto-master   |    at io.prestosql.plugin.hive.util.SequenceFileRecordWriter.close(SequenceFileRecordWriter.java:72)
[2020-04-02T12:48:06.159Z] ptl-presto-master   |    at io.prestosql.plugin.hive.RecordFileWriter.commit(RecordFileWriter.java:180)
[2020-04-02T12:48:06.159Z] ptl-presto-master   |    at io.prestosql.plugin.hive.HiveWriter.commit(HiveWriter.java:86)
[2020-04-02T12:48:06.159Z] ptl-presto-master   |    at io.prestosql.plugin.hive.HivePageSink.doFinish(HivePageSink.java:190)
[2020-04-02T12:48:06.159Z] ptl-presto-master   |    at io.prestosql.plugin.hive.authentication.UserGroupInformationUtils.lambda$executeActionInDoAs$0(UserGroupInformationUtils.java:29)
...
[2020-04-02T12:48:06.159Z] ptl-presto-master   |    at io.prestosql.$gen.Presto_0c13d16____20200402_124218_2.run(Unknown Source)

https://github.com/prestosql/presto/blob/f65f87f03f11bd3ff1c45320ab833b54c1ceea14/presto-hive/src/main/java/io/prestosql/plugin/hive/util/SequenceFileRecordWriter.java#L67-L72

sorin-florea commented 4 years ago

Since this a good first issue I would like to work on this if nobody wants to take it.

findepi commented 4 years ago

@floreasorin thanks, go for it!

you may want to check the code for // Self-suppression not permitted comments for the start

electrum commented 4 years ago

Do you know what data source causes this? The "Caused by" for the IllegalArgumentException is missing from the original bug report.

findepi commented 4 years ago

Yeah, i should have retained full stack. There is SequenceFileRecordWriter in the stacktrace retained.