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

Programming Humor

2734 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 2 years ago
MODERATORS
247
DO NOT TOUCH (lemmy.world)
submitted 1 year ago* (last edited 1 year 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] 60 points 1 year ago (1 children)

Dropping the database is not recoverable

This is the real problem

[โ€“] alnilam 16 points 1 year ago (2 children)

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

[โ€“] [email protected] 21 points 1 year 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 1 year ago (1 children)

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

[โ€“] [email protected] 2 points 1 year 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 1 year ago (2 children)

that's assuming they tested the backup system

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

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

[โ€“] [email protected] 8 points 1 year ago* (last edited 1 year 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 1 year ago

Hold on I have to go check something

[โ€“] devil_d0c 6 points 1 year 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 1 year 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 1 year 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 1 year ago (1 children)

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

[โ€“] [email protected] 41 points 1 year ago* (last edited 1 year ago) (3 children)

DO NOT RUN IN PROD

Found this in production

Classic

[โ€“] devil_d0c 10 points 1 year 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 1 year 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 6 points 1 year 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] 34 points 1 year ago (1 children)

You wonder why spaceships have self-destruct option?

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

Your comment is a blessing.

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

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

[โ€“] dojan 4 points 1 year 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 31 points 1 year 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 1 year ago (1 children)

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

[โ€“] Synthead 10 points 1 year ago* (last edited 1 year ago)

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

[โ€“] [email protected] 12 points 1 year ago

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

[โ€“] devil_d0c 4 points 1 year 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 1 year 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 1 year 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 14 points 1 year ago

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

[โ€“] DukeMcAwesome 10 points 1 year ago (2 children)

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

[โ€“] devil_d0c 6 points 1 year 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 1 year ago* (last edited 1 year 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 1 year ago

The Tesla model.

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

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

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

What's with lemmy and beans? /s

How are you finding Spring?

[โ€“] devil_d0c 2 points 1 year 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 1 year ago

Underrated comment here lol

load more comments
view more: next โ€บ