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

Update com.cognitect/http-client version #81

Closed
fmnoise opened this issue Jun 13, 2019 · 6 comments
Closed

Update com.cognitect/http-client version #81

fmnoise opened this issue Jun 13, 2019 · 6 comments
Labels
enhancement New feature or request http-client

Comments

@fmnoise
Copy link

fmnoise commented Jun 13, 2019

Hi guys! Thanks for you work on the lib, that's really cool stuff and I enjoy it a lot. I just recently noticed that old version of com.cognitect/http-client is used https://github.com/cognitect-labs/aws-api/blob/master/deps.edn#L11
and this version depends on some pretty old jetty libs

 [com.cognitect.aws/api "0.8.305"]
   [com.cognitect/http-client "0.1.87"]
     [org.eclipse.jetty/jetty-client "9.3.7.v20160115"]
       [org.eclipse.jetty/jetty-io "9.3.7.v20160115"]
     [org.eclipse.jetty/jetty-http "9.3.7.v20160115"]
     [org.eclipse.jetty/jetty-util "9.3.7.v20160115"]
@fmnoise fmnoise changed the title Update com.cognitect/http-client version Update com.cognitect/http-client version Jun 13, 2019
@johnjelinek
Copy link

similarly, I'm getting this error when building in jdk8 and it seems related (no error in jdk11, but I can't ship on jdk11 for this project):

# clojure -A:aot
2019-06-14 20:56:12.474:INFO::main: Logging initialized @5014ms
2019-06-14 20:56:13.782:INFO:oejc.ResponseNotifier:qtp1943750504-30: Exception while notifying listener org.eclipse.jetty.client.HttpRequest$10@1f8475a7
java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer;
        at cognitect.http_client$empty_bbuf.invokeStatic(http_client.clj:37)
        at cognitect.http_client$empty_bbuf.invoke(http_client.clj:34)
        at cognitect.http_client$on_headers.invokeStatic(http_client.clj:128)
        at cognitect.http_client$on_headers.invoke(http_client.clj:108)
        at clojure.lang.Atom.swap(Atom.java:51)
        at clojure.core$swap_BANG_.invokeStatic(core.clj:2353)
        at clojure.core$swap_BANG_.invoke(core.clj:2345)
        at cognitect.http_client.Client$fn$reify__8183.onHeaders(http_client.clj:228)
        at org.eclipse.jetty.client.HttpRequest$10.onHeaders(HttpRequest.java:487)
        at org.eclipse.jetty.client.ResponseNotifier.notifyHeaders(ResponseNotifier.java:103)
        at org.eclipse.jetty.client.ResponseNotifier.notifyHeaders(ResponseNotifier.java:95)
        at org.eclipse.jetty.client.HttpReceiver.responseHeaders(HttpReceiver.java:257)
        at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.headerComplete(HttpReceiverOverHTTP.java:230)
        at org.eclipse.jetty.http.HttpParser.parseHeaders(HttpParser.java:962)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1188)
        at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:158)
        at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:119)
        at org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:69)
        at org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:90)
        at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:113)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
        at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:197)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
        at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213)
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
        at java.lang.Thread.run(Thread.java:748)
Exception in thread "main" java.lang.ExceptionInInitializerError
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at clojure.lang.RT.classForName(RT.java:2207)
        at clojure.lang.RT.classForName(RT.java:2216)
        at clojure.lang.RT.loadClassForName(RT.java:2235)
        at clojure.lang.RT.load(RT.java:453)
        at clojure.lang.RT.load(RT.java:428)
        at clojure.core$load$fn__6824.invoke(core.clj:6126)
        at clojure.core$load.invokeStatic(core.clj:6125)
        at clojure.core$load.doInvoke(core.clj:6109)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at clojure.core$load_one.invokeStatic(core.clj:5908)
        at clojure.core$compile$fn__6829.invoke(core.clj:6136)
        at clojure.core$compile.invokeStatic(core.clj:6136)
        at clojure.core$compile.invoke(core.clj:6128)
        at user$eval1.invokeStatic(NO_SOURCE_FILE:1)
        at user$eval1.invoke(NO_SOURCE_FILE:1)
        at clojure.lang.Compiler.eval(Compiler.java:7176)
        at clojure.lang.Compiler.eval(Compiler.java:7131)
        at clojure.core$eval.invokeStatic(core.clj:3214)
        at clojure.main$eval_opt.invokeStatic(main.clj:465)
        at clojure.main$eval_opt.invoke(main.clj:459)
        at clojure.main$initialize.invokeStatic(main.clj:485)
        at clojure.main$null_opt.invokeStatic(main.clj:519)
        at clojure.main$null_opt.invoke(main.clj:516)
        at clojure.main$main.invokeStatic(main.clj:598)
        at clojure.main$main.doInvoke(main.clj:561)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.lang.Var.applyTo(Var.java:705)
        at clojure.main.main(main.java:37)
Caused by: Syntax error compiling at (dal.clj:42:3).
        at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3707)
        at clojure.lang.Compiler$DefExpr.eval(Compiler.java:457)
        at clojure.lang.Compiler.compile1(Compiler.java:7730)
        at clojure.lang.Compiler.compile(Compiler.java:7797)
        at clojure.lang.RT.compile(RT.java:415)
        at clojure.lang.RT.load(RT.java:461)
        at clojure.lang.RT.load(RT.java:428)
        at clojure.core$load$fn__6824.invoke(core.clj:6126)
        at clojure.core$load.invokeStatic(core.clj:6125)
        at clojure.core$load.doInvoke(core.clj:6109)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at clojure.core$load_one.invokeStatic(core.clj:5908)
        at clojure.core$load_one.invoke(core.clj:5903)
        at clojure.core$load_lib$fn__6765.invoke(core.clj:5948)
        at clojure.core$load_lib.invokeStatic(core.clj:5947)
        at clojure.core$load_lib.doInvoke(core.clj:5928)
        at clojure.lang.RestFn.applyTo(RestFn.java:142)
        at clojure.core$apply.invokeStatic(core.clj:667)
        at clojure.core$load_libs.invokeStatic(core.clj:5985)
        at clojure.core$load_libs.doInvoke(core.clj:5969)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply.invokeStatic(core.clj:667)
        at clojure.core$require.invokeStatic(core.clj:6007)
        at clojure.core$require.doInvoke(core.clj:6007)
        at clojure.lang.RestFn.invoke(RestFn.java:512)
        at clj.core$loading__6706__auto____3.invoke(core.clj:1)
        at clj.core__init.load(Unknown Source)
        at clj.core__init.<clinit>(Unknown Source)
        ... 30 more
Caused by: java.lang.NullPointerException
        at java.io.StringReader.<init>(StringReader.java:50)
        at clojure.data.json$read_str.invokeStatic(json.clj:278)
        at clojure.data.json$read_str.doInvoke(json.clj:274)
        at clojure.lang.RestFn.invoke(RestFn.java:439)
        at clj.util$json__GT_map.invokeStatic(util.clj:15)
        at clj.util$json__GT_map.invoke(util.clj:13)
        at clj.dal$get_secret_from_aws.invokeStatic(dal.clj:29)
        at clj.dal$get_secret_from_aws.invoke(dal.clj:20)
        at clj.dal$get_secret_from_aws.invokeStatic(dal.clj:23)
        at clj.dal$get_secret_from_aws.invoke(dal.clj:20)
        at clojure.lang.AFn.applyToHelper(AFn.java:154)
        at clojure.lang.AFn.applyTo(AFn.java:144)
        at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3702)
        ... 57 more

@johnjelinek
Copy link

Seems like I'll have to jump over to https://github.com/mcohen01/amazonica if I'm on java8.

@dchelimsky
Copy link
Contributor

Have you tried depending on the version of jetty you want explicitly?

clj -Sdeps '{:deps {org.eclipse.jetty/jetty-client {:mvn/version "9.4.9.v20180320"}}}'

@johnjelinek
Copy link

You can override transitive dependencies?

@dchelimsky
Copy link
Contributor

