The structure of report is like
Main table
Row 1 - Another table with master data (sort of header)
Row 2 - Split into two sections : 1st section has 4 columns, second section is a table.
Row 3 - Detail Table
Row 4 - Kinda footer.
Now there are no page breaks anywhere. Somehow after Row 2 in some records there is a page break. The detail table is getting displayed on another page while the 1st two rows are on another page.
The properties pageBreakAtEnd/pageBreakAtStart are false everywhere.
In addition when I set the pageBreakAtEnd for the main table its not working. The next instance of the main table starts from the same page.