
I have to disagree. My implementation is not correct in so much as my job is to run jobs for scientists here at UVa. Those scientist use BLAST. Blast currently cannot run on my implementation because my implementation can have spaces in the path to where the BES jobs run. Therefor I have failed my scientists. We all know that BLAST is crapping out on spaces because it is poorly written and in a perfect world we would be able to justify the failure based off of that, but unfortunately, we are in the business of supporting poorly written applications. An application that cannot handle spaces in the paths is a fact of life and we need to be able to describe that unfortunately circumstance. -Mark On Tue, 2008-10-14 at 10:24 +0100, Donal K. Fellows wrote:
Mark Morgan wrote:
The first has to do with data staging, working directory, file systems, and everything else having to do with paths. It turns out that there are some exceptionally popular applications out there that are very poorly written. This is probably a surprise to no one, but unfortunately, its a fact of life that in the grid computing business, we have to support many of these applications despite their egregiousness. In particular, I refer to applications which cannot handle input files or paths which contain spaces. Recently, while trying to run a large batch of BLAST jobs using our new implementation of the SCRATCH file system, we discovered that BLAST is unable to deal with paths to the search database which contain spaces. As we thought about what to do about this, we realized that, sad as it may seem, it may be necessary to add to JSDL the ability to say that an Application (or certain inputs) must have paths without any spaces included. Would this be a Resource requirement? I'm not sure exactly how to classify it, but it seems like some JSDL annotation is necessary.
I'm not sure that this is a JSDL requirement as such, as that's correctly conveying what you wish to achieve. It's just that BLAST is crapping out on it. I'd instead suggest that what you really need is something in your execution environment (i.e. I think this is a BES requirement) to say "crap out if there are spaces in filenames" or "convert 'bad' characters to underscores" or something like that.
In fact, by running into trouble this way I believe you've actually demonstrated that your implementation is (in some ways at least) correct. :-D
Donal.