kbendick opened a new pull request, #4697: URL: https://github.com/apache/iceberg/pull/4697
Some tests in Flink's `TestFlinkTableSource` have been found to be order dependent. As the order of results on read is not defined (without an order by clause), most of the tests were fixed in https://github.com/apache/iceberg/commit/c726b2222f491aac02f0f1910898b4a8dfda2b14 However, there is one test that has a `LIMIT 1` that then asserts on the row, which could be any of 3 possible rows. As Flink happened to be returning the records in a stable manner prior to Flink 1.15, this test was passing. But in PR https://github.com/apache/iceberg/pull/4693, this test was discovered to occasionally fail, as `SELECT * .... LIMIT 1` on a table with 3 results has no guarantee of which record will be returned. Failed execution output: ``` org.apache.iceberg.flink.TestFlinkTableSource > testLimitPushDown FAILED java.lang.AssertionError: Should produce the expected records expected:<+I[1, iceberg, 10.0]> but was:<+I[2, b, 20.0]> at org.junit.Assert.fail(Assert.java:89) at org.junit.Assert.failNotEquals(Assert.java:835) at org.junit.Assert.assertEquals(Assert.java:120) at org.apache.iceberg.flink.TestFlinkTableSource.testLimitPushDown(TestFlinkTableSource.java:107) ``` I've updated the test to assert that there is only one record, and that it is one of the 3 records in the table (which is assured by the previous query, which issues `SELECT * .. LIMIT 4` with no filter and gets 3 records back). -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
