Play Framework 1.2.7 Heroku更新崩溃

时间:2014-09-28 10:34:53

标签: java heroku playframework amazon-s3 playframework-1.x

我在Heroku上推送了一个更新到我的应用程序,现在我在应用程序崩溃时收到以下错误。如果你看一下错误,你会发现它与S3Blobs.java有关。但是,我的上次更新并未影响此文件,或实际上任何Java代码。最后一次更新是html,javascript和css文件。

是否有人熟悉此错误,以及可能导致它在Heroku上突然冒出来的原因。本地应用程序运行良好。

如果我在Heroku上回滚到以前版本的应用程序,app仍会运行(再次回滚不会影响S3Blobs.java)。

Heroku编译我的Java代码的方式有可能改变吗?

  

2014-09-27T22:24:13.874161 + 00:00 app [web.2]:~_ _

     

2014-09-27T22:24:13.874166 + 00:00 app [web.2]:~_ __ | | __ _ _ | |   2014-09-27T22:24:13.874167 + 00:00 app [web.2]:〜| ' | | /' | || ||   2014-09-27T22:24:13.874189 + 00:00 app [web.2]:〜| / | | \ | \()   2014-09-27T22:24:13.874190 + 00:00 app [web.2]:〜|| | /

     

2014-09-27T22:24:13.874192 + 00:00 app [web.2]:〜   2014-09-27T22:24:13.874193 + 00:00 app [web.2]:〜玩! 1.2.7,   http://www.playframework.org 2014-09-27T22:24:13.874195 + 00:00   app [web.2]:〜框架ID是prod 2014-09-27T22:24:13.874196 + 00:00   app [web.2]:~2014-09-27T22:24:13.874197 + 00:00 app [web.2]:~Ctrl + C to   停止2014-09-27T22:24:13.874199 + 00:00 app [web.2]:〜   2014-09-27T22:24:13.623029 + 00:00 app [web.1]:22:24:13,622 INFO~   连接到   JDBC:在PostgreSQL://ec2-23-23-147-250.compute-1.amazonaws.com:5582 / d7p28cauibod8d SSL =真安培; sslfactory = org.postgresql.ssl.NonValidatingFactory   2014-09-27T22:24:14.543346 + 00:00 heroku [web.2]:进程退出   状态1 2014-09-27T22:24:14.553771 + 00:00 heroku [web.2]:状态发生变化   从开始到崩溃2014-09-27T22:24:14.807111 + 00:00 app [web.1]:   22:24:14,806 INFO~Application' tfp_v2_fix'现在开始了!   2014-09-27T22:24:14.956075 + 00:00 app [web.1]:   2014-09-27T22:24:14.956085 + 00:00 app [web.1]:启动S3Blobs   2014-09-27T22:24:14.956088 + 00:00 app [web.1]:2014-09-27T22:24:16Z   app [postgres.12036]:[OLIVE]无法从客户端接收数据:   连接重置由同行2014-09-27T22:24:16Z app [postgres.12035]:   [OLIVE]无法从客户端接收数据:由对等方重置连接   2014-09-27T22:24:16Z app [postgres.12034]:[OLIVE]无法接收   来自客户端的数据:由对等方重置连接   2014-09-27T22:24:16.122974 + 00:00 app [web.1]:Sep 27,2014 22:24:16   +0000 [3 5] com.newrelic.agent.Agent INFO:New Relic Agent已关闭2014-09-27T22:24:16.116801 + 00:00 app [web.1]:22:24:16,115   ERROR~2014-09-27T22:24:16.116807 + 00:00 app [web.1]:   2014-09-27T22:24:16.116810 + 00:00 app [web.1]:@ 6jk9a374i   2014-09-27T22:24:16.116811 + 00:00 app [web.1]:工作期间出错   执行(s3.S3Blobs)2014-09-27T22:24:16.116813 + 00:00 app [web.1]:   2014-09-27T22:24:16.116815 + 00:00 app [web.1]:执行异常(In   第32行附近的/app/s3/S3Blobs.java)2014-09-27T22:24:16.116817 + 00:00   app [web.1]:发生IllegalStateException:不支持的cookie规范:   默认2014-09-27T22:24:16.116818 + 00:00 app [web.1]:   2014-09-27T22:24:16.116820 + 00:00 app [web.1]:   play.exceptions.JavaExecutionException:不支持的cookie规范:   默认2014-09-27T22:24:16.116821 + 00:00 app [web.1]:at   play.jobs.Job.call(Job.java:155)2014-09-27T22:24:16.116823 + 00:00   app [web.1]:在Invocation.Job(播放!)2014-09-27T22:24:16.116824 + 00:00   app [web.1]:引起:java.lang.IllegalStateException:不支持   cookie规范:默认2014-09-27T22:24:16.116826 + 00:00 app [web.1]:at   org.apache.http.cookie.CookieSpecRegistry.getCookieSpec(CookieSpecRegistry.java:110)   2014-09-27T22:24:16.116828 + 00:00 app [web.1]:at   org.apache.http.cookie.CookieSpecRegistry $ 1。创建(CookieSpecRegistry.java:163)   2014-09-27T22:24:16.116829 + 00:00 app [web.1]:at   org.apache.http.client.protocol.RequestAddCookies.process(RequestAddCookies.java:157)   2014-09-27T22:24:16.116831 + 00:00 app [web.1]:at   org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:132)   2014-09-27T22:24:16.116833 + 00:00 app [web.1]:at   org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:166)   2014-09-27T22:24:16.116834 + 00:00 app [web.1]:at   org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:485)   2014-09-27T22:24:16.116835 + 00:00 app [web.1]:at   org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:878)   2014-09-27T22:24:16.116837 + 00:00 app [web.1]:at   org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:84)   2014-09-27T22:24:16.116838 + 00:00 app [web.1]:at   org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:109)   2014-09-27T22:24:16.116839 + 00:00 app [web.1]:at   org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)   2014-09-27T22:24:16.116840 + 00:00 app [web.1]:at   com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:268)   2014-09-27T22:24:16.799309 + 00:00 heroku [web.1]:进程退出   状态1 2014-09-27T22:24:16.809162 + 00:00 heroku [web.1]:状态已更改   从开始到崩溃2014-09-27T22:24:16.116842 + 00:00 app [web.1]:   在   com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:170)   2014-09-27T22:24:16.116843 + 00:00 app [web.1]:at   com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2597)   2014-09-27T22:24:16.116845 + 00:00 app [web.1]:at   com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2569)   2014-09-27T22:24:16.116846 + 00:00 app [web.1]:at   com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:415)   2014-09-27T22:24:16.116847 + 00:00 app [web.1]:at   com.amazonaws.services.s3.AmazonS3Client.doesBucketExist(AmazonS3Client.java:723)   2014-09-27T22:24:16.116849 + 00:00 app [web.1]:at   s3.S3Blobs.doJob(S3Blobs.java:32)2014-09-27T22:24:16.116850 + 00:00   app [web.1]:at play.jobs.Job.doJobWithResult(Job.java:50)   2014-09-27T22:24:16.116851 + 00:00 app [web.1]:at   play.jobs.Job.call(Job.java:146)2014-09-27T22:24:16.116853 + 00:00   app [web.1]:... 1更多2014-09-27T22:24:16.118780 + 00:00 app [web.1]:   线程" main"中的例外情况play.exceptions.JavaExecutionException:   不支持的cookie规范:默认2014-09-27T22:24:16.118817 + 00:00   app [web.1]:at play.jobs.Job.call(Job.java:155)   2014-09-27T22:24:16.118846 + 00:00 app [web.1]:在Invocation.Job(播放!)   2014-09-27T22:24:16.118882 + 00:00 app [web.1]:引起:   java.lang.IllegalStateException:不支持的cookie规范:默认   2014-09-27T22:24:16.118912 + 00:00 app [web.1]:at   org.apache.http.cookie.CookieSpecRegistry.getCookieSpec(CookieSpecRegistry.java:110)   2014-09-27T22:24:16.118942 + 00:00 app [web.1]:at   org.apache.http.cookie.CookieSpecRegistry $ 1。创建(CookieSpecRegistry.java:163)   2014-09-27T22:24:16.118973 + 00:00 app [web.1]:at   org.apache.http.client.protocol.RequestAddCookies.process(RequestAddCookies.java:157)   2014-09-27T22:24:16.118998 + 00:00 app [web.1]:at   org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:132)   2014-09-27T22:24:16.119030 + 00:00 app [web.1]:at   org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:166)   2014-09-27T22:24:16.119060 + 00:00 app [web.1]:at   org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:485)   2014-09-27T22:24:16.119091 + 00:00 app [web.1]:at   org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:878)   2014-09-27T22:24:16.119112 + 00:00 app [web.1]:at   org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:84)   2014-09-27T22:24:16.119145 + 00:00 app [web.1]:at   org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:109)   2014-09-27T22:24:16.119174 + 00:00 app [web.1]:at   org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)   2014-09-27T22:24:16.119206 + 00:00 app [web.1]:at   com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:268)   2014-09-27T22:24:16.119227 + 00:00 app [web.1]:at   com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:170)   2014-09-27T22:24:16.119258 + 00:00 app [web.1]:at   com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2597)   2014-09-27T22:24:16.119288 + 00:00 app [web.1]:at   com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2569)   2014-09-27T22:24:16.119317 + 00:00 app [web.1]:at   com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:415)   2014-09-27T22:24:16.119342 + 00:00 app [web.1]:at   com.amazonaws.services.s3.AmazonS3Client.doesBucketExist(AmazonS3Client.java:723)   2014-09-27T22:24:16.119374 + 00:00 app [web.1]:at   s3.S3Blobs.doJob(S3Blobs.java:32)2014-09-27T22:24:16.119404 + 00:00   app [web.1]:at play.jobs.Job.doJobWithResult(Job.java:50)   2014-09-27T22:24:16 + 00:00 app [heroku-postgres]:   source = HEROKUPOSTGRESQL_OLIVE sample#current_transaction = 1953   sample#db_size = 6842552bytes sample#tables = 1   sample#active-connections = 5 sample#waiting-connections = 0   样品#索引高速缓冲存储器命中率= 0.97895   sample#table-cache-hit-rate = 0.99444 sample#load-avg-1m = 0.535   样本#load-avg-5m = 0.375样本#load-avg-15m = 0.285样本#read-iops = 0   sample#write-iops = 20.195 sample#memory-total = 15405616kB   sample#memory-free = 243784kB sample#memory-cached = 14421060kB   样品#memory-postgres = 253500kB 2014-09-27T22:24:16.119434 + 00:00   app [web.1]:at play.jobs.Job.call(Job.java:146)   2014-09-27T22:24:16.119459 + 00:00 app [web.1]:...还有1个   2014-09-27T22:24:16.121017 + 00:00 app [web.1]:Sep 27,2014 22:24:16   +0000 [3 5] com.newrelic.agent.Agent INFO:JVM正在关闭

