Skip to content

Instantly share code, notes, and snippets.

@Jaretbinford
Created September 4, 2018 13:25
Show Gist options
  • Save Jaretbinford/9b2e61305bfecc612e089affdc51ea88 to your computer and use it in GitHub Desktop.
Save Jaretbinford/9b2e61305bfecc612e089affdc51ea88 to your computer and use it in GitHub Desktop.
~Testing upgrading httpclient 4.5.3 and artemis-core-client 2.6.2~
Methodology: Download 5703 datomic pro. Remove httpclient and artemis-core-client jars from lib directory. Replace with updated jars 4.5.3 and 2.6.2 respectively. Update pom.xml to reflect new versions. Launch bin/repl or bin/transactor and test
;;Connecting updated peer to non-updated transactor:
jbin at Jarets-MacBook-Pro in ~/Desktop/Jaret/Tools/releasetest/depstestpeer/on-prem-state-farm/datomic-pro-0.9.5703
$ bin/repl
Clojure 1.9.0
user=> (ns depstest.core)
nil
depstest.core=> (require '[datomic.api :as d])
nil
depstest.core=> (d/get-database-names "datomic:dev://localhost:4334/*")
("hello")
depstest.core=> (def db-uri "datomic:dev://localhost:4334/hello")
#'depstest.core/db-uri
depstest.core=> (def conn (d/connect db-uri))
ClassNotFoundException org.apache.activemq.artemis.api.core.RoutingType java.net.URLClassLoader.findClass (URLClassLoader.java:381)
depstest.core=> *e
#error {
:cause "org.apache.activemq.artemis.api.core.RoutingType"
:via
[{:type clojure.lang.Compiler$CompilerException
:message "clojure.lang.ExceptionInfo: Error communicating with HOST localhost on PORT 4334 {:alt-host nil, :peer-version 2, :password \"QXF1juV+Cf3BOSUbIZhVVi09wP4IZYL25LKU+mr4tj0=\", :username \"/5FaHKzO/t3raSk7mqdNoQ6GfQxu7mIVTSRdEA1mTuc=\", :port 4334, :host \"localhost\", :version \"0.9.5703\", :timestamp 1536067339895, :encrypt-channel true}, compiling:(NO_SOURCE_FILE:5:11)"
:at [clojure.lang.Compiler$InvokeExpr eval "Compiler.java" 3700]}
{:type clojure.lang.ExceptionInfo
:message "Error communicating with HOST localhost on PORT 4334"
:data {:alt-host nil, :peer-version 2, :password "QXF1juV+Cf3BOSUbIZhVVi09wP4IZYL25LKU+mr4tj0=", :username "/5FaHKzO/t3raSk7mqdNoQ6GfQxu7mIVTSRdEA1mTuc=", :port 4334, :host "localhost", :version "0.9.5703", :timestamp 1536067339895, :encrypt-channel true}
:at [clojure.core$ex_info invokeStatic "core.clj" 4739]}
{:type java.lang.NoClassDefFoundError
:message "org/apache/activemq/artemis/api/core/RoutingType"
:at [org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration <clinit> "ActiveMQDefaultConfiguration.java" 476]}
{:type java.lang.ClassNotFoundException
:message "org.apache.activemq.artemis.api.core.RoutingType"
:at [java.net.URLClassLoader findClass "URLClassLoader.java" 381]}]
:trace
[[java.net.URLClassLoader findClass "URLClassLoader.java" 381]
[java.lang.ClassLoader loadClass "ClassLoader.java" 424]
[sun.misc.Launcher$AppClassLoader loadClass "Launcher.java" 331]
[java.lang.ClassLoader loadClass "ClassLoader.java" 357]
[org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration <clinit> "ActiveMQDefaultConfiguration.java" 476]
[org.apache.activemq.artemis.api.core.client.ActiveMQClient <clinit> "ActiveMQClient.java" 56]
[datomic.artemis_client$create_server_locator invokeStatic "artemis_client.clj" 97]
[datomic.artemis_client$create_server_locator invoke "artemis_client.clj" 94]
[datomic.artemis_client$create_session_factory invokeStatic "artemis_client.clj" 110]
[datomic.artemis_client$create_session_factory invoke "artemis_client.clj" 104]
[datomic.connector$try_hornet_connect invokeStatic "connector.clj" 110]
[datomic.connector$try_hornet_connect invoke "connector.clj" 95]
[datomic.connector$create_hornet_factory invokeStatic "connector.clj" 142]
[datomic.connector$create_hornet_factory invoke "connector.clj" 132]
[datomic.connector$create_transactor_hornet_connector invokeStatic "connector.clj" 322]
[datomic.connector$create_transactor_hornet_connector invoke "connector.clj" 317]
[datomic.connector$create_transactor_hornet_connector invokeStatic "connector.clj" 320]
[datomic.connector$create_transactor_hornet_connector invoke "connector.clj" 317]
[datomic.peer.Connection$fn__9922 invoke "peer.clj" 234]
[datomic.peer.Connection create_connection_state "peer.clj" 222]
[datomic.peer$create_connection$reconnect_fn__9999 invoke "peer.clj" 486]
[datomic.peer$create_connection invokeStatic "peer.clj" 487]
[datomic.peer$create_connection invoke "peer.clj" 451]
[datomic.peer$get_connection$fn__10055$fn__10057 invoke "peer.clj" 673]
[datomic.peer$get_connection$fn__10055 invoke "peer.clj" 670]
[datomic.peer$get_connection invokeStatic "peer.clj" 666]
[datomic.peer$get_connection invoke "peer.clj" 663]
[datomic.peer$connect_uri invokeStatic "peer.clj" 748]
[datomic.peer$connect_uri invoke "peer.clj" 740]
[clojure.lang.Var invoke "Var.java" 381]
[datomic.Peer connect "Peer.java" 106]
[datomic.api$connect invokeStatic "api.clj" 15]
[datomic.api$connect invoke "api.clj" 13]
[clojure.lang.AFn applyToHelper "AFn.java" 154]
[clojure.lang.AFn applyTo "AFn.java" 144]
[clojure.lang.Compiler$InvokeExpr eval "Compiler.java" 3695]
[clojure.lang.Compiler$DefExpr eval "Compiler.java" 457]
[clojure.lang.Compiler eval "Compiler.java" 7067]
[clojure.lang.Compiler eval "Compiler.java" 7025]
[clojure.core$eval invokeStatic "core.clj" 3206]
[clojure.core$eval invoke "core.clj" 3202]
[clojure.main$repl$read_eval_print__8572$fn__8575 invoke "main.clj" 243]
[clojure.main$repl$read_eval_print__8572 invoke "main.clj" 243]
[clojure.main$repl$fn__8581 invoke "main.clj" 261]
[clojure.main$repl invokeStatic "main.clj" 261]
[clojure.main$repl_opt invokeStatic "main.clj" 325]
[clojure.main$repl_opt invoke "main.clj" 321]
[clojure.main$main invokeStatic "main.clj" 424]
[clojure.main$main doInvoke "main.clj" 387]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.lang.Var applyTo "Var.java" 702]
[clojure.main main "main.java" 37]]}
depstest.core=>
;;Connecting updated PEER to very old transactor (5385)
jbin at Jarets-MacBook-Pro in ~/Desktop/Jaret/Tools/releasetest/depstestpeer/on-prem-state-farm/datomic-pro-0.9.5703
$ bin/repl
Clojure 1.9.0
user=> (-> (System/getProperties) (.get "java.class.path"))
"resources:lib/anomalies-0.1.12.jar:lib/ant-1.8.2.jar:lib/ant-launcher-1.8.2.jar:lib/args4j-2.0.12.jar:lib/artemis-commons-1.4.0.jar:lib/artemis-core-client-2.6.2.jar:lib/artemis-hornetq-protocol-1.4.0.jar:lib/artemis-hqclient-protocol-1.4.0.jar:lib/artemis-jdbc-store-1.4.0.jar:lib/artemis-journal-1.4.0.jar:lib/artemis-native-1.4.0.jar:lib/artemis-selector-1.4.0.jar:lib/artemis-server-1.4.0.jar:lib/asm-5.0.3.jar:lib/asm-all-4.2.jar:lib/asm-analysis-5.0.3.jar:lib/asm-commons-5.0.3.jar:lib/asm-tree-5.0.3.jar:lib/asm-util-5.0.3.jar:lib/aws-java-sdk-1.11.82.jar:lib/aws-java-sdk-acm-1.11.82.jar:lib/aws-java-sdk-api-gateway-1.11.82.jar:lib/aws-java-sdk-applicationautoscaling-1.11.82.jar:lib/aws-java-sdk-appstream-1.11.82.jar:lib/aws-java-sdk-autoscaling-1.11.82.jar:lib/aws-java-sdk-batch-1.11.82.jar:lib/aws-java-sdk-budgets-1.11.82.jar:lib/aws-java-sdk-cloudformation-1.11.82.jar:lib/aws-java-sdk-cloudfront-1.11.82.jar:lib/aws-java-sdk-cloudhsm-1.11.82.jar:lib/aws-java-sdk-cloudsearch-1.11.82.jar:lib/aws-java-sdk-cloudtrail-1.11.82.jar:lib/aws-java-sdk-cloudwatch-1.11.82.jar:lib/aws-java-sdk-cloudwatchmetrics-1.11.82.jar:lib/aws-java-sdk-codebuild-1.11.82.jar:lib/aws-java-sdk-codecommit-1.11.82.jar:lib/aws-java-sdk-codedeploy-1.11.82.jar:lib/aws-java-sdk-codepipeline-1.11.82.jar:lib/aws-java-sdk-cognitoidentity-1.11.82.jar:lib/aws-java-sdk-cognitoidp-1.11.82.jar:lib/aws-java-sdk-cognitosync-1.11.82.jar:lib/aws-java-sdk-config-1.11.82.jar:lib/aws-java-sdk-core-1.11.82.jar:lib/aws-java-sdk-costandusagereport-1.11.82.jar:lib/aws-java-sdk-datapipeline-1.11.82.jar:lib/aws-java-sdk-devicefarm-1.11.82.jar:lib/aws-java-sdk-directconnect-1.11.82.jar:lib/aws-java-sdk-directory-1.11.82.jar:lib/aws-java-sdk-discovery-1.11.82.jar:lib/aws-java-sdk-dms-1.11.82.jar:lib/aws-java-sdk-dynamodb-1.11.82.jar:lib/aws-java-sdk-ec2-1.11.82.jar:lib/aws-java-sdk-ecr-1.11.82.jar:lib/aws-java-sdk-ecs-1.11.82.jar:lib/aws-java-sdk-efs-1.11.82.jar:lib/aws-java-sdk-elasticache-1.11.82.jar:lib/aws-java-sdk-elasticbeanstalk-1.11.82.jar:lib/aws-java-sdk-elasticloadbalancing-1.11.82.jar:lib/aws-java-sdk-elasticloadbalancingv2-1.11.82.jar:lib/aws-java-sdk-elasticsearch-1.11.82.jar:lib/aws-java-sdk-elastictranscoder-1.11.82.jar:lib/aws-java-sdk-emr-1.11.82.jar:lib/aws-java-sdk-events-1.11.82.jar:lib/aws-java-sdk-gamelift-1.11.82.jar:lib/aws-java-sdk-glacier-1.11.82.jar:lib/aws-java-sdk-health-1.11.82.jar:lib/aws-java-sdk-iam-1.11.82.jar:lib/aws-java-sdk-importexport-1.11.82.jar:lib/aws-java-sdk-inspector-1.11.82.jar:lib/aws-java-sdk-iot-1.11.82.jar:lib/aws-java-sdk-kinesis-1.11.82.jar:lib/aws-java-sdk-kms-1.11.82.jar:lib/aws-java-sdk-lambda-1.11.82.jar:lib/aws-java-sdk-lightsail-1.11.82.jar:lib/aws-java-sdk-logs-1.11.82.jar:lib/aws-java-sdk-machinelearning-1.11.82.jar:lib/aws-java-sdk-marketplacecommerceanalytics-1.11.82.jar:lib/aws-java-sdk-marketplacemeteringservice-1.11.82.jar:lib/aws-java-sdk-models-1.11.82.jar:lib/aws-java-sdk-opsworks-1.11.82.jar:lib/aws-java-sdk-opsworkscm-1.11.82.jar:lib/aws-java-sdk-pinpoint-1.11.82.jar:lib/aws-java-sdk-polly-1.11.82.jar:lib/aws-java-sdk-rds-1.11.82.jar:lib/aws-java-sdk-redshift-1.11.82.jar:lib/aws-java-sdk-rekognition-1.11.82.jar:lib/aws-java-sdk-route53-1.11.82.jar:lib/aws-java-sdk-s3-1.11.82.jar:lib/aws-java-sdk-servermigration-1.11.82.jar:lib/aws-java-sdk-servicecatalog-1.11.82.jar:lib/aws-java-sdk-ses-1.11.82.jar:lib/aws-java-sdk-shield-1.11.82.jar:lib/aws-java-sdk-simpledb-1.11.82.jar:lib/aws-java-sdk-simpleworkflow-1.11.82.jar:lib/aws-java-sdk-snowball-1.11.82.jar:lib/aws-java-sdk-sns-1.11.82.jar:lib/aws-java-sdk-sqs-1.11.82.jar:lib/aws-java-sdk-ssm-1.11.82.jar:lib/aws-java-sdk-stepfunctions-1.11.82.jar:lib/aws-java-sdk-storagegateway-1.11.82.jar:lib/aws-java-sdk-sts-1.11.82.jar:lib/aws-java-sdk-support-1.11.82.jar:lib/aws-java-sdk-swf-libraries-1.11.22.jar:lib/aws-java-sdk-waf-1.11.82.jar:lib/aws-java-sdk-workspaces-1.11.82.jar:lib/aws-java-sdk-xray-1.11.82.jar:lib/bsh-2.1b5.jar:lib/cassandra-driver-core-3.1.0.jar:lib/caster-0.1.35.jar:lib/client-0.8.52.jar:lib/client-api-0.8.7.jar:lib/client-impl-shared-0.8.40.jar:lib/client-pro-0.8.14.jar:lib/client-spi-0.1.88.jar:lib/client.wire-specs-0.1.28.jar:lib/clj-stacktrace-0.2.4.jar:lib/clj-time-0.3.7.jar:lib/clojure-1.9.0.jar:lib/clojurescript-0.0-1236.jar:lib/closure-compiler-r1918.jar:lib/commons-beanutils-1.9.2.jar:lib/commons-cli-1.2.jar:lib/commons-codec-1.10.jar:lib/commons-collections-3.2.1.jar:lib/commons-compiler-2.6.1.jar:lib/commons-compiler-jdk-2.6.1.jar:lib/commons-fileupload-1.2.1.jar:lib/commons-io-2.1.jar:lib/core.async-0.3.442.jar:lib/core.cache-0.6.5.jar:lib/core.memoize-0.5.9.jar:lib/core.specs.alpha-0.1.24.jar:lib/couchbase-client-1.0.3.jar:lib/curator-client-2.6.0.jar:lib/curator-framework-2.6.0.jar:lib/cursive-socket-0.1.8.jar:lib/data.csv-0.1.2.jar:lib/data.json-0.2.3.jar:lib/data.priority-map-0.0.7.jar:lib/datomic-lucene-core-3.3.0.jar:lib/datomic.specs-0.1.3.jar:lib/enlive-1.0.1.jar:lib/fressian-0.6.5.jar:lib/geronimo-json_1.0_spec-1.0-alpha-1.jar:lib/google-closure-library-0.0-1376.jar:lib/groovy-all-1.8.9.jar:lib/guava-18.0.jar:lib/h2-1.3.171.jar:lib/hiccup-1.0.1.jar:lib/hmac-authn-0.1.194.jar:lib/http-client-0.1.73.jar:lib/http-endpoint-0.1.68.jar:lib/httpclient-4.5.3.jar:lib/httpcore-4.4.4.jar:lib/ion-java-1.0.1.jar:lib/jackson-annotations-2.6.6.jar:lib/jackson-core-2.6.6.jar:lib/jackson-databind-2.6.6.jar:lib/jackson-dataformat-cbor-2.6.6.jar:lib/jackson-datatype-joda-2.6.6.jar:lib/jansi-1.11.jar:lib/jarjar-1.1.jar:lib/java-io-0.1.6.jar:lib/java.classpath-0.1.0.jar:lib/java.jmx-0.3.3.jar:lib/javassist-3.16.1-GA.jar:lib/javax.servlet-api-3.1.0.jar:lib/jboss-logging-3.3.0.Final.jar:lib/jcl-over-slf4j-1.7.7.jar:lib/jettison-1.1.jar:lib/jetty-client-9.3.7.v20160115.jar:lib/jetty-continuation-9.3.7.v20160115.jar:lib/jetty-http-9.3.7.v20160115.jar:lib/jetty-io-9.3.7.v20160115.jar:lib/jetty-security-9.3.7.v20160115.jar:lib/jetty-server-9.3.7.v20160115.jar:lib/jetty-servlet-9.3.7.v20160115.jar:lib/jetty-util-9.3.7.v20160115.jar:lib/jffi-1.2.10-native.jar:lib/jffi-1.2.10.jar:lib/jline-0.9.9.jar:lib/jline-win-1.0.jar:lib/jmespath-java-1.11.82.jar:lib/jnr-constants-0.9.0.jar:lib/jnr-ffi-2.0.7.jar:lib/jnr-posix-3.0.27.jar:lib/jnr-x86asm-1.0.2.jar:lib/joda-time-2.2.jar:lib/johnzon-core-0.9.4.jar:lib/json-20090211.jar:lib/json-simple-1.1.1.jar:lib/jsr305-1.3.9.jar:lib/jul-to-slf4j-1.7.7.jar:lib/junit-4.8.2.jar:lib/liberator-0.5.0.jar:lib/log4j-over-slf4j-1.7.7.jar:lib/logback-classic-1.0.13.jar:lib/logback-core-1.0.13.jar:lib/metrics-core-3.1.2.jar:lib/moustache-1.1.0.jar:lib/msgpack-0.6.9.jar:lib/nano-impl-0.1.305.jar:lib/netty-3.7.0.Final.jar:lib/netty-all-4.0.39.Final.jar:lib/ns-tracker-0.1.1.jar:lib/postgresql-9.3-1102-jdbc41.jar:lib/protobuf-java-2.4.1.jar:lib/rhino-1.7R3.jar:lib/riak-client-1.4.2.jar:lib/ring-1.1.1.jar:lib/ring-core-1.1.1.jar:lib/ring-devel-1.1.1.jar:lib/ring-jetty-adapter-1.1.1.jar:lib/ring-servlet-1.1.1.jar:lib/slf4j-api-1.7.5.jar:lib/spec.alpha-0.1.143.jar:lib/spymemcached-2.11.4.jar:lib/stax-api-1.0.1.jar:lib/tagsoup-1.2.jar:lib/tap-0.1.31.jar:lib/tomcat-jdbc-7.0.27.jar:lib/tomcat-juli-7.0.27.jar:lib/tools.analyzer-0.6.9.jar:lib/tools.analyzer.jvm-0.7.0.jar:lib/tools.cli-0.3.5.jar:lib/tools.logging-0.2.3.jar:lib/tools.namespace-0.1.0.jar:lib/tools.reader-1.0.0-beta4.jar:lib/tools.trace-0.7.3.jar:lib/transit-clj-0.8.285.jar:lib/transit-java-0.8.311.jar:lib/zookeeper-3.4.6.jar:datomic-transactor-pro-0.9.5703.jar:samples/clj:bin:"
user=> (ns depstest.core)
nil
depstest.core=> (require '[datomic.api :as d])
nil
depstest.core=> (def db-uri "datomic:dev://localhost:4334/hello")
#'depstest.core/db-uri
depstest.core=> (def conn (d/connect db-uri))
ClassNotFoundException org.apache.activemq.artemis.api.core.RoutingType java.net.URLClassLoader.findClass (URLClassLoader.java:381)
depstest.core=>
;Trying to launch a new transactor with updated deps:
jbin at Jarets-MacBook-Pro in ~/Desktop/Jaret/Tools/releasetest/depstestpeer/on-prem-state-farm/datomic-pro-0.9.5703
$ bin/transactor config/samples/dev-transactor-template.properties
Launching with Java options -server -Xms1g -Xmx1g -XX:+UseG1GC -XX:MaxGCPauseMillis=50
Starting datomic:dev://localhost:4334/<DB-NAME>, storing data in: data ...
System started datomic:dev://localhost:4334/<DB-NAME>, storing data in: data
Critical failure, cannot continue: Serve failed
java.lang.NoClassDefFoundError: org/apache/activemq/artemis/utils/ExecutorFactory
at datomic.artemis_server$start_server.invokeStatic(artemis_server.clj:97)
at datomic.artemis_server$start_server.invoke(artemis_server.clj:92)
at datomic.update$create_master$fn__16336.invoke(update.clj:719)
at datomic.update$create_master.invokeStatic(update.clj:716)
at datomic.update$create_master.doInvoke(update.clj:714)
at clojure.lang.RestFn.invoke(RestFn.java:619)
at datomic.transactor$start_lifecycle$serve__26897.invoke(transactor.clj:48)
at datomic.lifecycle$start$start_serving__16366$fn__16367.invoke(lifecycle.clj:62)
at clojure.core$binding_conveyor_fn$fn__5476.invoke(core.clj:2022)
at clojure.lang.AFn.call(AFn.java:18)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.apache.activemq.artemis.utils.ExecutorFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 14 more
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment