-
Notifications
You must be signed in to change notification settings - Fork 123
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
Huge chain of anonymous classes leads to class file that is too big #184
Comments
Thats just a warning, did it fail over that class being missing? |
It's an IOerror that looks to be killing the travis build, unless I missed |
I recently ran into the long class file name problem. I'm building a Docker container to have an easily distributable Scalding dev environment that can both compile my jar and run the job locally on Hadoop. My project uses the sbt assembly plugin to package the dependencies (including bijection-core). On Docker, the maximum file name length is 242 characters, so when I try to run my job on Hadoop, unpacking bijection-core results in:
Setting |
I didn't know about the I wonder if we could just restructure the code. I think the main issue is how we have deeply nested traits in order to control the implicit resolution priorities. I'm not sure that deep nesting is needed. It should only be needed when there are multiple cases that would apply so we need a way to break a tie. Sorry this is a pain. |
+1 I'm hitting this problem as well with Zipkin, trying to run analysis jobs inside Docker (which has a lower character limit) |
@eirslett I found a (not very pretty) workaround. You can mount a directory from the host system to your Docker container and set that as |
The problem is that it wouldn't work in every host environment... (like orchestration where you don't control the file layout, for example mesos, or a third party docker hosting provider) |
I'm hitting this issue as well and it's preventing me from running Scalding jobs in a Docker container. Any update on decreasing the file name length to be under Docker's limit? I'm using Mesos as well so mounting a host volume into the container as work around isn't really a feasible solution. |
set the max file size to deal with #184
This issue is seen here twitter/scalding#1059
Digging around scala/pickling#10 it looks like setting -Xmax-classfile-name may solve this, but this is an undesirable state for things to be in (if it can be avoided), especially since bijection is supposed to be a fairly dep-free, core lib that anyone can use.
The text was updated successfully, but these errors were encountered: