Parquet files with large footers could not be read. The length of the footer is written at the end of the file. To avoid excessive reads for smaller files, we read a reasonable amount of the end of the file that may contain the whole footer, with the actual exact length appearing at the end of the read. After checking the length we tried to read the remining portion ahead of what was already read and splice them together. The offset for where to put the bytes read first was off.