-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PGSQL] The reactor hanging issue with r2dbc-postgresql #5160
Comments
Thread dump when running
|
Now I don't have any new ideas for this issue. |
Yes the threads are doing strictly nothing! |
Could you rerun your example but print thread name at the start of your debug messages? |
|
Full debug log |
I created a new simple maven project (independent of james) |
Related to the hanging issue with r2dbc-postgresql + JOOQ:
Example methods:
1: PostgresExecutor#executeCount
2: PostgresExecutor#executeDeleteAndReturnList
3: AttachmentPartRetriever
Updates:
I successfully resolved the issue by re-running Quan's lab with the addition of the JVM argument -Dreactor.bufferSize.small=100000. Both Jooq and Native SQL passed the test after this adjustment.
Note: While testing with Native SQL, an error was encountered:
Cannot exchange messages because the request queue limit is exceeded
, which has occurred sporadically in the past. However, no error log was generated when testing with Jooq, => We missed configure logger error for JooqDELETE ... RETURNING
(deleteByMailboxId)The hanging issue persists when using native queries (without Jooq). I reported bug on
r2dbc-postgresql
repository here: Hanging when execute statement DELETE and RETURNING pgjdbc/r2dbc-postgresql#650Reproduction Code:
counter
is not euqaldoOnNextCounter
.counter
>= prefetchSize >doOnNextCounter
Resolution:
Resolved by replacing
.collectList().flatMapIterable(list -> list)
with.window(1).flatMap(flux -> flux)
. Both methods have been tested successfully.WDYT about new way?
The text was updated successfully, but these errors were encountered: