Skip to content

CookieServerCsrfTokenRepository#createNewToken should use Schedulers.boundedElastic #9018

@tt4g

Description

@tt4g

Describe the bug

Call UUID#randomUUID() in CookieServerCsrfTokenRepository#createNewToken() and UUID#randomUUID() is blocking I/O operation (reports #8128).
However, CookieServerCsrfTokenRepository#generateToken(ServerWebExchange) is not change Scheduler.

@Override
public Mono<CsrfToken> generateToken(ServerWebExchange exchange) {
return Mono.fromCallable(this::createCsrfToken);
}

private CsrfToken createCsrfToken() {
return createCsrfToken(createNewToken());
}

private String createNewToken() {
return UUID.randomUUID().toString();
}

To Reproduce

CookieServerCsrfTokenRepository#generateToken(ServerWebExchange)

Expected behavior

Use Schedulers.boundedElastic().

Sample

N/A

Is it the design of not using the Schedulers.boundedElastic()?

Metadata

Metadata

Assignees

Labels

in: webAn issue in web modules (web, webmvc)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