[Hawkular-commits] [hawkular/hawkular-metrics] 18cec7: [HWKMETRICS-756] schema installer (#915)

John Sanda jsanda at redhat.com
Thu Jun 21 16:07:32 EDT 2018


  Branch: refs/heads/release/0.29.0
  Home:   https://github.com/hawkular/hawkular-metrics
  Commit: 18cec7daa357c14f2d0109c07019aed19843df7b
      https://github.com/hawkular/hawkular-metrics/commit/18cec7daa357c14f2d0109c07019aed19843df7b
  Author: John Sanda <jsanda at redhat.com>
  Date:   2018-06-21 (Thu, 21 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
    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:
  -----------
  [HWKMETRICS-756] schema installer (#915)

* [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 (#922) (#924)

* [HWKMETRICS-764] fix schema-installer build

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

[HWKMETRICS-788] remove unused, dead code



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