The AR System

At the office I am Product Owner / Systems Analyst / meta-developer on a particular project. In this project I am helping to configure a very powerful and complicated suite of applications called the Action Request System (AR System). This system has, among other things, a system server and each application in the suite has it’s own “process”. In this case I was configuring the Assignment Engine (which I think is one of those applications) to perform special actions based on a particular set of rules.

One of the actions it *could* take was one that we didn’t want it to take. We didn’t want the default behavior and in fact we really didn’t need anything to happen
BUT
an idiosyncracy of the system is if there wasn’t an action directive for that process we couldn’t do ANY of the other directives. So the architect, let’s call him Joe, said

Just put a dummy rule in there, do something that will resolve to false.
You mean like If 1+1=3 Then X?
Yeah.

I created the process within which I would put this rule and stopped.
I didn’t want to have to craft the rule, if it didn’t really matter, so I said

What if I just leave it (the rule in the process) blank?
Hm, I dunno, see if it takes it?

It did and I was on my way.

Later, after some other configurations, and a bunch of test cases (translated into about 24 commands) I reported a problem. The Assignment Engine (AssignEng) wasn’t doing what it was supposed to do. In fact the whole system server (AR System) seemed to be having issues.
Joe looked into it for a while (4+ hours) and found, under continued questioning and at my insistence, that I broke it.

The following is a chat extract.

Joe:[] AssignEng Processing 24 pending command(s) of category AE-ASSIGN.
[] AssignEng Processing pending command DoAssign.
[] AssignEng Starting to process DoAssign command.
[] AssignEng **********************************************
[] AssignEng Initialized system.
[] AssignEng AR System Assignment Engine 7.1.00 Build 200708221849
[] AssignEng Initialized access to AR system.
[] AssignEng Found pending command form.
[] AssignEng Initialized. Entering message processing loop.
[] AssignEng
[] AssignEng Checking connection to AR system.
[] AssignEng Connection to AR system is working.

Joe: See those 24 “pending commands” up at the top?
Joe: When it would try to process them…the server would crash…
Lief: ok
Joe: It would do the following:
1) Come up
2) Try processing those 24 commands
3) Die
4) Restart
5) Repeat….every ten seconds until the sever was hosed.
Joe: Nicely done, BTW!
Lief: thanks. : )

Everyone on that team admits they hadn’t seen an application/process/thing like this bring down the main server (AR System) before and that it was broken in an amazing and profound fashion.
All this goes to show that I am not limiting myself to the physical world anymore.

I’m takin this show virtual baby!

2 thoughts on “The AR System”

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.