Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

no error reported by Hadoop in case of immediate failure #4

Open
klbostee opened this issue Feb 21, 2010 · 4 comments
Open

no error reported by Hadoop in case of immediate failure #4

klbostee opened this issue Feb 21, 2010 · 4 comments
Labels

Comments

@klbostee
Copy link
Owner

As originally reported by Elias Pampalk:

The following scripts demonstrate a failure to fail when executed on a hadoop cluster (fails fine if executed locally):

import dumbo

def mapper(k, v):
    yield 1, 1

if __name__ == "__main__":
    dumbo.run(mapper, dumbo.sumsreducer, combiner=dumbo.sumsreducer)

The test uses dumbo.sumsreducer where dumbo.sumreduce should be used. A TypeError should be thrown by dumbo.sumsreducer (in the combiner). Instead the Hadoop reports show no error and zero output from the mapper.

@cap
Copy link

cap commented Jun 21, 2010

I encounter this non-failure whenever the script fails before calling dumbo.run. This happens most frequently when a top-level import statement fails because of unfulfilled dependencies.

@klbostee
Copy link
Owner Author

@cap: Think that's actually a slightly different problem. When a dumbo script fails very quickly (i.e. basically immediately, instead of after having run for a while) it often happens that Hadoop Streaming's stderr catching mechanism hasn't been set up properly yet to catch the error. In this case you indeed won't see the error, but unfortunately there's not much that can be done about this in Dumbo itself.

@klbostee
Copy link
Owner Author

On second thought this actually is the same problem. It does fail fine, but it happens so quick that the Hadoop Streaming logging doesn't catch it (presumably because it hasn't been initialized properly yet). Can't immediately think of a clean Dumbo-side fix for this problem, but I'll leave the ticket open for future reference...

@dangra
Copy link
Contributor

dangra commented Jun 24, 2011

I was bitten by this bug, a possible workaround is to delay the propagation of the exception by a sensible time so hadoop has a chance to setup streaming logging before terminating python interpreter. At least it will happen less often and will make dumbo more reliable at a low price.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants