Skip to content

DefaultCursorPreference breaks reactive queries #296

@lgw-gravitee

Description

@lgw-gravitee

Bug Report

After upgrading to 1.0.1/1.0.2.RELEASE r2dbc-mssql driver, the queries started to emit errors 'The parameterized query '(...)' expects the parameter '@...', which was not supplied'

It happens quite randomly, but it seems to be related to multiple queries being executed simultaneously.

After some digging, I noticed setting preferCursoredExecution= false brings everything back to normal.
It may be related to new DefaultCursorPreference

Is it a bug in driver's library or maybe database misconfiguration?

Versions

  • Driver: 1.0.1.RELEASE 1.0.2.RELESE
  • Database: docker: mcr.microsoft.com/mssql/server:2022-latest
  • Java: 21
  • OS: Ubuntu

Current Behavior

In project, we use spring reactive org.springframework.data.repository.reactive.RxJava3CrudRepository
proxy objects for interacting with the database.

After upgrading the driver from 1.0.0.RELEASE to 1.0.1/1.0.2.RELEASE Publishers started to fail randomly

org.springframework.r2dbc.UncategorizedR2dbcException: executeMany; SQL [...]; The parameterized query '...' expects the parameter '@...', which was not supplied.

Caused by:
io.r2dbc.mssql.ExceptionFactory$MssqlNonTransientException: [8178] [S0001] The parameterized query '...' expects the parameter '@...', which was not supplied.

Expected behavior/code

Driver patches should not break the application

Possible Solution

preferCursoredExecution=false

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions