I've inherited a large Java/Scala codebase that uses Jython to interface with our equally large Python codebase. Things were going swimmingly until about three days ago when suddenly all of our builds started failing in the Jython stage with the message:
RuntimeException: java.lang.RuntimeException: Method code too large!
As it turns out, there is an internal limit of 65kb for the size of a method inside the JVM. The latest version of Python requests seems to be the culprit, which is an important dependency of our Python codebase. My guess is that the latest version has introduced a really large class somewhere.
The most obvious solution is to pin the requests library version to an earlier version. Should I pin all library versions of our Python code (as I would do in Java)? Is there any work around besides version pinning? Am I making too much of the risk?