this post was submitted on 27 Jul 2023
245 points (99.2% liked)

Programming Humor

2468 readers
1 users here now

Related Communities [email protected] [email protected] [email protected] [email protected]

Other Programming Communities [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]

founded 1 year ago
MODERATORS
245
DO NOT TOUCH (lemmy.world)
submitted 11 months ago* (last edited 11 months ago) by devil_d0c to c/programminghumor
 

Edit: so im done with my preliminary research into this codebase.

Our corporate SSO provider is changing, so I've been updating our tools to take advantage of the new badges. I found this in a web application that I started on today. The original developer is long gone, and according to our PaaS, this app has been running for just under 3 years without an update.

There is no CI/CD, blue-green deployment, or back ups. The database is an H2 db with ddl-auto set to create-drop on startup, meaning that this database will delete itself if the app is restaged but thanks to this guys code, it won't populate itself. ๐Ÿคท

top 39 comments
sorted by: hot top controversial new old
[โ€“] [email protected] 59 points 11 months ago (1 children)

Dropping the database is not recoverable

This is the real problem

[โ€“] alnilam 16 points 11 months ago (2 children)

I sure hope they can recover from last night's backup. Right?

[โ€“] [email protected] 21 points 11 months ago (1 children)

Recovering a database from a backup is often possible but often a pain in the ass, and depending on the application you may not consider it acceptable to lose a day of data

[โ€“] tdawg 2 points 11 months ago (1 children)

Then you need more frequent backups and possibly even live failovers imo

[โ€“] [email protected] 2 points 11 months ago

Yeah, of course you want restoring from backups to be as easy as possible. It's just sometimes not feasible, usually because someone can't afford the time or equipment to set it up.

[โ€“] [email protected] 11 points 11 months ago (2 children)

that's assuming they tested the backup system

[โ€“] alnilam 8 points 11 months ago (1 children)

Ohh, valid point. So many organisations not testing their restore procedures.

[โ€“] [email protected] 8 points 11 months ago* (last edited 11 months ago) (1 children)

At one of the businesses I worked at, the backup was very slow, and at some point the daily backup started taking more than 24 hours. You can probably guess what happened after that.

[โ€“] [email protected] 4 points 11 months ago

Hold on I have to go check something

[โ€“] devil_d0c 6 points 11 months ago (1 children)

๐Ÿ‘ƒ๐Ÿ‘ˆ

According to the documentation for the app, they got it classified as a shop aid tool, thereby circumventing production requirements.

The whole app is written like some college kids hello world mvc app

[โ€“] Hawke 5 points 11 months ago (1 children)

[mis-]classified as a shop aid tool

a college kids hello world app

This hits way too close to home.

[โ€“] devil_d0c 5 points 11 months ago

This job pays sooo well though, so I just do what I can and try to speak up when appropriate. They never take my advice, but I have a long list of cya emails for when it all goes tits up ๐Ÿค™

[โ€“] devil_d0c 56 points 11 months ago (1 children)

Found this in production while migrating SSO providers. Made me chuckle ๐Ÿ™ƒ

[โ€“] [email protected] 40 points 11 months ago* (last edited 11 months ago) (3 children)

DO NOT RUN IN PROD

Found this in production

Classic

[โ€“] devil_d0c 9 points 11 months ago

When I sat down today I thought I was just going to be updating some properties file with oauth end points.

This is so blatantly stupid that I now have to pick through the code base and write up a change request and incident avoidance report ๐Ÿ˜•

[โ€“] [email protected] 6 points 11 months ago

Actually, this code is also used in their side business manufacturing cattle prods, that line must be excluded from the prods or else they may become sentient and form a cattle prod based skynet.

[โ€“] yukichigai 5 points 11 months ago

Only thing better is finding commented out code below that which would actually prevent it from running in Prod. Bonus if there's a code comment next to it saying "disabled per email" with no further explanation.

[โ€“] [email protected] 33 points 11 months ago (1 children)

You wonder why spaceships have self-destruct option?

[โ€“] dojan 6 points 11 months ago (1 children)

Your comment is a blessing.

[โ€“] [email protected] 6 points 11 months ago (1 children)

I'm stealing this. This is a fantastic way to say a comment was good.

[โ€“] dojan 4 points 11 months ago

Haha, feel free to! It's actually a bit of a joke, since the person's username is shukufuku, ็ฅ็ฆ, meaning blessing or celebration.

[โ€“] Synthead 30 points 11 months ago (3 children)

Good Lord, this makes my hands sweaty. Why is your entire prod database leaning on one line of code that's prone to human error? There should be 20 extra accidental steps taken to do something like this.

[โ€“] [email protected] 26 points 11 months ago (1 children)

Look, if you hold the lever tight you can safely put the pin back in the grenade!

[โ€“] Synthead 10 points 11 months ago* (last edited 11 months ago)

^C^C^C^C^C^C

[โ€“] [email protected] 12 points 11 months ago

what do you mean? there's 20 lines of comments warning about it!

[โ€“] devil_d0c 4 points 11 months ago (1 children)

Turns out we were always one copy paste error from a major incident.

Don't worry, I'm fixing it ๐Ÿคท

[โ€“] MajorHavoc 1 points 11 months ago (1 children)

Heh. That looks like it has decent odds of being a "company ending event" incident, to be specific.

But at least there's lots of comments. And maybe someone already put a safety net in somewhere else and just forgot to update the 20 comments. It could happen.

[โ€“] devil_d0c 2 points 11 months ago

Under different circumstances, sure. As it is, worst they could expect is a fine from our regulators for data retention hits. We could recreate the info easily enough if our suppliers played nicely.

[โ€“] zikk_transport2 13 points 11 months ago

I usually tend to leave "written by ChatGPT" so colleagues can feed it back and ask to explain lol.

[โ€“] DukeMcAwesome 10 points 11 months ago (2 children)

This also implies that their only persistent environment is production. No dev. No QA.

[โ€“] devil_d0c 6 points 11 months ago (1 children)

๐Ÿ‘ƒ๐Ÿ‘ˆ ding ding ding!

Dev pushed drop and recreate the dB each time.

And there is no QA, don't be silly.

[โ€“] MajorHavoc 2 points 11 months ago* (last edited 11 months ago)

That would be silly. Why pay for QA staff when we can spend customer good-will instead?

Edit: Sorry, I've worked with this kind of stupid so long, I can hear the logic in my bones. The only target that matters is this upcoming quarterly report. The quarterly report after that happens to future me, and he's never done anything for me.

[โ€“] [email protected] 5 points 11 months ago

The Tesla model.

[โ€“] dgendreau 2 points 11 months ago* (last edited 11 months ago) (1 children)
[โ€“] devil_d0c 1 points 10 months ago

You get a side effect! You get a side effect! You all get siiiide effffects!!!

[โ€“] THE_STORM_BLADE 1 points 11 months ago* (last edited 11 months ago) (2 children)

What's with lemmy and beans? /s

How are you finding Spring?

[โ€“] devil_d0c 2 points 11 months ago

I don't hate it. The docs are good and it's very opinionated, which I appreciate. Makes it easier to divy up the work into chunks management can digest.

I wouldn't use it for a personal project though.

[โ€“] devil_d0c 1 points 10 months ago

Underrated comment here lol

load more comments
view more: next โ€บ