The GitHub Actions job "Validate and test" on pekko-persistence-r2dbc.git/oracle-dialect has failed. Run started by GitHub user ptrdom (triggered by ptrdom).
Head commit for run: 4e23f91018ac4dc35ba4f75e8d353c1c750d940e / Domantas Petrauskas <[email protected]> core: address Oracle review comments Motivation: Review of #532 found that backtracking durable state queries, empty entity types and empty metadata payloads fail or return wrong results on Oracle, that concurrent first snapshot saves can fail, and that the Oracle connection adapter changed how user statements bind byte arrays and read NULL. The Oracle CI jobs failed on DbTimeZoneSpec from #537. Modification: - Read revision as java.lang.Long in the durable state backtracking row mapper. - Match the entity type with DECODE in the Oracle slice and bucket queries, through a new entityTypeCondition in QueryDao and SnapshotDao, so an empty entity type, stored as NULL, is found. - Apply the empty values in the DAO row mappers (EmptyValues, getPayloadOrEmpty) instead of mapping columns by name in OracleConnections, which now only converts Instant. Detect event metadata by meta_ser_id. - Bind BLOBs only for the snapshot MERGE, through new bindSnapshotPayload and bindMetadataPayload hooks, and run the MERGE again once on ORA-00001. - Reject JSON payload column types for Oracle at startup. - Use VARCHAR2(255 CHAR) in the Oracle DDL. - Default QueryDao.sliceCondition to slice BETWEEN and remove the eventsBySlicesRangeSql copy in OracleQueryDao. - Make oracle-r2dbc a provided,test dependency, update the action versions of the Oracle CI job, and make DbTimeZoneSpec pending for Oracle. Result: Oracle queries and reads handle empty values, user statements are not affected by the plugin's conversions, and the Oracle CI jobs pass the time zone spec. Tests: - sbt -Dpekko.persistence.r2dbc.dialect=oracle core/test (Oracle 23ai Free): 400 succeeded, 1 failed (3 s write timeout in EventsBySliceStartingFromSnapshotSpec, passed on rerun), 94 pending - sbt -Dpekko.persistence.r2dbc.dialect=yugabyte core/test: 459 succeeded, 2 failed and 2 suites aborted on 3 s write timeouts or a serialization conflict; the specs passed on rerun - sbt -Dpekko.persistence.r2dbc.dialect=h2 core/test: 394 succeeded, 0 failed, 100 pending - the new empty entity type, concurrent snapshot save and backtracking tests fail with the corresponding fix reverted - sbt scala3 Test/compile, scalafmtCheckAll, headerCheckAll, core/javafmtCheckAll, +mimaReportBinaryIssues, docs/paradox: passed References: Refs #532, Refs #531 Report URL: https://github.com/apache/pekko-persistence-r2dbc/actions/runs/42197511313 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
