Yes, but the issue remains present if you have to deal with a high
number of map tasks to distribute the load on many machines.
Launching a
JVM is costly, let's say it costs 1 second (i'm optimistic) , if you
have to do 2000 map, there will be 2000 seconds lost in launching
JVMs...
Executing users' code in system daemons is a security risk.
Of course there is security benefit in starting the jobs in a
different JVM but if you don't trust the code you are executing this
is probably not for you either. So bottom line is - if you weight up
the performance penalty against the gained security I am still no
excited about the JVM spawning idea.
If you really consider security that big of a problem - come up with
your own language to ease and restrict the jobs.
My 2 cents
--
Torsten