$ clj -A:dev:examples -Spath
dev/src:dev/resources:test/src:test/resources:examples:examples/resources:src:/Users/david/.m2/repository/com/cognitect/aws/ssm/697.2.391.0/ssm-697.2.391.0.jar:/Users/david/.m2/repository/org/clojure/data.json/0.2.6/data.json-0.2.6.jar:/Users/david/.m2/repository/org/clojure/clojure/1.10.0/clojure-1.10.0.jar:/Users/david/.m2/repository/com/cognitect/aws/lambda/697.2.391.0/lambda-697.2.391.0.jar:/Users/david/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar:/Users/david/.m2/repository/org/clojure/tools.analyzer/0.6.9/tools.analyzer-0.6.9.jar:/Users/david/.m2/repository/com/cognitect/aws/endpoints/1.1.11.481/endpoints-1.1.11.481.jar:/Users/david/.m2/repository/org/clojure/tools.logging/0.4.0/tools.logging-0.4.0.jar:/Users/david/.m2/repository/org/clojure/core.specs.alpha/0.2.44/core.specs.alpha-0.2.44.jar:/Users/david/.m2/repository/org/clojure/spec.alpha/0.2.176/spec.alpha-0.2.176.jar:/Users/david/.m2/repository/org/eclipse/jetty/jetty-http/9.3.7.v20160115/jetty-http-9.3.7.v20160115.jar:/Users/david/.m2/repository/org/eclipse/jetty/jetty-util/9.3.7.v20160115/jetty-util-9.3.7.v20160115.jar:/Users/david/.m2/repository/org/clojure/tools.analyzer.jvm/0.7.2/tools.analyzer.jvm-0.7.2.jar:/Users/david/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar:/Users/david/.m2/repository/com/cognitect/aws/iam/697.2.391.0/iam-697.2.391.0.jar:/Users/david/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar:/Users/david/.m2/repository/com/cognitect/aws/sts/697.2.391.0/sts-697.2.391.0.jar:/Users/david/.m2/repository/com/cognitect/http-client/0.1.87/http-client-0.1.87.jar:/Users/david/.m2/repository/org/clojure/data.xml/0.2.0-alpha6/data.xml-0.2.0-alpha6.jar:/Users/david/.m2/repository/com/cognitect/aws/ec2/698.2.395.0/ec2-698.2.395.0.jar:/Users/david/.m2/repository/org/eclipse/jetty/jetty-client/9.3.7.v20160115/jetty-client-9.3.7.v20160115.jar:/Users/david/.m2/repository/org/eclipse/jetty/jetty-io/9.3.7.v20160115/jetty-io-9.3.7.v20160115.jar:/Users/david/.m2/repository/org/clojure/tools.reader/1.0.0-beta4/tools.reader-1.0.0-beta4.jar:/Users/david/.m2/repository/com/cognitect/aws/s3/697.2.391.0/s3-697.2.391.0.jar:/Users/david/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/Users/david/.m2/repository/org/clojure/test.check/0.9.0/test.check-0.9.0.jar:/Users/david/.m2/repository/com/cognitect/aws/dynamodb/697.2.391.0/dynamodb-697.2.391.0.jar:/Users/david/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar:/Users/david/.m2/repository/org/clojure/core.memoize/0.5.9/core.memoize-0.5.9.jar:/Users/david/.m2/repository/org/clojure/data.priority-map/0.0.7/data.priority-map-0.0.7.jar:/Users/david/.m2/repository/org/clojure/core.cache/0.6.5/core.cache-0.6.5.jar:/Users/david/.m2/repository/org/ow2/asm/asm-all/4.2/asm-all-4.2.jar:/Users/david/.m2/repository/org/clojure/core.async/0.4.490/core.async-0.4.490.jar:/Users/david/.m2/repository/org/clojure/data.codec/0.1.0/data.codec-0.1.0.jar:/Users/david/.m2/repository/http-kit/http-kit/2.3.0/http-kit-2.3.0.jar

