Closed eschultink closed 8 years ago
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
:memo: Please visit https://cla.developers.google.com/ to sign.
Once you've signed, please reply here (e.g. I signed it!
) and we'll verify. Thanks.
I signed it!
CLAs look good, thanks!
@aozarov thanks Arie - removed that.
Basic problem is that you can configure
millisPerSlice
viaMapSettings
. When aMapJob
runs, it continues to execute the slice until it's been executing for >= that many milliseconds (see example implementation in MapShardTask).While this shard task is executing, the share is "locked". This lock is considered to be held for a timeout that is
millisPerSlice * 1.1
(MapSettings:286). If that lock has not been released and that much time has passed, ShardJobRunner will deem the slice as failed (seeShardJobRunner.handleLockHeld()
).This PR makes that
1.1
value configurable viaMapSettings
(orMapReduceSettings
). I've called thissliceTimeoutRatio
, but certainly open to suggestions. This PR also replaces a few other magic numbers with the appropriate constants.