Hi,
I'm Ronald - the developer behind JobRunr, a distributed job scheduling tool for Java.
One of the databases we support is Oracle and we noticed that using select … for update skip locked
results in strange behaviour in Oracle 12c and above. When under load, Oracle DB gives a resultset where resultset.next()
is true but when trying to get the value from a CLOB, an empty string is returned where there is definitely a value.
Removing the for update skip locked
fixes the problem.
Here is a Github repo that reproduces the issue: https://github.com/rdehuyss/oracle-empty-string
I don't think we do something wrong, we only see this behaviour with Oracle, not with any other database. I'm looking forward to the input of the awesome Oracle community!