Originally posted by: SystemAdmin
First off, let me explain a little bit more about what I am trying to do. I have developed a system of maps that are triggered off a single map with a watch on the Unix server. We do all our development on Windows, running our maps from the Map Designer. For development/testing purposes, I have enhanced them with an additional step of producing analysis data that will compare the TX output with the output of the Unix system TX is replacing. When a flag is set, this system of maps will go an extra step and run the Analysis Maps I have set up. Since this is for development only it runs in Windows, and only on command--not tied to an event server.
The existing Unix process is such that it takes a minimum of around 30 seconds to run. And the daemon/cron that is watching for input files for it is on a 60 second cycle. So best case scenario, the existing unix process will take at least a little over 30 seconds.
So my normal maps run and before they are finished, they see the Analysis flag is on and they run the Analysis Map. The first part produces the input data for the unix process and puts it out into a Samba share that is on the unix server. The unix process picks it up and processes it producing output in another directory. After the 1st Analysis Map put this file out, it runs another map and that map has an input card whose source is in the unix process output directory. Since the unix process takes so long, I needed this input card to retry until the output file showed up or until the number of attempts was exhausted. I had it set up for 24 attempts, one every five seconds equaling a total time of two minutes. As I have said before, it works perfectly on unix. But on Windows, it just comes back immediately with Source Not Available.
I got a call from Ascential after I posted this thread. They basically just reiterated what they did in their email. That the way it works in Windows is the way it was intended to work. They way it is working in Unix is a bug. Forgive me for being skeptic, but I have a hard time believing the unix version has buggy code, that just mistakenly happens to work the way that every piece of documentation says it is supposed to work. And not only that it does exactly what you tell it to do with the retry settings. You turn retry off, it doesn't retry. You turn it on with 24 attempts, one every five seconds and it will retry for two minutes or until the file shows up. Man! I wish I could write buggy code like that! Usually, it is the other way around, the code doesn't do what the documentation, and common sense, says it should be doing. Wait a minute, wait a minute. Isn't that what it is doing...on Windows?
The funny thing is I just created a map that has an input card, with retry on, that connects to a database an performs a query. For sake of example and testing, the query is such that it will not return a row. When I run it, it runs correctly for the set period of time specified in the retry settings. When I change the name of the directory that houses the MDQ files and then run the map, it miraculously runs the same as before, exhibiting correct retry behavior. Thinking that maybe the database connection information is compiled into the map such that my change won't matter, I correct the directory name for the MDQ files and disconnect my computer from the network, thus disconnecting me from connecting to the database. Shock of all shocks--it runs as expected, retrying until the attempts are exhausted.
So as far as I know,
b:a976407a9ei:a976407a9eunavailable[/i:a976407a9e][/b:a976407a9e] means what you and I think it means on all the adapters on Unix, and all the adapters on Windows
b:a976407a9eu:a976407a9eexcept[/u:a976407a9e][/b:a976407a9e] the file adapter on Windows.
I know how this works. I have been in the software business for over 10 years, nine of them with software companies producing software for customers. I know that doesn't make me an expert or some kind of guru, so don't harp on that. I started in Support and I've pulled this same argument on customers myself. "It's working the way it was designed. Have a nice day." Technically all software works the way it was designed. I've yet to see a bug that wasn't the fault of the person(s) that designed it.
Let me also clarify that Arun and the other Ascential person I spoke with were very cordial and nice. They did not try and cut me off and strove to understand my situation. Another consultant emailed a coworker of mine and said we sounded like we were upset. We are not mad or upset. I am just trying to get to the bottom of this and find out why it isn't working. So far I am skeptical of the answers I've been given. IMO, it just doesn't make sense the Unix version works the way the docs say it should and even the way the other adapters work on Windows. Thankfully, I've been able to come up with a work around that is performing adequately right now. But I would rather retry work the way I understand the documentation says it should.
John
#DataExchange#IBMSterlingTransformationExtender#IBM-Websphere-Transformation-Extender