Skip to content

Commit 5e31b62

Browse files
committed
#826 Add a very rare edge case when a record created is bigger than 2 GB.
1 parent e8622c7 commit 5e31b62

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

spark-cobol/src/main/scala/za/co/absa/cobrix/spark/cobol/writer/BasicRecordCombiner.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ class BasicRecordCombiner extends RecordCombiner {
8686
s"RDW length $recordLengthLong exceeds 65535 and cannot be encoded in big-endian mode."
8787
)
8888
}
89+
if (!isRdwBigEndian && recordLengthLong > Int.MaxValue.toLong) {
90+
throw new IllegalArgumentException(
91+
s"RDW length $recordLengthLong exceeds ${Int.MaxValue} and cannot be encoded safely."
92+
)
93+
}
8994
val recordLength = recordLengthLong.toInt
9095

9196
df.rdd.map { row =>

0 commit comments

Comments
 (0)