4 个答案:

答案 0 :(得分:1)

每次推送应用程序时,Heroku都会同步您的dependencies.yml文件。我的一个依赖项最终变得过时了,heroku自动抓取了该文件的新版本,这反过来打破了亚马逊的依赖性。将我的亚马逊更新到最新版本最终解决了问题。

我没有触及我的dependenies.yml文件数周,也没有运行“play deps --sync”数周,所以没想到在我的本地机器上查看。

答案 1 :(得分:1)

这里出现同样的问题(“IllegalStateException出现:不支持的cookie规范:默认”),甚至不是在Play框架或Heroku上,而是在经典的Java Web应用程序(Mifos开源小额信贷平台)中,并通过升级来解决从v1.7.2到最新的v2.3.3的可靠保证测试框架(可能是它的一些隐式传递依赖,这可能是比自己放心的根本原因,也许是来自v4的org.apache.httpcomponents httpclient的变化。 2.3到目前最新的v4.3.5) - 显然一些版本不匹配是这个版本的根本原因。

答案 2 :(得分:0)

org.apache.httpcomponents httpclient似乎是我的根本原因。

版本4.3.5之后的任何内容都会在使用它的库中导致此错误(并且尚未准备好),因此请检查您拥有的版本。

答案 3 :(得分:0)

Apache httpclient 4.3.6运行正常,请使用此版本。