7
nudelio
24h

We maintain an internal java framework, and one of its components requires a configuration file with a simple field: "Timestamp = 09112025000001".

Because this timestamp is persisted in a central database for state management, the developer is forced to manually increment the value after every single test run to avoid collisions. (I know... legacy systems...)

Anyway, a developer called us because they were running into a strange issue with the framework. We jumped on a debugging session, and I asked them to pull up their configuration file.

I fully expected to see a slightly incremented number, maybe 09112025000002, or at worst, a random number to ensure uniqueness. You know, anything numeric.

Instead, the timestamp they had been using was:
Timestamp = 091120250000K

A letter. A single, non-numeric character sitting right there in a field clearly named "Timestamp." I had to blink a few times. I mean, what is the thought process here? Did they hit the wrong key and just decide to commit to it?

The worst part: That wasn't even the root cause of the bug they called us about. But after seeing that config, I had to step away for a mental health break.

We desperately need better input validation, because our "robust" framework apparently accepts a letter as a valid time marker...

Comments
  • 4
    It just multiplies it by 1000 ;P
  • 2
    If it's in a db can be corrupted data.
  • 2
    Is your name nudel-io, nu-delio or nude-lio? :)
  • 1
    So funny, I actually rarely have data issues while my favourite orm converts the field of database in the type you give it. It's a feature, literally, does even do it when postgres is connected.
Add Comment