[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Condor-devel] Wisdom needed: should_transfer_files = IF_NEEDED & when_to_transfer_output = ON_EXIT_OR_EVICT
- Date: Thu, 30 Jun 2011 09:46:58 -0400
- From: Matthew Farrellee <matt@xxxxxxxxxx>
- Subject: [Condor-devel] Wisdom needed: should_transfer_files = IF_NEEDED & when_to_transfer_output = ON_EXIT_OR_EVICT
condor_submit is adamant that IF_NEEDED + ON_EXIT_OR_EVICT is bad and
must be avoided. I want to know why.
Digging through the repo history I've found only that in Apr 2003 it
took only 3 days from the addition of IF_NEEDED to the inclusion of the
check.
What do you remember about this issue? I hope the knowledge isn't lost
to time.
Best,
matt
--
commit 85d38d72aa8703c529d54a52f19fce6c622d6282
Author: wright <wright>
Date: Tue Apr 29 22:47:12 2003 +0000
added code to check for the inconsistent setting of both
when_to_transfer_output == FTO_ON_EXIT_OR_EVICT &&
should_transfer_files == STF_IF_NEEDED. in this case, submit now
prints an error message and aborts...
diff --git a/src/condor_submit.V6/submit.C b/src/condor_submit.V6/submit.C
index 3d51dde..e6bc811 100644
--- a/src/condor_submit.V6/submit.C
+++ b/src/condor_submit.V6/submit.C
@@ -1632,6 +1632,24 @@ SetNewTransferFiles( bool in_files_specified,
bool out_files_specified )
}
}
+ if( found_it && when_output == FTO_ON_EXIT_OR_EVICT &&
+ should_transfer == STF_IF_NEEDED ) {
+ // error, these are incompatible!
+ err_msg = "\nERROR: \"when_to_transfer_output =
ON_EXIT_OR_EVICT\" "
+ "and \"should_transfer_files = IF_NEEDED\" are
incompatible. "
+ "The behavior of these two settings together
would produce "
+ "incorrect file access in some cases. Please
decide which "
+ "one of those two settings you're more
interested in. "
+ "If you really want \"IF_NEEDED\", set "
+ "\"when_to_transfer_output = ON_EXIT\". If you
really want "
+ "\"ON_EXIT_OR_EVICT\", please set
\"should_transfer_files = "
+ "YES\". After you have corrected this
incompatibility, "
+ "please try running condor_submit again.\n";
+ print_wrapped_text( err_msg.Value(), stderr );
+ DoCleanup(0,0,NULL);
+ exit( 1 );
+ }
+
// if we found the new syntax, we're done, and we
should now
// add the appropriate ClassAd attributes to the job.
if( found_it ) {