stratosphere/stratosphere — pull request #163 by uce (2013-10-15 12:27:47+00:00)
Title: Unified config and added YAML (syntax) support (#113)

## conf/stratosphere-conf.yaml

Unified config to `stratosphere-conf.yaml`, which replaces the old `nephele-user.xml` and `pact-user.xml` and is also read by `bin/nephele-config.sh`.

The new file is not a 1:1 copy of the old two. Instead I removed some stuff I thought was not that important:
- instance configuration: I don't think anyone was using this other than the default instance?
- multicast for broadcast: The comments for this feature said "use at own risk" :cake:
- profiler impl classes: We only have two implementation for the profilers, didn't make sense to point to them in the config
- jobclient.polling.interval: Adjusted the system default from 5 to 2 (which was our config default before)
- pact.runtime.fs_timeout: Default is 0, which means wait forever (which should be ok as long as there are no problems)

@asteriosk, @ktzoumas I think we should add a configuration overview on the website (like http://spark.incubator.apache.org/docs/latest/configuration.html)

@StephanEwen: What about the multicasting (for broadcast) feature? Is it stable? Does anybody ever use it? Do we want to remove it?

The old XML files still work and could also be combined with the YAML file (where YAML overwrites keys in XML), but I think it is ok this way. Also note that the YAML config reader in `GlobalConfiguration` only uses YAML syntax for `key: value` mappings and nothing more.

## bin/nephele-config.sh

The bash script can also parse key-value pairs from the config, for example:

- JM heap size with `jobmanager.heap.mb`
- TM heap size with `taskmanager.heap.mb`

There are also some other things, which were supposed to be directly edited in the bash scripts before (see `KEYS_*` in `bin/nephele-config.sh`).

The defaults and environment variables are still the same, so there should not be any bad surprises.