logoalt Hacker News

jiggawatts • today at 11:52 AM • 5 replies • view on HN

"The best", but you'll be sued if you publish benchmarks: https://en.wikipedia.org/wiki/David_DeWitt#DeWitt_Clause

Every time I use Oracle, I regret it.

Just this month, I tried to hook it up to a modern .NET app with the latest Oracle client and discovered that if you cancel a transaction, the connection enters a broken state and is returned to the connection pool, "infecting it". After a half a dozen of those, the whole app server just dies with endless cancellation related exceptions. This isn't even the only such bug, apparently there's a whole family of pool-corruption bugs that have workaround config settings and everything!

This was with version 23.26.301 which suggests that they've had a lot of major releases, bug fixes, etc... but basic functionality like "connect successfully to the database server every time" is totally broken and has been for many years.

The issue tracker forums have tumbleweeds rolling through them and play the sound of wolves howling in the distance to provide just the right kind of "what are you still doing here?" ambiance.


Replies

scrlk • today at 1:24 PM

> there's a whole family of pool-corruption bugs that have workaround config settings and everything

Back in 2018, a former Oracle developer explained what it was like working on Oracle DB: https://news.ycombinator.com/item?id=18442941

> Here is how the life of an Oracle Database developer is:

> - Start working on a new bug.

> - Spend two weeks trying to understand the 20 different flags that interact in mysterious ways to cause this bag.

> - Add one more flag to handle the new special scenario. Add a few more lines of code that checks this flag and works around the problematic situation and avoids the bug.

> - Submit the changes to a test farm consisting of about 100 to 200 servers that would compile the code, build a new Oracle DB, and run the millions of tests in a distributed fashion.

> - Go home. Come the next day and work on something else. The tests can take 20 hours to 30 hours to complete.

> - Go home. Come the next day and check your farm test results. On a good day, there would be about 100 failing tests. On a bad day, there would be about 1000 failing tests. Pick some of these tests randomly and try to understand what went wrong with your assumptions. Maybe there are some 10 more flags to consider to truly understand the nature of the bug.

> - Add a few more flags in an attempt to fix the issue. Submit the changes again for testing. Wait another 20 to 30 hours.

> - Rinse and repeat for another two weeks until you get the mysterious incantation of the combination of flags right.

Seems like their comment is still valid today.

➕ show 1 reply
marcosdumay • today at 1:34 PM

My favorite bug of the .Net connector is how the entire API supports async operations, but the underlying implementation can't tell two different executions of the same query apart, so it's random whether each call will get their own results or some other ones.

But polluting the poll with unusable connections is just Oracle copying the MS-SQL's thing. The C# recommended coding practices will automatically deal with this. (Not that you would want to follow them, but you may want to look and copy this part.)

hobo123 • today at 12:10 PM

That should just be illegal. The right to measure or to publish things is not about their software, it's a personal right, so Obstacle shouldn't be able to remove your right in their license agreement.

➕ show 1 reply
JsonDemWitOster • today at 1:08 PM

What an honor for Professor De Witt (no relation to my handle).

My handle notwithstanding, I'm smart enough to not take legal advice from HN but nonetheless I cannot stop myself hence the rhetorical question: how is a EULA clause like that even enforceable? If this isn't going against freedom of speech then this surely it's against some consumer protection laws?

The cynical answer to that I guess is "a lot of money funding a legal team the size of a warlord's militia" and also "lobbying" but even then it doesn't track to me that this clause could have even that much of an effect as a scare tactic?

➕ show 3 replies
gchamonlive • today at 12:56 PM

To be fair with Oracle, every software has it's idiosyncrasies and for many corporations the devil you know wins every time. The problem starts when new projects start adopting such a hopeless stack.