$ clj -A:dev:examples -Spath -Sdeps '{:deps {org.eclipse.jetty/jetty-client {:mvn/version "9.4.9.v20180320"}}}'
dev/src:dev/resources:test/src:test/resources:examples:examples/resources:src:/Users/david/.m2/repository/com/cognitect/aws/ssm/697.2.391.0/ssm-697.2.391.0.jar:/Users/david/.m2/repository/org/clojure/data.json/0.2.6/data.json-0.2.6.jar:/Users/david/.m2/repository/org/clojure/clojure/1.10.0/clojure-1.10.0.jar:/Users/david/.m2/repository/com/cognitect/aws/lambda/697.2.391.0/lambda-697.2.391.0.jar:/Users/david/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar:/Users/david/.m2/repository/org/clojure/tools.analyzer/0.6.9/tools.analyzer-0.6.9.jar:/Users/david/.m2/repository/com/cognitect/aws/endpoints/1.1.11.481/endpoints-1.1.11.481.jar:/Users/david/.m2/repository/org/clojure/tools.logging/0.4.0/tools.logging-0.4.0.jar:/Users/david/.m2/repository/org/clojure/core.specs.alpha/0.2.44/core.specs.alpha-0.2.44.jar:/Users/david/.m2/repository/org/clojure/spec.alpha/0.2.176/spec.alpha-0.2.176.jar:/Users/david/.m2/repository/org/eclipse/jetty/jetty-http/9.4.9.v20180320/jetty-http-9.4.9.v20180320.jar:/Users/david/.m2/repository/org/eclipse/jetty/jetty-util/9.4.9.v20180320/jetty-util-9.4.9.v20180320.jar:/Users/david/.m2/repository/org/clojure/tools.analyzer.jvm/0.7.2/tools.analyzer.jvm-0.7.2.jar:/Users/david/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar:/Users/david/.m2/repository/com/cognitect/aws/iam/697.2.391.0/iam-697.2.391.0.jar:/Users/david/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar:/Users/david/.m2/repository/com/cognitect/aws/sts/697.2.391.0/sts-697.2.391.0.jar:/Users/david/.m2/repository/com/cognitect/http-client/0.1.87/http-client-0.1.87.jar:/Users/david/.m2/repository/org/clojure/data.xml/0.2.0-alpha6/data.xml-0.2.0-alpha6.jar:/Users/david/.m2/repository/com/cognitect/aws/ec2/698.2.395.0/ec2-698.2.395.0.jar:/Users/david/.m2/repository/org/eclipse/jetty/jetty-client/9.4.9.v20180320/jetty-client-9.4.9.v20180320.jar:/Users/david/.m2/repository/org/eclipse/jetty/jetty-io/9.4.9.v20180320/jetty-io-9.4.9.v20180320.jar:/Users/david/.m2/repository/org/clojure/tools.reader/1.0.0-beta4/tools.reader-1.0.0-beta4.jar:/Users/david/.m2/repository/com/cognitect/aws/s3/697.2.391.0/s3-697.2.391.0.jar:/Users/david/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/Users/david/.m2/repository/org/clojure/test.check/0.9.0/test.check-0.9.0.jar:/Users/david/.m2/repository/com/cognitect/aws/dynamodb/697.2.391.0/dynamodb-697.2.391.0.jar:/Users/david/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar:/Users/david/.m2/repository/org/clojure/core.memoize/0.5.9/core.memoize-0.5.9.jar:/Users/david/.m2/repository/org/clojure/data.priority-map/0.0.7/data.priority-map-0.0.7.jar:/Users/david/.m2/repository/org/clojure/core.cache/0.6.5/core.cache-0.6.5.jar:/Users/david/.m2/repository/org/ow2/asm/asm-all/4.2/asm-all-4.2.jar:/Users/david/.m2/repository/org/clojure/core.async/0.4.490/core.async-0.4.490.jar:/Users/david/.m2/repository/org/clojure/data.codec/0.1.0/data.codec-0.1.0.jar:/Users/david/.m2/repository/http-kit/http-kit/2.3.0/http-kit-2.3.0.jar```

@dchelimsky dchelimsky added enhancement New feature or request http-client labels Jun 20, 2019
@dchelimsky
Copy link
Contributor

Fixed in 0.8.335.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request http-client
Projects
None yet
Development

No branches or pull requests

3 participants