rebus-org / Rebus.Oracle

:bus: Oracle transport for Rebus
https://mookid.dk/category/rebus
Other
5 stars 10 forks source link

Heads-up: data corrupting bug in ODP.NET Core 3.21.1 #28

Open jods4 opened 3 years ago

jods4 commented 3 years ago

TL;DR: don't use attachments (DataBus) with Oracle.ManagedDataAccess.Core 3.21.1

After upgrading packages in our project we experienced data-corruption when reading attachments.

I tracked this down to an ODP.NET regression when setting InitalLOBFetchSize on the command (Rebus.Oracle sets it to 4000).

I made some unit tests using ODP.NET directly. I downloaded a blob that was 2386 bytes in size and I observed:

Further investigation shows that blobs < 2048 are padded with zeroes to 2048; blobs < 4096 are padded to 4096; larger blobs seem ok.

Hopefully Oracle fixes this soon, in the meantime be careful with 3.21.1

mookid8000 commented 3 years ago

WHoa!! 💩💩💩

Thanks for the heads up 👍