Skip to content

DeferredResult not thread-safe for isSetOrExpired call [SPR-13451] #18031

@spring-projects-issues

Description

@spring-projects-issues

Jamie Hodkinson opened SPR-13451 and commented

The use of DeferredResult is usually from other threads than the one it was created on.

Clients may call isSetOrExpired to check the state of the result: however this may return stale information as it has no synchronization, unlike the setResultInternal method, which synchronizes.


Affects: 3.2.14, 4.1.7, 4.2.1

Issue Links:

Referenced from: commits 73a2407, ae0d945, 045016e

Backported to: 4.1.8, 3.2.15

Metadata

Metadata

Assignees

Labels

in: webIssues in web modules (web, webmvc, webflux, websocket)status: backportedAn issue that has been backported to maintenance branchestype: bugA general bug

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions