Skip to content

Commit

Permalink
[HWKMETRICS-793] Create stand alone schema installer (#978)
Browse files Browse the repository at this point in the history
* [HWKMETRICS-756] Schema installer

* [HWKMETRICS-756] initial commit for schema installer

The schema-installer module produces an executable, fat jar. The
installer is a wrapper around SchemaService which in turn runs Cassalog.
The installer does not assume that Cassandra is already running, but it
does assume that Cassandra will be running eventually. As such, if
connecting to C* fails, the installer will wait for 5 seconds and try
again. It will continue to do so until it establishes a connection.

Logback is used for logging. A logback.xml is embedded in the executable
jar. Logging will be sent to stdout by default at INFO level. The
logging configuration can be overriden by setting the
logback.configurationFile system property.

* [HWKMETRICS-756] move schema updates to installer

The schema installer first runs SchemaService to apply schema updates. I
also put the code for creating background jobs into the installer as
well. There are some potential race conditions with creating those jobs,
which is why an infinispan cache was used for coordination. By moving
the job creation to the installer, there is no more concern about
multiple instances of the job creation code running concurrently.

* [HWKMETRICS-756] check schema version at start up

The installer sets a system configuration property for the version that
consists of the version string and git sha. During server start up we
poll the sys_config table until we find the expected version string.

* [HWKMETRICS-756] update integration tests to run new schema installer

* [HWKMETRICS-756] fix test regressions

* [HWKMETRICS-756] changes based on PR review

* [HWKMETRICS-756] add installer readme and wait for all C* to be up

* [HWKMETRICS-756] update poms to use new jar file name

* [HWKMETRICS-764] Fix schema-installer build

* [HWKMETRICS-783] Schema installer should not use git hash for schema version

* [HWKMETRICS-788] Remove unused, dead code

* Fix CompressionDataJobITest, reset job config and scheduler.
  • Loading branch information
rubenvp8510 authored and John Sanda committed Jun 25, 2018
1 parent 58d09dd commit 90aebd4
Show file tree
Hide file tree
Showing 157 changed files with 1,016 additions and 12,801 deletions.
9 changes: 0 additions & 9 deletions api/metrics-api-jaxrs/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -115,13 +115,6 @@
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-core</artifactId>
<scope>provided</scope>
<version>${version.org.infinispan.wildfly}</version>
</dependency>

<dependency>
<groupId>io.undertow</groupId>
<artifactId>undertow-servlet</artifactId>
Expand Down Expand Up @@ -174,15 +167,13 @@
<directory>${basedir}/src/main/webapp</directory>
<excludes>
<exclude>WEB-INF/web.xml</exclude>
<exclude>static/index.html</exclude>
</excludes>
</resource>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/webapp</directory>
<includes>
<include>WEB-INF/web.xml</include>
<include>static/index.html</include>
</includes>
</resource>
</webResources>
Expand Down

This file was deleted.

0 comments on commit 90aebd4

Please sign in to comment.