twitter-archive / commons

Twitter common libraries for python and the JVM (deprecated)
http://twitter.github.com/commons
Other
2.1k stars 565 forks source link

com.twitter.commons:thrift 0.0.49 jar corrupt in Maven repo #97

Closed dragisak closed 11 years ago

dragisak commented 11 years ago

To reproduce, download http://maven.twttr.com/com/twitter/common/thrift/0.0.49/thrift-0.0.49.jar and run unzip -t

I am getting:

Archive:  thrift-0.0.49.jar
    testing: com/                    
  error:  invalid compressed data to inflate
    testing: com/twitter/            
  error:  invalid compressed data to inflate
    testing: com/twitter/common/     
  error:  invalid compressed data to inflate

etc.

jsirois commented 11 years ago

Thanks for the heads up. We've seen this once before and had to work around by publishing a jar w/o compression. I'll take this opportunity to do an audit and figure out the root cause.

jsirois commented 11 years ago

Your test was hugely helpful. It pinpointed directory entries as the problem leading to a quick fix. I'll be publishing new jars tomorrow with the fix and I'll note those here (I wil not over-write artifacts but instead bump patch levels)

dragisak commented 11 years ago

Probably less important. The JAR is missing optional manifest.

jsirois commented 11 years ago

Ok - com.twitter.common#thrift;0.0.50 is published using a fix to ensure dir entries are stored uncompressed (this fixes the zip corruption you found). I've also re-published all other com.twitter.common artifacts with a patch bump to cover the 30 or so I found with this issue: com/twitter/common/application/ com/twitter/common/application-http/ com/twitter/common/application-module-applauncher/ com/twitter/common/application-module-http/ com/twitter/common/application-module-log/ com/twitter/common/application-module-stats/ com/twitter/common/application-module-stats_export/ com/twitter/common/application-module-thrift/ com/twitter/common/junit-runner/ com/twitter/common/logging/ com/twitter/common/logging-scribe/ com/twitter/common/net-http-filters/ com/twitter/common/net-http-handlers/ com/twitter/common/net-http-handlers-params/ com/twitter/common/net-http-handlers-pprof/ com/twitter/common/net-http-handlers-string-template/ com/twitter/common/net-http-handlers-thrift/ com/twitter/common/net-pool/ com/twitter/common/service-thrift/ com/twitter/common/stats-util/ com/twitter/common/text/ com/twitter/common/thrift/ com/twitter/common/thrift-text/ com/twitter/common/util/ com/twitter/common/util-templating/ com/twitter/common/zookeeper/candidate/ com/twitter/common/zookeeper/group/ com/twitter/common/zookeeper/map/ com/twitter/common/zookeeper/node/ com/twitter/common/zookeeper/partitioner/ com/twitter/common/zookeeper/server-set/ com/twitter/common/zookeeper/singleton-service/