typesafehub / sbt-conductr

Typesafe ConductR plugin for sbt
Other
29 stars 22 forks source link

Fix compatibility issue with ConductR 1.1 #178

Closed fsat closed 7 years ago

fsat commented 7 years ago

ConductR 1.1 always expect Endpoint to declare services URI. As such, always generate empty services URI by default if no request mappings is specified.

fsat commented 7 years ago

Marked as wip for now - I want to perform manual test with ConductR 1.1 and ConductR 2.0 using cassandra bundle.

fsat commented 7 years ago

Manual test with ConductR 1.1 is successful.

Setup

Result

Bundle is loaded and run successfully.

Felixs-MacBook-Pro-2:conductr-cassandra felixsatyaputra$ conduct load target/bundle/cassandra-v3-6a2f3414f4f9de39c78556aeae21952768f5a1a570bd3f446b7982567219b7b4.zip
Retrieving bundle...
Bintray credentials loaded from /Users/felixsatyaputra/.bintray/.credentials
Loading bundle from cache target/bundle/cassandra-v3-6a2f3414f4f9de39c78556aeae21952768f5a1a570bd3f446b7982567219b7b4.zip
Retrieving file:///Users/felixsatyaputra/workspace/typesafe-fsat/conductr-cassandra/target/bundle/cassandra-v3-6a2f3414f4f9de39c78556aeae21952768f5a1a570bd3f446b7982567219b7b4.zip
Loading bundle to ConductR...
Bundle 6a2f3414f4f9de39c78556aeae219527 waiting to be installed
Bundle 6a2f3414f4f9de39c78556aeae219527 installed
Bundle loaded.
Start bundle with: conduct run --ip 192.168.99.100 6a2f341
Unload bundle with: conduct unload --ip 192.168.99.100 6a2f341
Print ConductR info with: conduct info --ip 192.168.99.100

Felixs-MacBook-Pro-2:conductr-cassandra felixsatyaputra$ conduct run cass
Bundle run request sent.
Bundle 6a2f3414f4f9de39c78556aeae219527 waiting to reach expected scale 1
Bundle 6a2f3414f4f9de39c78556aeae219527 has scale 0, expected 1
Bundle 6a2f3414f4f9de39c78556aeae219527 expected scale 1 is met
Stop bundle with: conduct stop --ip 192.168.99.100 6a2f341
Print ConductR info with: conduct info --ip 192.168.99.100

Felixs-MacBook-Pro-2:conductr-cassandra felixsatyaputra$ conduct info
ID       NAME       #REP  #STR  #RUN
5a79de9  eslite        1     0     1
6a2f341  cassandra     1     0     1

Felixs-MacBook-Pro-2:conductr-cassandra felixsatyaputra$ conduct logs cass
TIME      HOST          LOG
16:36:31  6ae56c9a74fa  INFO  05:36:31 Could not initialize SIGAR library org.hyperic.sigar.Sigar.getFileSystemListNative()[Lorg/hyperic/sigar/FileSystem;
INFO  05:36:31 Sigar could not be initialized, test for checking degraded mode omitted.
16:36:31  6ae56c9a74fa  WARN  05:36:31 Directory /var/lib/cassandra-v3/data doesn't exist
16:36:31  6ae56c9a74fa  WARN  05:36:31 Directory /var/lib/cassandra-v3/commitlog doesn't exist
16:36:31  6ae56c9a74fa  WARN  05:36:31 Directory /var/lib/cassandra-v3/saved_caches doesn't exist
16:36:31  6ae56c9a74fa  WARN  05:36:31 Directory /var/lib/cassandra-v3/hints doesn't exist
16:36:31  6ae56c9a74fa  INFO  05:36:31 Initializing system.IndexInfo
16:36:33  6ae56c9a74fa  INFO  05:36:33 Node /172.17.0.2 state jump to NORMAL
16:36:41  6ae56c9a74fa  INFO  05:36:41 Not starting RPC server as requested. Use JMX (StorageService->startRPCServer()) or nodetool (enablethrift) to start it
16:36:43  6ae56c9a74fa  INFO  05:36:43 Created default superuser role 'cassandra'
16:36:43  6ae56c9a74fa  WARN  05:36:43 Trigger directory doesn't exist, please create it and try again.
fsat commented 7 years ago

Manual test with ConductR master branch is successful.

Setup

Result

Bundle is loaded and run successfully.

Felixs-MacBook-Pro-2:conductr-cassandra felixsatyaputra$ conduct load target/bundle/cassandra-v3-6a2f3414f4f9de39c78556aeae21952768f5a1a570bd3f446b7982567219b7b4.zip
Retrieving bundle...
Bintray credentials loaded from /Users/felixsatyaputra/.bintray/.credentials
Loading bundle from cache target/bundle/cassandra-v3-6a2f3414f4f9de39c78556aeae21952768f5a1a570bd3f446b7982567219b7b4.zip
Retrieving file:///Users/felixsatyaputra/workspace/typesafe-fsat/conductr-cassandra/target/bundle/cassandra-v3-6a2f3414f4f9de39c78556aeae21952768f5a1a570bd3f446b7982567219b7b4.zip
Loading bundle to ConductR...
Bundle 6a2f3414f4f9de39c78556aeae219527 waiting to be installed
Bundle 6a2f3414f4f9de39c78556aeae219527 installed
Bundle loaded.
Start bundle with: conduct run --ip 192.168.99.100 6a2f341
Unload bundle with: conduct unload --ip 192.168.99.100 6a2f341
Print ConductR info with: conduct info --ip 192.168.99.100

Felixs-MacBook-Pro-2:conductr-cassandra felixsatyaputra$ conduct run cass
Bundle run request sent.
Bundle 6a2f3414f4f9de39c78556aeae219527 waiting to reach expected scale 1
Bundle 6a2f3414f4f9de39c78556aeae219527 has scale 0, expected 1
Bundle 6a2f3414f4f9de39c78556aeae219527 expected scale 1 is met
Stop bundle with: conduct stop --ip 192.168.99.100 6a2f341
Print ConductR info with: conduct info --ip 192.168.99.100

Felixs-MacBook-Pro-2:conductr-cassandra felixsatyaputra$ conduct info
ID               NAME              #REP  #STR  #RUN
ef28f47-6249ee6  conductr-haproxy     1     0     1
aa1dd82          eslite               1     0     1
6a2f341          cassandra            1     0     1

Felixs-MacBook-Pro-2:conductr-cassandra felixsatyaputra$ conduct logs cass
TIME      HOST          LOG
16:46:54  7be72b9c3163  INFO  05:46:54 Hostname: 7be72b9c3163
16:46:54  7be72b9c3163  INFO  05:46:54 JVM vendor/version: OpenJDK 64-Bit Server VM/1.8.0_91
16:46:54  7be72b9c3163  INFO  05:46:54 Heap size: 78643200/921174016
INFO  05:46:54 Code Cache Non-heap memory: init = 2555904(2496K) used = 4008256(3914K) committed = 4063232(3968K) max = 251658240(245760K)
INFO  05:46:54 Metaspace Non-heap memory: init = 0(0K) used = 13774928(13452K) committed = 14155776(13824K) max = -1(-1K)
INFO  05:46:54 Compressed Class Space Non-heap memory: init = 0(0K) used = 1654624(1615K) committed = 1835008(1792K) max = 1073741824(1048576K)
INFO  05:46:54 PS Eden Space Heap memory: init = 16252928(15872K) used = 22626536(22096K) committed = 32505856(31744K) max = 339738624(331776K)
INFO  05:46:54 PS Survivor Space Heap memory: init = 2621440(2560K) used = 2599888(2538K) committed = 2621440(2560K) max = 2621440(2560K)
INFO  05:46:54 PS Old Gen Heap memory: init = 43515904(42496K) used = 1738960(1698K) committed = 43515904(42496K) max = 691011584(674816K)
INFO  05:46:54 Classpath: cassandra/bin/../conf:cassandra/bin/../build/classes/main:cassandra/bin/../build/classes/thrift:cassandra/bin/../lib/ch.qos.logback.logback-classic-1.1.3.jar:cassandra/bin/../lib/ch.qos.logback.logback-core-1.1.3.jar:cassandra/bin/../lib/com.addthis.metrics.reporter-config-base-3.0.0.jar:cassandra/bin/../lib/com.addthis.metrics.reporter-config3-3.0.0.jar:cassandra/bin/../lib/com.boundary.high-scale-lib-1.0.6.jar:cassandra/bin/../lib/com.clearspring.analytics.stream-2.5.2.jar:cassandra/bin/../lib/com.github.jbellis.jamm-0.3.0.jar:cassandra/bin/../lib/com.google.guava.guava-18.0.jar:cassandra/bin/../lib/com.googlecode.concurrentlinkedhashmap.concurrentlinkedhashmap-lru-1.4.jar:cassandra/bin/../lib/com.googlecode.json-simple.json-simple-1.1.jar:cassandra/bin/../lib/com.lmax.disruptor-3.0.1.jar:cassandra/bin/../lib/com.ning.compress-lzf-0.8.4.jar:cassandra/bin/../lib/com.thinkaurelius.thrift.thrift-server-0.3.7.jar:cassandra/bin/../lib/com.typesafe.conductr.cassandra-3.0.2.jar:cassandra/bin/../lib/commons-cli.commons-cli-1.1.jar:cassandra/bin/../lib/commons-codec.commons-codec-1.2.jar:cassandra/bin/../lib/commons-logging.commons-logging-1.1.1.jar:cassandra/bin/../lib/io.dropwizard.metrics.metrics-core-3.1.0.jar:cassandra/bin/../lib/io.netty.netty-all-4.0.23.Final.jar:cassandra/bin/../lib/it.unimi.dsi.fastutil-6.5.7.jar:cassandra/bin/../lib/javax.validation.validation-api-1.0.0.GA.jar:cassandra/bin/../lib/joda-time.joda-time-2.4.jar:cassandra/bin/../lib/junit.junit-4.8.1.jar:cassandra/bin/../lib/net.java.dev.jna.jna-4.0.0.jar:cassandra/bin/../lib/net.jpountz.lz4.lz4-1.3.0.jar:cassandra/bin/../lib/org.antlr.ST4-4.0.8.jar:cassandra/bin/../lib/org.antlr.antlr-3.5.2.jar:cassandra/bin/../lib/org.antlr.antlr-runtime-3.5.2.jar:cassandra/bin/../lib/org.apache.cassandra.cassandra-all-3.0.2.jar:cassandra/bin/../lib/org.apache.cassandra.cassandra-thrift-3.0.2.jar:cassandra/bin/../lib/org.apache.commons.commons-lang3-3.1.jar:cassandra/bin/../lib/org.apache.commons.commons-math3-3.2.jar:cassandra/bin/../lib/org.apache.httpcomponents.httpclient-4.2.5.jar:cassandra/bin/../lib/org.apache.httpcomponents.httpcore-4.2.4.jar:cassandra/bin/../lib/org.apache.thrift.libthrift-0.9.2.jar:cassandra/bin/../lib/org.codehaus.jackson.jackson-core-asl-1.9.2.jar:cassandra/bin/../lib/org.codehaus.jackson.jackson-mapper-asl-1.9.2.jar:cassandra/bin/../lib/org.eclipse.jdt.core.compiler.ecj-4.4.2.jar:cassandra/bin/../lib/org.fusesource.sigar-1.6.4.jar:cassandra/bin/../lib/org.hibernate.hibernate-validator-4.3.0.Final.jar:cassandra/bin/../lib/org.jboss.logging.jboss-logging-3.1.0.CR2.jar:cassandra/bin/../lib/org.jgrapht.jgrapht-core-0.9.1.jar:cassandra/bin/../lib/org.mindrot.jbcrypt-0.3m.jar:cassandra/bin/../lib/org.scala-lang.scala-library-2.10.5.jar:cassandra/bin/../lib/org.slf4j.jcl-over-slf4j-1.7.7.jar:cassandra/bin/../lib/org.slf4j.log4j-over-slf4j-1.7.7.jar:cassandra/bin/../lib/org.slf4j.slf4j-api-1.7.7.jar:cassandra/bin/../lib/org.xerial.snappy.snappy-java-1.1.1.7.jar:cassandra/bin/../lib/org.yaml.snakeyaml-1.11.jar:cassandra/bin/../lib/jsr223/*/*.jar
16:46:54  7be72b9c3163  WARN  05:46:54 Directory /var/lib/cassandra-v3/data doesn't exist
WARN  05:46:54 Directory /var/lib/cassandra-v3/commitlog doesn't exist
WARN  05:46:54 Directory /var/lib/cassandra-v3/saved_caches doesn't exist
WARN  05:46:54 Directory /var/lib/cassandra-v3/hints doesn't exist
16:46:55  7be72b9c3163  INFO  05:46:55 Initializing system.IndexInfo
16:46:56  7be72b9c3163  INFO  05:46:56 Create new Keyspace: KeyspaceMetadata{name=system_distributed, params=KeyspaceParams{durable_writes=true, replication=ReplicationParams{class=org.apache.cassandra.locator.SimpleStrategy, replication_factor=3}}, tables=[org.apache.cassandra.config.CFMetaData@3c28c0da[cfId=759fffad-624b-3181-80ee-fa9a52d1f627,ksName=system_distributed,cfName=repair_history,flags=[COMPOUND],params=TableParams{comment=Repair history, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@80e46066, extensions={}},comparator=comparator(org.apache.cassandra.db.marshal.TimeUUIDType),partitionColumns=[[] | [coordinator exception_message exception_stacktrace finished_at parent_id range_begin range_end started_at status participants]],partitionKeyColumns=[ColumnDefinition{name=keyspace_name, type=org.apache.cassandra.db.marshal.UTF8Type, kind=PARTITION_KEY, position=0}, ColumnDefinition{name=columnfamily_name, type=org.apache.cassandra.db.marshal.UTF8Type, kind=PARTITION_KEY, position=1}],clusteringColumns=[ColumnDefinition{name=id, type=org.apache.cassandra.db.marshal.TimeUUIDType, kind=CLUSTERING, position=0}],keyValidator=org.apache.cassandra.db.marshal.CompositeType(org.apache.cassandra.db.marshal.UTF8Type,org.apache.cassandra.db.marshal.UTF8Type),columnMetadata=[ColumnDefinition{name=status, type=org.apache.cassandra.db.marshal.UTF8Type, kind=REGULAR, position=-1}, ColumnDefinition{name=id, type=org.apache.cassandra.db.marshal.TimeUUIDType, kind=CLUSTERING, position=0}, ColumnDefinition{name=coordinator, type=org.apache.cassandra.db.marshal.InetAddressType, kind=REGULAR, position=-1}, ColumnDefinition{name=finished_at, type=org.apache.cassandra.db.marshal.TimestampType, kind=REGULAR, position=-1}, ColumnDefinition{name=participants, type=org.apache.cassandra.db.marshal.SetType(org.apache.cassandra.db.marshal.InetAddressType), kind=REGULAR, position=-1}, ColumnDefinition{name=exception_stacktrace, type=org.apache.cassandra.db.marshal.UTF8Type, kind=REGULAR, position=-1}, ColumnDefinition{name=parent_id, type=org.apache.cassandra.db.marshal.TimeUUIDType, kind=REGULAR, position=-1}, ColumnDefinition{name=range_end, type=org.apache.cassandra.db.marshal.UTF8Type, kind=REGULAR, position=-1}, ColumnDefinition{name=range_begin, type=org.apache.cassandra.db.marshal.UTF8Type, kind=REGULAR, position=-1}, ColumnDefinition{name=exception_message, type=org.apache.cassandra.db.marshal.UTF8Type, kind=REGULAR, position=-1}, ColumnDefinition{name=keyspace_name, type=org.apache.cassandra.db.marshal.UTF8Type, kind=PARTITION_KEY, position=0}, ColumnDefinition{name=started_at, type=org.apache.cassandra.db.marshal.TimestampType, kind=REGULAR, position=-1}, ColumnDefinition{name=columnfamily_name, type=org.apache.cassandra.db.marshal.UTF8Type, kind=PARTITION_KEY, position=1}],droppedColumns={},triggers=[],indexes=[]], org.apache.cassandra.config.CFMetaData@2e0f771e[cfId=deabd734-b99d-3b9c-92e5-fd92eb5abf14,ksName=system_distributed,cfName=parent_repair_history,flags=[COMPOUND],params=TableParams{comment=Repair history, read_repair_chance=0.0, dclocal_read_repair_chance=0.0, bloom_filter_fp_chance=0.01, crc_check_chance=1.0, gc_grace_seconds=0, default_time_to_live=0, memtable_flush_period_in_ms=3600000, min_index_interval=128, max_index_interval=2048, speculative_retry=99PERCENTILE, caching={'keys' : 'ALL', 'rows_per_partition' : 'NONE'}, compaction=CompactionParams{class=org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy, options={min_threshold=4, max_threshold=32}}, compression=org.apache.cassandra.schema.CompressionParams@80e46066, extensions={}},comparator=comparator(),partitionColumns=[[] | [exception_message exception_stacktrace finished_at keyspace_name started_at columnfamily_names requested_ranges successful_ranges]],partitionKeyColumns=[ColumnDefinition{name=parent_id, type=org.apache.cassandra.db.marshal.TimeUUIDType, kind=PARTITION_KEY, position=0}],clusteringColumns=[],keyValidator=org.apache.cassandra.db.marshal.TimeUUIDType,columnMetadata=[ColumnDefinition{name=requested_ranges, type=org.apache.cassandra.db.marshal.SetType(org.apache.cassandra.db.marshal.UTF8Type), kind=REGULAR, position=-1}, ColumnDefinition{name=exception_message, type=org.apache.cassandra.db.marshal.UTF8Type, kind=REGULAR, position=-1}, ColumnDefinition{name=keyspace_name, type=org.apache.cassandra.db.marshal.UTF8Type, kind=REGULAR, position=-1}, ColumnDefinition{name=successful_ranges, type=org.apache.cassandra.db.marshal.SetType(org.apache.cassandra.db.marshal.UTF8Type), kind=REGULAR, position=-1}, ColumnDefinition{name=started_at, type=org.apache.cassandra.db.marshal.TimestampType, kind=REGULAR, position=-1}, ColumnDefinition{name=finished_at, type=org.apache.cassandra.db.marshal.TimestampType, kind=REGULAR, position=-1}, ColumnDefinition{name=exception_stacktrace, type=org.apache.cassandra.db.marshal.UTF8Type, kind=REGULAR, position=-1}, ColumnDefinition{name=parent_id, type=org.apache.cassandra.db.marshal.TimeUUIDType, kind=PARTITION_KEY, position=0}, ColumnDefinition{name=columnfamily_names, type=org.apache.cassandra.db.marshal.SetType(org.apache.cassandra.db.marshal.UTF8Type), kind=REGULAR, position=-1}],droppedColumns={},triggers=[],indexes=[]]], views=[], functions=[], types=[]}
16:46:57  7be72b9c3163  INFO  05:46:57 Waiting for gossip to settle before accepting client requests...
16:47:05  7be72b9c3163  INFO  05:47:05 Not starting RPC server as requested. Use JMX (StorageService->startRPCServer()) or nodetool (enablethrift) to start it
16:47:07  7be72b9c3163  WARN  05:47:07 Trigger directory doesn't exist, please create it and try again.
16:47:07  7be72b9c3163  INFO  05:47:07 Created default superuser role 'cassandra'