[Hawkular-commits] [hawkular/hawkular-metrics] 3c13fa: [BZ 1590451] Schema Installer. (#988)

Ruben Vargas ruben.vp8510 at gmail.com
Thu Jun 28 22:36:52 EDT 2018


  Branch: refs/heads/release/0.28.0
  Home:   https://github.com/hawkular/hawkular-metrics
  Commit: 3c13fa17201e30ee72da10eb01e690cf04404e17
      https://github.com/hawkular/hawkular-metrics/commit/3c13fa17201e30ee72da10eb01e690cf04404e17
  Author: Ruben Vargas <ruben.vp8510 at gmail.com>
  Date:   2018-06-28 (Thu, 28 Jun 2018)

  Changed paths:
    M api/metrics-api-jaxrs/pom.xml
    R api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/DistributedLock.java
    M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/MetricsServiceLifecycle.java
    R api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/dropwizard/HTTPMethod.java
    R api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/dropwizard/RESTMetaData.java
    R api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/dropwizard/RESTMetricName.java
    R api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/dropwizard/RESTMetrics.java
    R api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/dropwizard/RecordMetricsFilter.java
    M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/handler/TenantsHandler.java
    M api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/util/JobSchedulerFactory.java
    A api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/util/SchemaVersionCheckException.java
    A api/metrics-api-jaxrs/src/main/java/org/hawkular/metrics/api/jaxrs/util/SchemaVersionChecker.java
    R api/metrics-api-jaxrs/src/main/webapp/WEB-INF/jboss-deployment-structure.xml
    M api/metrics-api-jaxrs/src/main/webapp/WEB-INF/web.xml
    M api/metrics-api-util/src/main/java/org/hawkular/metrics/api/jaxrs/config/ConfigurationKey.java
    M api/metrics-api-util/src/main/java/org/hawkular/metrics/api/jaxrs/util/MetricRegistryProvider.java
    R clients/common/pom.xml
    R clients/common/src/main/java/org/hawkular/metrics/client/common/Batcher.java
    R clients/common/src/main/java/org/hawkular/metrics/client/common/BoundMetricFifo.java
    R clients/common/src/main/java/org/hawkular/metrics/client/common/HawkularClientConfig.java
    R clients/common/src/main/java/org/hawkular/metrics/client/common/MetricBuffer.java
    R clients/common/src/main/java/org/hawkular/metrics/client/common/MetricType.java
    R clients/common/src/main/java/org/hawkular/metrics/client/common/SingleMetric.java
    R clients/common/src/main/java/org/hawkular/metrics/client/common/http/HawkularHttpClient.java
    R clients/common/src/main/java/org/hawkular/metrics/client/common/http/HawkularHttpResponse.java
    R clients/common/src/main/java/org/hawkular/metrics/client/common/http/HawkularJson.java
    R clients/common/src/main/java/org/hawkular/metrics/client/common/http/JdkHawkularHttpClient.java
    R clients/common/src/test/java/org/hawkular/metrics/client/common/BatcherTest.java
    R clients/common/src/test/java/org/hawkular/metrics/client/common/FifoTest.java
    R clients/common/src/test/java/org/hawkular/metrics/client/common/MetricBufferTest.java
    R clients/common/src/test/java/org/hawkular/metrics/client/common/SingleMetricTest.java
    R clients/dropwizard/README.md
    R clients/dropwizard/hawkular-dropwizard-reporter-factory/pom.xml
    R clients/dropwizard/hawkular-dropwizard-reporter-factory/src/main/java/org/hawkular/metrics/dropwizard/HawkularReporterFactory.java
    R clients/dropwizard/hawkular-dropwizard-reporter-factory/src/main/resources/META-INF/services/io.dropwizard.metrics.ReporterFactory
    R clients/dropwizard/hawkular-dropwizard-reporter/pom.xml
    R clients/dropwizard/hawkular-dropwizard-reporter/src/main/java/org/hawkular/metrics/dropwizard/HawkularReporter.java
    R clients/dropwizard/hawkular-dropwizard-reporter/src/main/java/org/hawkular/metrics/dropwizard/HawkularReporterBuilder.java
    R clients/dropwizard/hawkular-dropwizard-reporter/src/main/java/org/hawkular/metrics/dropwizard/HawkularReporterConfig.java
    R clients/dropwizard/hawkular-dropwizard-reporter/src/main/java/org/hawkular/metrics/dropwizard/MetricPart.java
    R clients/dropwizard/hawkular-dropwizard-reporter/src/main/java/org/hawkular/metrics/dropwizard/MetricsDecomposer.java
    R clients/dropwizard/hawkular-dropwizard-reporter/src/main/java/org/hawkular/metrics/dropwizard/MetricsTagger.java
    R clients/dropwizard/hawkular-dropwizard-reporter/src/main/java/org/hawkular/metrics/dropwizard/RegexContainer.java
    R clients/dropwizard/hawkular-dropwizard-reporter/src/test/java/org/hawkular/metrics/dropwizard/HawkularReporterITest.java
    R clients/dropwizard/hawkular-dropwizard-reporter/src/test/java/org/hawkular/metrics/dropwizard/HawkularReporterTest.java
    R clients/dropwizard/hawkular-dropwizard-reporter/src/test/java/org/hawkular/metrics/dropwizard/RegexContainerTest.java
    R clients/dropwizard/pom.xml
    R clients/dropwizard/sample/hawkular-cassandra-example.yml
    R clients/dropwizard/sample/hawkular-dropwizard-example.yml
    R clients/pom.xml
    R clients/ptranslator/README.adoc
    R clients/ptranslator/pom.xml
    R clients/ptranslator/ptrans.conf
    R clients/ptranslator/src/assembly/dist/assembly.xml
    R clients/ptranslator/src/assembly/dist/assets/LICENSE
    R clients/ptranslator/src/assembly/dist/assets/README
    R clients/ptranslator/src/assembly/dist/assets/ptrans.conf
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/Configuration.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/ConfigurationKey.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/DemuxHandler.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/Main.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/OptionsFactory.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/PTrans.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/PidFile.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/Service.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/backend/Constants.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/backend/NettyToVertxHandler.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/backend/SingleMetricConverter.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/CollectdServer.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/event/CollectdEventsDecoder.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/event/DataType.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/event/Event.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/event/TimeResolution.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/event/TimeSpan.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/event/ValueListEvent.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/packet/CollectdPacket.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/packet/CollectdPacketDecoder.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/packet/NumericPart.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/packet/Part.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/packet/PartType.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/packet/StringPart.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/packet/ValuePart.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/collectd/packet/Values.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/ganglia/GangliaChannelInitializer.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/ganglia/UdpGangliaDecoder.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/graphite/GraphiteServer.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/log/PTransLogger.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/log/PTransLogging.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/statsd/StatsdChannelInitializer.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/statsd/StatsdDecoder.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/syslog/DecoderUtil.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/syslog/SyslogEventDecoder.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/syslog/TcpChannelInitializer.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/syslog/UdpChannelInitializer.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/syslog/UdpSyslogEventDecoder.java
    R clients/ptranslator/src/main/java/org/hawkular/metrics/clients/ptrans/util/Arguments.java
    R clients/ptranslator/src/main/resources/logback-test.xml
    R clients/ptranslator/src/main/resources/logback.xml
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/PTransTest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/collectd/event/CollectdEventsDecoderTest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/collectd/event/TimeResolutionTest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/collectd/packet/CollectdPacketDecoderTest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/collectd/packet/PacketDecodingTest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/data/MetricData.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/data/MetricName.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/data/Point.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/data/ServerDataHelper.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/exec/ConfigurationITest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/exec/ExecutableITestBase.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/exec/OpenedPortsITest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/exec/OptionsITest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/exec/PidFileITest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/fullstack/CollectdITest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/fullstack/FullStackITest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/fullstack/GraphiteITest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/matchers/CanReadMatcher.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/matchers/ContainsMatcher.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/matchers/HasSizeMatcher.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/matchers/IsFileMatcher.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/matchers/WriteLockedMatcher.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/util/ArgumentsTest.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/util/PrintOutputOnFailureWatcher.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/util/ProcessUtil.java
    R clients/ptranslator/src/test/java/org/hawkular/metrics/clients/ptrans/util/TenantUtil.java
    R clients/ptranslator/src/test/resources/collectd.conf
    R clients/ptranslator/src/test/resources/jmxtrans.json
    R clients/ptranslator/src/test/resources/ptrans.conf
    M containers/hawkular-openshift-security-filter/src/main/java/org/hawkular/openshift/auth/TokenAuthenticator.java
    M core/configuration-service/src/test/java/org/hawkular/metrics/sysconfig/ConfigurationServiceTest.java
    M core/metrics-core-service/pom.xml
    R core/metrics-core-service/src/main/java/org/hawkular/metrics/core/dropwizard/CassandraDriverMetrics.java
    R core/metrics-core-service/src/main/java/org/hawkular/metrics/core/dropwizard/DropWizardReporter.java
    R core/metrics-core-service/src/main/java/org/hawkular/metrics/core/dropwizard/HawkularMetricRegistry.java
    R core/metrics-core-service/src/main/java/org/hawkular/metrics/core/dropwizard/HawkularMetricsRegistryListener.java
    R core/metrics-core-service/src/main/java/org/hawkular/metrics/core/dropwizard/HawkularObjectNameFactory.java
    R core/metrics-core-service/src/main/java/org/hawkular/metrics/core/dropwizard/MetaData.java
    R core/metrics-core-service/src/main/java/org/hawkular/metrics/core/dropwizard/MetricNameService.java
    M core/metrics-core-service/src/main/java/org/hawkular/metrics/core/jobs/JobsService.java
    M core/metrics-core-service/src/main/java/org/hawkular/metrics/core/jobs/JobsServiceImpl.java
    M core/metrics-core-service/src/main/java/org/hawkular/metrics/core/service/MetricsServiceImpl.java
    M core/metrics-core-service/src/test/java/org/hawkular/metrics/core/jobs/CompressDataJobITest.java
    M core/metrics-core-service/src/test/java/org/hawkular/metrics/core/jobs/DeleteTenantITest.java
    M core/metrics-core-service/src/test/java/org/hawkular/metrics/core/service/BaseITest.java
    M core/metrics-core-service/src/test/java/org/hawkular/metrics/core/service/TestDataAccessFactory.java
    A core/schema-installer/README.adoc
    A core/schema-installer/mylogback.xml
    A core/schema-installer/pom.xml
    A core/schema-installer/src/main/java/org/hawkular/metrics/schema/Installer.java
    A core/schema-installer/src/main/resources/logback.xml
    M core/schema/pom.xml
    M core/schema/src/main/java/org/hawkular/metrics/schema/SchemaService.java
    A core/schema/src/main/java/org/hawkular/metrics/schema/VersionUpdateException.java
    A core/schema/src/main/java/org/hawkular/metrics/schema/VersionUtil.java
    M core/schema/src/main/resources/org/hawkular/schema/bootstrap.groovy
    M dist/containers/hawkular-metrics-openshift/src/main/webapp/WEB-INF/jboss-deployment-structure.xml
    M integration-tests/jmh-benchmark/src/main/java/org/hawkular/metrics/benchmark/jmh/util/MetricServiceManager.java
    M integration-tests/rest-tests-jaxrs/pom.xml
    M job-scheduler/pom.xml
    A job-scheduler/src/main/java/org/hawkular/metrics/scheduler/api/JobsManager.java
    M job-scheduler/src/test/java/org/hawkular/metrics/scheduler/impl/JobSchedulerTest.java
    M pom.xml

  Log Message:
  -----------
  [BZ 1590451] Schema Installer. (#988)

* [BZ 1590451] Schema installer

* 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.

* 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.

* 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.

* Update integration tests to run new schema installer

* Fix test regressions

* Changes based on PR review

* Add installer readme and wait for all C* to be up

* Update poms to use new jar file name

* Fix schema-installer build

* Schema installer should not use git hash for schema version

* Remove unused, dead code

* Fix failing tests



      **NOTE:** This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the hawkular-commits mailing list