- #1235 Topology change resilience for incremental repair (#1235) (@Miles-Garnsey)
- #1237 Update Apache Shiro to v1.10.0 (#1237) (@emerkle826)
- #1234 Upgrade Dropwizard to 2.0.34. (#1234) (@Miles-Garnsey)
- #1224 Updated the registry clusters entrypoint to support the use of custom username and password, maintained support for default admin credentials if values are not used (#1224) (@paulslaven)
- #1215 Add reference for custom shiro.ini (#1215) (@Eliesmbr)
- #1212 Bump shiro-core from 1.8.0 to 1.9.1 in /src/server (#1212) (@dependabot[bot])
- #1214 Cleanup schedule related metrics on a regular basis (#1214) (@adejanovski)
- #1209 Avoid exiting the JVM when no scheduling leader is present (#1209) (@adejanovski)
- #1207 Avoid exiting the JVM in SchedulingManager on database errors (#1207) (@adejanovski)
- #1204 Fix schedule updates after a repair run completes (#1204) (@adejanovski)
- #1186 Removing references to queryOptions from the Docs (#1186) (@Rooks103)
- #1197 Better handle runner concurrency (#1197) (@adejanovski)
- #974 Add prometheus metrics endpoint and "millis since last repair"-metric for repair schedules. (#974) (@van-vliet)
- #1190 Don't exit reaper if endpointToRange is empty and segment count 0 (#1190) (@xgerman)
- #1171 Recompute segment replicas (#1171) (@adejanovski)
- #1173 Make heap size configurable through env variable (#1173) (@adejanovski)
- aea53f4 Restructure table cell contents to allow wrapping (@jdonenine)
- bb009d7 ISSUE 1180: Enable Shiro variable interpolation (@ossarga)
- #1179 Identify Stargate nodes in the UI (#1179) (@jdonenine)
- 6c56ca9 UI tooling update (@jdonenine)
- db87066 No need to install bower in GHAs directly (@jdonenine)
- 9d1118c ISSUE 1176: Add JDK 11 to build container (@ossarga)
- 6490c67 Upgrade spreaper with recently added features (@adejanovski)
- 5b1cde6 Add a way to skip schema migrations (@adejanovski)
- #1152 Update to the newer version of Fossa's CLI (#1152) (@jdonenine)
- a6d1724 Upgrade to Dropwizard 2.0 (@adejanovski)
- e9cfc20 JDK11 support (@burmanm)
- bd1211b Fix the Base64-decoder failing if JWT_SECRET is not provided (@burmanm)
- 1a4fb1d Quote username and passwords in generated cassandra-reaper.yml (@adutra)
- #1131 Allow to force create repair runs with conflicting units (#1131) (@adejanovski)
- #1146 Add missing auto-scheduling environment variables (#1146) (@adutra)
- 9b97ef8 Fix adaptive value when editing schedules (@adejanovski)
- 5c91ad9 Revert to /etc/cassandra-reaper (@jeffbanks)
- 8f79e2d Fix snapshot conflicting REST endpoints (@adejanovski)
- 93c0410 Apply DC filters when building the list of segments (@adejanovski)
- bee5dad Remove DC collocation check on listSnapshots method
- b8a89e6 Add schedule triggers for incremental repairs based on % unrepaired metrics (@adejanovski)
- #1129 Added UI support for datacenter and rack names containing underscores (#1129) (@weisdd)
- b9c7129 Mount path change for config (@jeffbanks)
- d252b07 Remove H2 and Postgres storage backends (@adejanovski)
- 14e70de Add adaptive segment timeouts (@adejanovski)
- 699b855 Allow repair schedules to be adaptive (@adejanovski)
- #1119 Allow editing of existing repair schedules (#1119) (@jdonenine)
- 91b51a8 repairProgress metrics are updated on subsequent runs. (@Skunnyk)
- #1118 Fix the Base64-decoder failing if JWT_SECRET is not provided (#1118) (@burmanm)
- #1099 Add force option and warning for overlapping repair schedules (#1099) (@emerkle826)
- 0f3d451 Allow schema upgrades with other Reaper instances possibly running (@adejanovski)
- d31f538 Fix endpoint state not returning in EACH mode due to seeds being shuffled (@adejanovski)
- eafe0dd Add support for scylla 4.4 repair
- e82d464 Add schema migration startup mode (@adejanovski)
- 54886ec Allow crypto options to be configured in Docker image (@adejanovski)
- e2f64aa Fix gossip state parsing for 4.0 rc1 (@adejanovski)
- cbe6c77 Fix percent repaired metrics purge issues (@adejanovski)
- aeef47d Add collection of percent repaired metrics for incremental repair schedules (@adejanovski)
- 189a3c7 Add code coverage with codecov (@adejanovski)
- af69101 Add metrics of finished repairs to prometheus (@DzeryCZ)
### 2.2.5 (2021/06/03 08:50 +00:00)
- 8f7a208 Fix IPv6 in JMX Connection Factory (@Rooks103)
- 2430f1f Batch metric inserts by partition to reduce Reaper write throughput (@adejanovski)
- 7765cbe Limit repair runners per cluster instead of globally (@adejanovski)
- 9a3d110 Fix segment count per node not being correctly accounted for in schedules (@adejanovski)
- 9083694 Fix EACH and LOCAL modes (@adejanovski)
- e200a03 Add EACH integration tests for Cassandra and Postgres (@adejanovski)
- 6beea94 Fix hardcoded keyspace names and bad pgsql cluster mapping (@adejanovski)
- 5fc5677 Further reduce the number of LWTs involved in segment orchestration (@adejanovski)
- 26c710b New segment orchestration with concurrent repairs. (@adejanovski)
- bb797a3 Fix the redirect for the custom ingress path, post Reaper UI login (@Jenishk56)
- 3110511 Fix interrupted system call error for shiro initialization (@fatihafizoglu)
- 0a8b915 Remove redundant timeline.css (from older version of the package) (@burmanm)
- 80e4b78 Update Dockerfile to use maintained alpine JDK8 image and install bash to allow bashism in the configure-persistence.sh (@burmanm)
- fabedbb Fix dependency issues in bower, lock font-awesome to 4.6.3 (@burmanm)
- 63a72ad If enableDynamicSeeds is disabled, do not update the seeds list even when readding the same cluster (@burmanm)
- 1fbf033 Move JMX auth credentials out of dockers reaper configuration and into configure-jmx-credentials script. This allows users to start reaper without configuring REAPER_JMX_AUTH_USERNAME and REAPER_JMX_AUTH_PASSWORD. (@van-vliet)
- 24aa024 Expose max pending compactions as configuration option in the docker image using environment variable. (@van-vliet)
- f1c29f6 [UI] Fix switching between clusters in the repair/schedule screens (@adejanovski)
- 7c19b86 Fix Astra migrations with LWTs not being properly allowed. (@adejanovski)
- 56985e8 Use explicit QUORUM on LWTs (@adejanovski)
- a7070a3 Prevent migration 25 from failing if repairs are missing from the repair_run table. (@adejanovski)
- 3e9aa88 Fix race conditions when receiving COMPLETE/SUCCESS notifications if database updates are slow (@adejanovski)
- a9a39e8 Support Astra as storage backend (@adejanovski)
- 2a676b0 Lighten the load on Cassandra backend with less repair_run scans (@adejanovski)
- c93ca03 Fixed typo, noddetool s/b nodetool (@johnsmartco)
- cc6f789 Cache the clusters list for ten seconds (@michaelsembwever)
- 14800fb Change default number of segments per node to a value that will avoid timeouts in most cases. (@adejanovski)
- 1ad7d4b When there are no broadcasters and no known subscriptions, only check for updated events once per minute (@michaelsembwever)
- f54cc11 Only execute distributed reaper operations once we detect multiple reaper instances (@michaelsembwever)
- d6b96e2 Expose pending compactions in /compactions + show them in UI. Fixes #877. (@rzvoncek)
- 61a57fe [UI] Fix color & text wrapping in progress bars. Fixes #874 (@rzvoncek)
- 64bf301 Follow symlinks when searching for reaper jar. (@Bo98)
- a3af825 ISSUE-823: Upgrade UI to React 16 (@ossarga)
- 505eb3a Docker: allow automatic cluster registration (@rzvoncek)
- 33d903c Make JMX credentials configurable when running via Docker (@rzvoncek)
- 7084995 Including spreaper cli to docker image (@velo)
- d16f82e Dockerfile: Bring back the touch on reaper yml file (@rzvoncek)
- 7d66972 Fix file handling + posting forms in spreaper (@rzvoncek)
- 64b4747 Add JMXMP support and customizable AddressTranslator (@vroyer)
- 1288d6e Enable sidecar tests when using Elassandra (@rzvoncek)
- 5eee992 Re-enable docker hub image push during build (@adejanovski)
- 2b7f847 check is enableDynamicSeedList is set before updating seeds (@jsanda)
- 8a28b2d Add launcher SSL/TLS support (@plastikat)
- d39b7a2 [python3] Migrated spreaper python file to python3 style (@albundy83)
- 305be59 [python3] Fixed debian package for spreaper (@albundy83)
- b970844 add support of JAVA_HOME environment (@therb1)
- 896b72b refactor systemd service (@therb1)
- ad51839 Add timestamps to the file logger (@michaelsembwever)
- f94dbf6 Follow symlinks when searching for reaper jar. (@Bo98)
- 6f228c4 update docs and cassandra docker-compose service (@jsanda)
- 40dde9a use docker-compose exec instead of docker exec (@jsanda)
- 62d06fa Added support for custom address translation (@maxshel)
- 72237e3 Add a way to exclude clusters from auto-scheduling (@atallahade)
- 005c949 Issue #809 : Allow for JMX Credentials to be strored alongside JMX Port in the backend storage system. (@denniskline)
- 14800fb Change default number of segments per node to a value that will avoid timeouts in most cases. (@adejanovski)
- 9c51d5b Update documentation for the segment count per node docker var (@adejanovski)
- db59386 ISSUE #900: CI config updates (@ossarga)
- 43ee000 Use checkou@v2 in the GHA workflows (@rzvoncek)
- e1b4aa1 Fix broken Elassandra tests (@rzvoncek)
- 21a993a ISSUE #900: CI config updates (@ossarga)
- 64bf301 Follow symlinks when searching for reaper jar. (@Bo98)
- 6bddbfc Prepare next bug fix release (@adejanovski)
- 5acb462 Add Elassandra integration tests and fix typo in version number (@rzvoncek)
- 64b786c Treat started segments as running when aborting. (@smarsching)
- 818c43b Add timestamps to the file logger (@michaelsembwever)
- 7774e4e Fix large partitions in the metrics v2 table for the sidecar (@adejanovski)
- 05e5f32 Avoid aborting repair segments too early. (@smarsching)
- 16b0db9 Remove the keyspace from the initial Cassandra migration script (@adejanovski)
- 256682f Add cluster deletion support to spreaper (@adejanovski)
- c6937a5 Add the repair_unit_id in the repair schedule status (@adejanovski)
- c1ca09f Fix spreaper list_runs() command not using the right query params (@adejanovski)
- 72b7fd5 Fix the dockerfile issues along with Shiro when postgres is used as storage backend (@adejanovski)
- 797fd78 fix regression caused by PR 783 (@jsanda)
- 848e48b Add "force" flag to cluster delete REST endpoint, allowing registered clusters with schedules and repairs runs to be forcibly deleted. (@michaelsembwever)
- e13b34d Remove leader election in Reaper for schema migrations and instead rely on the cassandra-migration lib built in consensus. (@adejanovski)
- da5a058 Display available repair metrics in the UI (@adejanovski)
- 2243c73 Make docker image run as non-root (@mimarpe)
- edfd5a9 Added option REAPER_AUTH_ENABLED. (@andrejvanderzee)
- 9bb2878 Add switchable UI themes (@adejanovski) aa833d8cd69e27655155e40bfe971e13a3cc4e47) support use of Postgresql as storage backend for multiple reapers (@Saleil-Bhat)
- 0591b38 Make stream tracking work with 4.0 (@rzvoncek)
- b293160 Add Cassandra storage support for Diagnostic Events (@michaelsembwever)
- e65a47e Add JMX and REST support for diagnostic events (@spodkowinski)
- a04e7cf Fix NPE upon upgrade when last contact is null on existing clusters (@adejanovski)
- 22c7cfe Self register clusters in sidecar mode since the nodes are collocated with Reaper. (@adejanovski)
- a5fdac2 Simplify how RepairManager aborts/postpones segments, fixing how leader election happens and when and how it is correctly released. (@michaelsembwever)
- f01e914 Implement the sidecar mode (@adejanovski)
- f798244 Handle new messaging service verbs for dropped reads in Cassandra 4.0 (@michaelsembwever)
- fed72fe Request remote nodes metrics only if there are several reapers running (@adejanovski)
- 644553a Improves the preventation of multiple scheduled repair runs starting at the same time. (@michaelsembwever)
- 65909e3 The purge and abort segment REST endpoints are actions, not idempotent reads, so should be POST instead of GET method requests. (@michaelsembwever)
- e686c2f Don't start a segment repair if it is already started, running, or done. (@michaelsembwever)
- d7d045f Add automated retries when connecting to the storage backend (@adejanovski)
- f6c451b Encapsulate jmx interactions in a proxy class (@adejanovski)
- 3bffd87 Fix bug in UI where only three datacenters would ever be displayed even if there were more (@ossarga)
- e83c2be ninja-fix: correct output when searching for cassandra-reaper installation (@michaelsembwever)
- f4d2d9f Avoid length
find
commands when starting reaper from a higher/top- level directory by limiting find's depth to 4 levels. (@michaelsembwever)
- bb39388 Fix metric naming to allow long term tracking of repairs. (@adejanovski)
- 68f92a4 Cluster view UI reorg (@adejanovski)
- bf18681 Fix deploy phase (@adejanovski)
- 8bcf6d3 Backport multiple DC UI fix to 1.4 (@michaelsembwever)
- 3dcb5d5 Fix the find command to correctly identify the reaper jar on all systems while excluding source/javadoc jars (@adejanovski)
- 1cb9075 Add authorization to rest endpoints based on their verbs (http method), add "operator" (read+write) and "user" (read-only) roles, let the existing admin user be an operator and add a new user "user" with the "user" role. (@michaelsembwever)
- 134c7a0 Don't include *-sources.jar into the classpath, and be a bit smarter in finding the jar file in a current project directory (regardless of the current folder in the project directory) (@michaelsembwever)
- 534f5aa Fix initialisation ordering of AppContext (@treuherz)
- a934aea Improve performance of JsonParseUtils (@michaelsembwever)
- 47322c1 Fix for NPE when a segment is aborted (@adejanovski)
- 91f6f51 Automatically run every Cassandra Migration class when upgrading (@michaelsembwever)
- 2b82937 Change UI run_repair API call to be more performant (@ossarga)
- 544de58 In SegmentRunner immediately release the segment lead once the segment repair is done. The intensity pause can happen afterwards. (@michaelsembwever)
- c6e1098 Fix (set to null) endTime in any repairRuns that are in PAUSED state (@michaelsembwever)
- 5cdd573 Fix RepairRun timestamps, honouring different run states. (@michaelsembwever)
- c0b4600 Auto scheduler encounters null pointer exception #298 (@michaelsembwever)
- cf34fbb Fix LongCollectionSqlType.getValue() (@mmonemali)
- 7bf92be ninja-fix to RepairUnitServiceTest (@michaelsembwever)
- b075113 ColumnFamilyStoreMBean.getCompactionParameters() is only available since Cassandra 2.1 (@rborer)
- f39b55a fix version. only the tag, and one sha, should ever share a version number. (@michaelsembwever)
- 7f46e20 Add newline at the end of shiro.ini to fix REAPER_AUTH_USER (@viossat)
- b7d6593 In NodesStatus when parsing gossipinfo status, also exclude those nodes that have been "removed", as well as those that are "left". (@michaelsembwever)
- 0a2c11f Fix for #613 when driver class is missing from config (@adejanovski)
- 3504dd5 ninja-fix to f5431fb: docker variable shiro file is by default blank (for internal classpath shiro file provided) (@michaelsembwever)
- f5431fb Update Docker variables to work with the latest (and embedded) shiro configuration. (@michaelsembwever)
- 4749ca1 Add docker variable
REAPER_BLACKLIST_TWCS
to define blacklistTwcsTables in yaml (@michaelsembwever) - 4bd5c54 Improve error logging in ShiroJwtVerifyingFilter.java (include remote addr, remove stacktrace) (@michaelsembwever)
- 25e5cde Save the JWT locally to avoid passing it for each call (@adejanovski)
- b1099d9 Enforce use of JWT instead of sending credentials for each call (@adejanovski)
- 519093b Add support for authentication in spreaper (@adejanovski)
- 842eb02 Add unit tests for verifying JWTs. (@michaelsembwever)
- 689e474 Add valid checks for the JWT validity (@adejanovski)
- f8bb73b Tests, documentation, and a configuration template, for Shiro->LDAP support (@michaelsembwever)
- 3fcb7b6 japanese samurai fix: remove scenario in cucumber feature file. (@michaelsembwever)
- 88d4d5c ninja-fix: fix TWCS Blacklisting integration tests (@michaelsembwever)
- f9dca5f Update cluster list to include model with JMX credential information from server (@ossarga)
- 0bf93c6 Add flag to cluster information to say if JMX password is set (@ossarga)
- 8a0857c Add JMX username to cluster information (@ossarga)
- 00ca613 Update Docker Maving plugin version (@ossarga)
- c8a88f6 ninja-fix: default shiro.ini is now inside the shaded jar (@michaelsembwever)
- 59e58c7 Full Shiro protection. (@michaelsembwever)
- dfa792f Allow for automatically blacklisting any TWCS or DTCS tables within a keyspace (@denniskline)
- 8d6fa96 Use a concurrency lock around the
repairRunners
map to ensure synchronized access and modifications. (@michaelsembwever) - f3a7c94 Upgrade to Dropwizard 1.1.8 (Jetty upgrade) (@adejanovski)
- d29fe5f Fix for duplicate repair runs being started for a given schedule and unit by different SchedulingManager instances in different JVMs. (@michaelsembwever)
- 40f0638 Mmake SchedulingManager a singleton that can be closed/cancelled, rather than static. (@michaelsembwever)
- cbfc8f1 Introduce system variable to adjust the scheduling manager's check frequency. (@michaelsembwever)
- 7cdb6c6 Separate default test job from deploy test job, and move them into different stages (@michaelsembwever)
- e3a96ba Add Support for Integration tests to run against any past released version of Reaper (@michaelsembwever)
- 7f3ff17 Allow to configure a custom JMX port per cluster (@adejanovski)
- 7e2441a Properly report the list and count of tokens for a node (@adejanovski)
- a8ddc8e Remove nodes that left the cluster from the cluster view (@adejanovski)
- c53ab83 Add configuration support for enabling an addressTranslator in cassandra persistence options (@paddybyers)
- 49789e3 Rename Reaper metrics to make them compatible with Prometheus (@rzvoncek)
- a15bdac Workaround SUREFIRE-1588 bug that crashes the build with using jdk8_u181 (@michaelsembwever)
- 0a7217c StreamManagerMBean is only available from Cassandra 2.0 onwards (@rborer)
- 58b295c Ninja fix tarball push to bintray (@adejanovski)
- 9197ec0 Refactor *Manager classes to *Service, to be consistent with rest of package. (@michaelsembwever)
- 4cceff1 Remove the release profile and fix the version number evaluation with mvn (@adejanovski)
- 6bce8c6 Remove unused (and test) methods from StreamSessionFactory (@michaelsembwever)
- 52af1fe Ninja fix bintray upload issues (@adejanovski)
- 4441f2b Remove mention of
copyright grant
or any implied notion of a CLA (@michaelsembwever) - e68f795 ninja-fix: uncomment and rename to maven-reaper-beta (@michaelsembwever)
- ae27e45 ninja-fix: comment out reaper-maven-snapshots bintray uploads until the bintray problems are sorted out (@michaelsembwever)
- d47930a Always carry the operator when wrapping lines. (@michaelsembwever)
- 22f6fca Refactor MetricsGrapper to MetricsService (to match existing terminology and verbs in the package) (@michaelsembwever)
- 68332c7 Refactor MetricsProxy out of JmxProxyImpl (@michaelsembwever)
- 895efba In Travis and CircleCI run maven in batch mode (@michaelsembwever)
- 33941f6 Apply Apache licenses and appropriate copyright statements to all source files. (@michaelsembwever)
- cdef39e Downgrade the enforced Maven version to 3.3.8 to allow the Docker build to work again. (@adejanovski)
- 6ed2363 ninja-fix: on clean don't delete the
src/packages
directory, just its contents (@michaelsembwever) - 633ae06 clean UI and packaging components as well (@michaelsembwever)
- a7a7913 ISSUE-475: Remove deprecated 'database' keyword (@ossarga)
- 79685e1 ISSUE-481 Re-add 'useAddressTranslator' to docs (@ossarga)
- 4eda10a Use new bintray package names (@michaelsembwever)
- 8dfc08c Refactor EndpointSnitchInfoProxy from JmxProxy (@michaelsembwever)
- 4e0bf87 Refactor FailureDetectorProxy out of JmxProxy (@michaelsembwever)
- 40b79c7 Add password generation mechanism (@nsteinmetz)
- ffcb691 Add auth with encrypted password sample (@nsteinmetz)
- #533 Update cassqndra-reaper.To be able to read config from /usr/local/etc (#533) (@KotaroYamazaki)
- c975ab2 Move jmx ObjectNames in JmxProxyImpl into a static initialisation-on-demand-holder inner class. (@michaelsembwever)
- b4defff Refactor StreamsProxy out of JmxProxyImpl (@michaelsembwever)
- b6e84dd Refactor SnapshotProxy out of JmxProxyImpl (@michaelsembwever)
- c91a035 Upgrade Travis and CircleCI to latest C* versions (@michaelsembwever)
- #461 Fixes #311. Allow webui to be aware of a server defined applicationContextPath setting (#461) (@denniskline)
- 49f3722 Refactor usage of com.google.common.base.Optional to java.util.Optional (@michaelsembwever)
- a22a319 Cast mbean attribute ValidationExecutor ActiveTasks and PendingTasks to Number object instead of Integer or Long. (@michaelsembwever)
- 8b28071 [node-stats] Add missing React keys to prevent exceptions (@rzvoncek)
- 00cc0cc [streams] Add a 'no ongoing streams' mention when there are no streams (@rzvoncek)
- 35fec8c Add support for collecting metrics on a node (@adejanovski)
- 909895d Add support for listing running compactions (@adejanovski)
- 4892197 [streams] Show tables using tags, so they are nicely separated (@rzvoncek)
- 87540ba If a cluster is deleted too quickly after a schedule/repair has been created, rather than the ClusterResource catch it, it will get caught as an assertion failure in CassandraStorage. (@michaelsembwever)
- 467c793 Reaper #369 Frontend for showing node streams (@rzvoncek)
- b11518a Reaper #369 Pull-only backend for tracking streams (@rzvoncek)
- 737fa57 ninja-fix to 2d89ea0: correct path to upload toplevel pom (@michaelsembwever)
- bcf5a36 merge in "update changelog in preparation for 1.2.2" (@michaelsembwever)
- 324f0c6 Add informations to upgrade from 1.2.0/1.2.1 to 1.2.2 (@adejanovski)
- f4f7a0c Rebuild modified doc pages (@adejanovski)
- 2d89ea0 cassandra-reaper-pom files must also be uploaded (@michaelsembwever)
- 9360c61 Log when database migrations are going to happen, and ensure other reaper instances are stopped. (@michaelsembwever)
- 56ab26e ninja-fix :: use correct commit for PR :: Use cucumber options from command line (@michaelsembwever)
- e5b7250 Use cucumber options from command line (@michaelsembwever)
- e10354f (ninja-fix) Fix enforcer plugin. Was failing when building from
src/server/
(@michaelsembwever) - d4406b5 Clean up on 'display node metrics' (@michaelsembwever)
- 124f9e2 Migrate the forgotten unused AddClusterIT and basic_reaper_functionality.feature into BasicSteps and integration_reaper_functionality.feature (@michaelsembwever)
- efc32b4 whitespace format fix to package.json (@michaelsembwever)
- d8d69de make max pending compactions configurable
- 72ce3a9 Display metrics in the node's detail page (@adejanovski)
- 09c39f3 Remove the maven gpg plugin (@adejanovski)
- 438ed51 Add support for collecting metrics on a node (@adejanovski)
- c16a728 Add maven-enforcer-plugin to ensure known and correct java and maven versions are used to build. (@michaelsembwever)
- 6a757ff Unit tests that the db migration scripts are ok. (@michaelsembwever)
- f22fe3f [maven-release-plugin] prepare for next development iteration (@michaelsembwever)
- ae42bab Fix
IStorage.getRepairUnit(builder)
implementations to include matching on incremental boolean parameter, and deleting (all related) units only when deleting the cluster. (@michaelsembwever) - b4c3248 Use executorServices from DropWizard's lifecycle, where possible in various top-level singletons. (@michaelsembwever)
- 2726931 Set isDev flag correctly for server.js (@spodkowinski)
- 9a48abf Ignore late "start" notifications in SegmentRunner (@michaelsembwever)
- bfda40d fix typo in sample for cassandra backend
- c0cf003 Add systemd service file, add post-install task for log directories creation
- 9b2c66d Listing snapshots can fail easily (if snapshot files/directories are deleted by someone else). (@michaelsembwever)
- d32b54e In RepairManager synchronise the private method startRepair to multiple repair runners on the same runId (@michaelsembwever)
- 998250c Replace RepairRun, RepairUnit and RepairSchedule's inner Builder classes' verbose public constructor with a static
builder()
methods and builder methods. (@michaelsembwever)
- 9b128fc Fix incremental repair sending several SUCCESS notifications in 2.1 (@adejanovski)
- 9c26058 Fix for the schema disagreement issue created by Migration014 (@adejanovski)
- c42a808 Fix cluster screen display with Postgres and H2 (@adejanovski)
- 16c4d49 Ensure notifications for a given repairNo are processed in order. (@michaelsembwever)
- f35648e In JmxProxyImpl refactor commandId to repairNo, for consistent terminology. (@michaelsembwever)
- 36fe520 fix login (@nsteinmetz)
- 6a44f3c Add automated purge functions (@adejanovski)
- c29acc7 Handle out of order repair notifications (@adejanovski)
- 707305d Fix base url issues with the UI (@adejanovski)
- ef61566 Clean code: remove unused JmxProxyImpl.cmProxy (@michaelsembwever)
- 60095ff Clean code: remove RepairStatusHandler parameter from JmxConnectionFactory's connect methods. It was but test pollution. (@michaelsembwever)
- ca18d00 Fix the broken "add node" button in the UI (@adejanovski)
- 53d9246 Improve start time selection for schedules (@adejanovski)
- b81fb13 Ninja fix refresh issue on the new time picker for schedules (@adejanovski)
- #452 UI improvements (#452) (@pndewit)
- c4feb99 Use a new datetime picker for the schedule page (@adejanovski)
- 32c779f Support Cassandra-4.0 for backend storage (@michaelsembwever)
- 3d62a2c Implement limit in
CassandraStorage.getRepairRunsForCluster(cluster, limit)
(@michaelsembwever) - 633c1d4 As RepairUnits are immutable, and limited in number, introduce in CasandraStorage a LoadingCache. (@michaelsembwever)
- 1253f03 Refactor the
IStorage.getRepairUnit(UUID)
method to return the RepairUnit instead of an Optional. (@michaelsembwever) - a4626dd Cleanup the RepairManager.abortSegmentsWithNoLeader() method. (@michaelsembwever)
- b27a55f break down the RepairManager.resumeRunningRepairRuns() method for better readability (@michaelsembwever)
- 17bbf11 Upgrade dependencies. (@michaelsembwever)
- ce5196a Ninja fix for job threads set to 0 (@adejanovski)
- 21edbeb Fix incremental repair segments from being identified as stuck (@adejanovski)
- 72fc8c3 ninja fix travis deployments (@adejanovski)
- e0e2cf1 Add support for repair threads to spreaper (@adejanovski)
- 12d8ef5 Documentation updates for the repair threads setting (@adejanovski)
- ce04d57 UI changes for repair thread count support (@adejanovski)
- c5d3b1b Avoid the NPE in Heart.beat when shutting down (@michaelsembwever)
- 5360688 Fix spelling of "parallelism" (@a1exsh)
- 8882458 Fix spreaper add schedule function (@adejanovski)
- 4903226 CircleCI – paramterise the build, using yaml references (@michaelsembwever)
- a9b6386 Make Travis also test against Cassandra-4.0 backend (@michaelsembwever)
- bc86d40 Update REST API and Docker vars docs (@adejanovski)
- 32867cb Update Bootstrap and Fontawesome to use latest CDN over HTTPS. (@terrcin)
- 4d7cc72 For the Cassandra storage optimise the select statements around fetching segments from the repair_run table. (@michaelsembwever)
- d18183a small fix to link to travis branches page (otherwise it lands on latest build of any branch) (@michaelsembwever)
- 69238f9 Publish new website with "Always build the npm and bower UI components" changes. (@michaelsembwever)
- 3f655c4 Remove unused
src/docs/public
directory (@michaelsembwever) - d943370 Always build the npm and bower UI components. (@michaelsembwever)
- 2f48c54 clean code on SnapshotResource and SnapshotManager (@michaelsembwever)
- 0159fc5 Improve REST API to RepairRunResource and SnapshotResource (@michaelsembwever)
- 29cfa53 Avoid blocking the jmx broadcasting thread, offload work to a separate thread immediately. (@michaelsembwever)
- 1e08061 Remove segmentCount from the default configurations and update the doc with segmentCountPerNode. (@adejanovski)
- c44b196 Updates to documentation as per code review (@ossarga)
- 9fda426 Implement segment coalescing to reduce the overhead of vnodes (@adejanovski)
- 9bdb4b4 Remove pre-conditions that break node metrics requests (@adejanovski)
- 4602d65 Improve REST API to RepairScheduleResource mutations: (@michaelsembwever)
- 791d214 clean code (@michaelsembwever)
- 28e5898 Improve REST API to ClusterResource mutations: (@michaelsembwever)
- b854892 Removed file logger settings from docker image (@ossarga)
- 3c0a1fa Fix duration issues in the UI (@adejanovski)
- 6a59fed Try to show IPv6 endpoints in UI correctly (@dormidon)
- bc8ffad Support IPv6 Cassandra nodes (@dormidon)
- c75825c ninja fix docker build path issue (@adejanovski)
- e0d6c27 Deploy Docker images from Travis (@adejanovski)
- 647f560 Gracefully degrade on 2.0 and prior for snapshot listing. (@adejanovski)
- 65984ae Update the list of nodes for a cluster at the start of each repair run. (@adejanovski)
- 051be2a Fix CircleCI tests since we have 2 DCs there. (@adejanovski)
- d7689fa Dawde duckling to: Sanitise cluster and host names going into metric names. (@michaelsembwever)
- 8bb930d Sanitise cluster and host names going into metric names. (@michaelsembwever)
- 170c9ae Fail fast when Cassandra storage is an older version not supported (@michaelsembwever)
- 3da6336 Fix CircleCI tests with jmx auth and jdk incompatibility with C* 3.11.0 (@adejanovski)
- 198b33e made getNodeMetrics to get remote metrics via storage when DatacenterAvailability is not ALL
- b98c6c3 Updated docker image to include new logging settings. (@ossarga)
- 56f3f19 Instead of logging to the console, log to files that are rolled over daily. (@michaelsembwever)
- 469475a Add web ui auth capability to the Docker image (@adejanovski)
- 98e7f56 Documentation updates (@ossarga)
- eb84ef3 Ninja fix: Fixed navbar headings (@ossarga)
- 1204fba ninja fix: Makefiles' addiction to tabs over spaces. (@michaelsembwever)
- 750a850 Bash completion for spreaper (@michaelsembwever)
- 8c9de3c Fix travis deploy tool downgrade (@adejanovski)
- a21edd0 Downgrade Travis deploy tool to earlier version to fix bintray auth issues (@adejanovski)
- 2a89b16 Implement authentication for the web UI (@adejanovski)
- ae9f491 Add support for snapshots (@adejanovski)
- 5cefe53 Add support for handling clusters with different JMX credentials (@adejanovski)
- 4b639bf Add command line (spreaper) functionality to modify a repair run's intensity. (@michaelsembwever)
- 4a53719 Make it possible to list repair runs that belong to a specific cluster, or specific cluster and keyspace. (@michaelsembwever)
- 0148b14 Fix
spreaper resume-run
,spreaper pause-run
,spreaper abort-run
. (@michaelsembwever) - f320071 Implement unix mode, via use of quiet flag. (@michaelsembwever)
- e5519a7 updating metrics for repairProgress,segmentsDone,segmentsTotal and added keyspace to metric (@kingm5)
- 3cf121d Prevent stuck segment runner issues on uncatched exceptions (@adejanovski)
- f7a148d Remove unnecessary postpones when a segment isn't allowed to start (@adejanovski)
- bd17578 Ninja fix for error trace overload (@adejanovski)
- 07a897c Ninja fix for segment abort (due to a bad rebase) (@adejanovski)
- 6f3f3fa Initialize JMX connections on startup only when necessary. (@adejanovski)
- 00c2cc7 Fix issue with poorly registered metrics upon node restarts (@adejanovski)
- b9d8681 Switch to re-usable JMX connections instead of re-creating one each time it's needed. (@adejanovski)
- 0465aa1 Update documentation to install the GPG keys for apt-get (@adejanovski)
- ca2341a UI update for ordering fixes (@adejanovski)
- ea1a0a0 Fix orderings of cluster names, repair runs and schedules (@adejanovski)
- 961fd69 Update docs for apt-get installation (@adejanovski)
- 283f7e2 Add Maven uploads to Bintray (@adejanovski)
- 39e8cab turn on gpg signing of uploaded packages (@adejanovski)
- 6e2afd3 Ninja fix for hardcoded urls (@adejanovski)
- a07d2e6 UI update for segment display/abort (@adejanovski)
- 263f4ec Add ability to list and abort segments (@adejanovski)
- 42784f8 Update doc install and download sections to point to Binary (@adejanovski)
- d30d79f fix build by using fpm directly instead of docker-compose (@adejanovski)
- 0ba0272 Add traces to analyze issues with docker build on master (@adejanovski)
- 689f3c7 Fix Travis build being killed (@adejanovski)
- 35694c3 Handle cases where a segment reaches timeout without being in either RUNNING or DONE state. (@adejanovski)
- 0091a4b Push all packages to Bintray on the master branch (beta) and tags (releases). (@adejanovski)
- 65fd58f Prevent crashing the scheduler for RepairManager.resumePendingRepairRuns() in case of unexpected exception. (@adejanovski)
- 07eadc3 added 1st set of metrics suggested (@debswade)
- 21ba0fb | Another fix for
IllegalStateException: startTime must be set if segment is RUNNING or DONE
(@michaelsembwever) - 67d6721 Another fix for
IllegalStateException: startTime must be set if segment is RUNNING or DONE
(@michaelsembwever) - ff0214f Ninja fix for issue #288 (@adejanovski)
- 13524bc Fix computing too many segments on high clusters with high number of vnodes. (@adejanovski)
- 5a4bfe9 NodeStatus: Handle hostnames in endpointsStatus output (@tedoc2000)
- 5b563db Supported change intensity in web app (@kipwoker)
- 6f71b67 Implemented PUT method for change intensity (@kipwoker)
- d3fb850 Revert master back to 51b971f35fb02111f6e807ccbdf048a475611014 (@michaelsembwever)
- 4e84fc8 allow the docker job to fail, temporary fix (@michaelsembwever)
- 6d06781 Only disable RepairSegment precondition checks when JVM is running with system property "-Dreaper.disableSegmentChecks=true" (@michaelsembwever)
- 1cb89b0 Version update in the UI (@adejanovski)
- 5c9ca98 Ugly shameful fix for the endTime/startTime infamous bug (@adejanovski)
- e3b2cd7 Fix for Elassandra's gossip info output parsing (@adejanovski)
- 5a14d92 Duplicate the Migration009 script so it can run again to fix missing RepairSegment startTimes (@michaelsembwever)
- b56ce12 breakup the
SegmentRunner.runRepair(..)
method, the bulk of the body going intoSegmentRunner.processTriggeredSegment(..)
(@michaelsembwever) - f9ea67e if endTime is set, so must startTime be set #281 (@michaelsembwever)
- 2d386b7 Revert "Remove precondition checks that break Reaper when endTime/startTime are inconsistently set" (@michaelsembwever)
- ed418ce Remove precondition checks that break Reaper when endTime/startTime are inconsistently set (@adejanovski)
- ba9ca5f Release 1.0.0 final (@adejanovski)
- 91b2737 Ninja fix to have Reaper work with 2.0 again (@adejanovski)
- 02e53d0 Should resolve current Docker image issues (@joaquincasares)
- d75ba7b Don't log every jmx connection failure within JmxProxyImpl. The thrown exception is logged appropriately when caught. (@michaelsembwever)
- 5d3d469 enable assertions by default when running Reaper. (@michaelsembwever)
- 257bab2 Fix typo: endabled -> enabled (@SaaldjorMike)
-
dc9c00d Pulled back the "database" setting for storage type to ensure backwards compatibility (@adejanovski)
-
92a120c Split 'database' configuration setting (@ossarga)
-
1c64c1a Minimal fix for test failure as in described in thelastpickle#266 (@michaelsembwever)
-
42c4c14 Add a doc page about multi DC clusters (@adejanovski)
-
13d9246 Merge branch 'master' of https://github.com/thelastpickle/cassandra-reaper (@adejanovski)
-
10d3b02 Fix maven ui build with absolute path in pom instead of relative (@adejanovski)
-
8241eab fixed ignore for packages (@rustyrazorblade)
-
c0a4b7a Add version number in the UI (@adejanovski)
-
c85e43c Automating release process using rultor (@velo)
-
619b28a Correct cassandra storage table properties. Always enable the key cache, and disable all read_repairs. (@michaelsembwever)
-
e5dbedf Remove localMode configuration and logic, as it's not actually implemented yet. (@michaelsembwever)
-
91e5464 Fix repair_segment table start_time/end_time/state consistency (@adejanovski)
-
d6e5a10 Remove NULLs in RepairSegments stored in Cassandra. (@michaelsembwever)
-
20f5558 Fix issue with upgrades on postgres and h2 when coming from pre-0.8 versions (@adejanovski)
-
#256 Add metrics for repair progress + time since last repair. Fixes #207. (@thelastpickle)
-
2decdde dawdle duckling to 41ecc2b : node_metrics_v1.minute is a bigint (long) (@michaelsembwever)
-
ee37c5a Add metrics for repair progress + time since last repair. Fixes #207. (@rzvoncek)
-
41ecc2b Add request mechanism for metrics to allow datacenterAvailability = EACH to work properly on large clusters (@adejanovski)
-
ad41d64 Refactor test packages to match the runtime packages. Reduce class and methods visibilities where possible. (@michaelsembwever)
-
d6a8eb4 Cleanup naming: use "node" consistently, in place of "host". (@michaelsembwever)
-
ff19c38 Make RepairManager and Heart hold the AppContext as a field, rather than a parameter to all methods. (@michaelsembwever)
-
83d5528 Break apart CommonTools. Its methods put it correct peer classes, or into new service classes. (@michaelsembwever)
-
c572e57 Give datacenterAvailability = EACH better chances to work, through requesting for and updating node metrics for running repairs, as part of heartbeat. (@michaelsembwever)
-
2b806d3 Unit tests for Heart (@michaelsembwever)
-
27b8038 set heap sizes for travis builds to the same as circleci (which displays better stability) (@michaelsembwever)
-
f188f92 Rebuilt docs (@ossarga)
-
6f10a47 Updated configuration docs and Docker envs (@ossarga)
-
40e852d Fix minor UI issues with autocomplete fields (@adejanovski)
-
8bf9aae UI changes for the new segment count per node (@adejanovski)
-
f3de7a3 Switch from a global segment count to a segment count per node (@adejanovski)
-
a8aae66 Fix browser cache issues when the UI evolves. (@adejanovski)
-
e717ad8 For Cassandra storage minimise the number of tombstones (NULL entries) in the repair_run table. (@michaelsembwever)
-
22afbdb Fix JmxConnectionFactory.connectAny(..) to loop a second time trying all hosts regardless of past successes/failures. (@michaelsembwever)
-
e899534 Doc fix for correct docker build commands (@michaelsembwever)
-
#228 Create CODE_OF_CONDUCT.md (#228) (@michaelsembwever)
-
9227f61 Fix NPE in CassandraStorage, when a read times out and the statement is null. (@michaelsembwever)
-
7b56121 Fix assertions around schedules, as the jersey response need not be successful, and then a correct response has to be waited for. (@michaelsembwever)
-
ea655b3 the integration-test profile is not used anywhere anymore. remove it. (@michaelsembwever)
-
6073a01 Cleanup classes and tests in the io.cassandrareaper.jmx pacakge (@michaelsembwever)
-
e2cf31c Update Dockerfile (@elsmorian)
-
630257d Update cassandra-reaper.yml (@elsmorian)
-
cfe3040 Add logic for handling table blacklists (@adejanovski)
-
6b6b785 Add REST endpoint for listing tables from a cluster (@adejanovski)
-
7078584 UI changes for blacklisted tables and other minor improvements (@adejanovski)
-
4c3ece2 Schema changes for blacklisted tables (@adejanovski)
-
f342866 Add to checkstyle the ConstantName rule. All static final fields are to be UPPER_CASE. (@michaelsembwever)
-
7dc2316 In cassandra storage override pooling options to allow bigger queue and longer timeout. (@michaelsembwever)
-
e42ca22 Add useAddressTranslator and localDC Docker envar support (@joaquincasares)
-
ce8e4e2 Fix yaml reference text (@joaquincasares)
-
b30652c Add for Docker, which defaults to 20s, based on the code default (@joaquincasares)
-
bdb0bd1 Fix for properly handling reboots of Reaper instances with distributed storage (@adejanovski)
-
b975c39 rebuilt docs (@rustyrazorblade)
-
#218 Docs usage section (#218) (@rustyrazorblade)
-
aff6d33 Add useAddressTranslator info in the docs (@adejanovski)
-
26bc722 Add JMX connection test for the whole cluster on init to speed up subsequent connections (@adejanovski)
-
3f4f09e Fix bugs detected by error prone (@adejanovski)
-
354fe59 Ignore any AssertionError trying to releaseLead() when handling a jmx ABORT|ERROR|SESSION_FAILED notification. (@michaelsembwever)
-
2aff661 Increase timeouts for SegmentRunner in SegmentRunnerTest. (@michaelsembwever)
-
61a8ac4 Rename package from com.spotify.reaper to io.cassandrareaper (@adejanovski)
-
8d2846e regen site (@rustyrazorblade)
-
d1a5aa6 fixed download links and docker link (@rustyrazorblade)
-
fb171d9 Changes requested by Alex (@rustyrazorblade)
-
ff6b3ab Format java files to suit checkstyle rules. (@michaelsembwever)
-
9f2b7bb add maven-checkstyle-plugin and a ruleset based off google's codestyle (which seems to be what Spotify was using). (@michaelsembwever)
-
f40e87d fixed packages gitignore and page (@rustyrazorblade)
-
92ab864 rebuild website (@rustyrazorblade)
-
#203 Improving docs (#203) (@rustyrazorblade)
-
6eb7f9a Fix retry policy NPE errors and disable assertions in packaged installs (@adejanovski)
-
eebc3d2 Fix hanging calls when resuming pending repair runs (@adejanovski)
-
2971e07 Add debug logs for potential coordinator selection (@adejanovski)
-
e1e436d Add support to run repair on specific nodes or specific datacenter (@adejanovski)
-
c483b8d Add tag list inputs for nodes and datacenters in both repair and schedule forms (@adejanovski)
-
ae8bce7 Bump version number to 0.8.0 (@adejanovski)
- a78d677 Fix issue with pre-2.1.10 versions of Cassandra that don't have the SS.getHostIdToEndpoint() op (@adejanovski)
- 54f8230 fix typo on release generation when creating tags (@adejanovski)
- 01eae06 0.7.0 release (@adejanovski)
- c4cb627 Fix flaky test due to shared mock object between tests (@adejanovski)
- 89cd6bc Change default configurations for more safety. (@adejanovski)
- 1416ef9 Fixes assertion error, when timed out segment repairs are still getting jmx notifications. (@michaelsembwever)
- 1d2cf15 Regenerated website content (@ossarga)
- 683cb8c Doc fix to be specific about from where we run the docker-compose command since that is not immediately apparent (@zznate)
- bf24736 Refactored Travis to allow parallel Docker builds (@ossarga)
- 3699509 Make asserts on schedules existing (having been created) eventual, as this is done by design eventually. (@michaelsembwever)
- d85d438 Added Docker SSL encryption example (@ossarga)
- 080c30c Add support for AllEndpointStates output in pre-2.2 versions (@adejanovski)
- be745f6 Updates to Docker packaging to fix structure and flexibility (@ossarga)
- 536ddc6 Document in requirement to CREATE the reaper_db keyspace (@rustyrazorblade)
- d313813 showing google we own it (@rustyrazorblade)
- bafb9c4 added robots.txt to allow full indexing (@rustyrazorblade)
- bd7c24b Docker Cassandra configuration update (@ossarga)
- f677b33 Fixed broken link (@rustyrazorblade)
- 9e6665d Removed dead link to backends (@rustyrazorblade)
- e8351ad Merge branch 'master' of github.com:thelastpickle/cassandra-reaper (@rustyrazorblade)
- 7d46c51 Needed to serve the site correctly (@rustyrazorblade)
- c3a950b Create CNAME (@rustyrazorblade)
- #176 Merge docs from the site into the main repo. (@thelastpickle)
- 903e15d fixed data dir (@rustyrazorblade)
- 273b913 Add the Datadog metrics reporter (@adejanovski)
- 8afa041 updated readme with info about the in tree docs (@rustyrazorblade)
- 510f598 Generated Site HTML (@rustyrazorblade)
- 7a6ffdd Brought in docs from the reaper site repo. (@rustyrazorblade)
- 55324b7 Add the Graphite reporter to the list of dependencies (@adejanovski)
- f2712b1 move LongCollectionSQLType to inner class in RepairSchedule. (@michaelsembwever)
- 45dec62 move ReaperApplication.checkRepairParrellismString() to RepairRunResource. (@michaelsembwever)
- c7776fb Move contextual fields from ReaperApplication to AppContext. (@michaelsembwever)
- 880d378 Move DatacenterAvailability to be an inner class of ReaperApplicationConfiguration, as it's a config object, not a domain object. (@michaelsembwever)
- 3168507 remove orphaned class KeyspaceStatus (@michaelsembwever)
- c9b8876 Move SimpleCondition to service package, as it is a private peer class to SegmentRunner. (@michaelsembwever)
- ecd75c3 Merge branch 'mck/project-toplevel-restructure' (@michaelsembwever)
- 6374f44 Rearrange project to separate concerns (source code versus packaging artifacts, etc) (@michaelsembwever)
- 649c876 removed redundant readme (@rustyrazorblade)
- 9ed5f49 Make JMX connections smarter by picking primarily to nodes for which connection didn't fail in the past. (@adejanovski)
- e3dcb7d Add 3 different profiles of metrics collection : ALL, LOCAL and EACH. (@adejanovski)
- 6a835f7 Calls to
SegmentRunner.abort()
orSegmentRunner.postpone()
must still happen within the leader-election framework. (@michaelsembwever) - 49bfc6f fix the heap setting, and save 10% cpu-time by preferring IPv4 connections (@michaelsembwever)
- cdf5147 Add methods to JmxProxy so know which datacenters each host is in. (@michaelsembwever)
- 08bc563 Make the tests create keyspaces that match the cluster topology being tested. (@michaelsembwever)
- 3e5fa3d Add metrics to JmxConnectionFactory and SegmentRunner. Also add the promethues servlet to the admin interface. (@michaelsembwever)
- 2a2ad66 In ReaperApplicationConfiguration apply the documented defaults to the code. (@michaelsembwever)
- b2db7c2 circleci setup, postgres excluded (@michaelsembwever)
- 6336456 Implement Fault Tolerant Reaper (@adejanovski)
- ca25596 Configure the Cassandra driver with a custom retry policy that (basically) always retries. (@michaelsembwever)
- c0b1774 In the CassandraStorage make constant the remaining select cql statements (@michaelsembwever)
- 138f6b3 In the Cassandra storage make all write statements async. (@michaelsembwever)
- a7104ba Remove the LOGGED batch statements. Only offering atomicity on successful requests they have little impact of design and usuability. (@michaelsembwever)
- 0f3b900 Improve test stability and pass rate for distributed tests. (@michaelsembwever)
- aee1979 Add asserts ensuring that repair segments are only ever written to from an elected leader. (@michaelsembwever)
- 514e01e Remove
IStorage.getNextFreeSegment(..)
asgetNextFreeSegmentInRange(..)
is always used now. (@michaelsembwever) - 956b2ae Implement "local mode" as a "Distributed Storage" capability. (@michaelsembwever)
- ccbb31f Make integration tests capable of testing multiple running reaper instances. (@michaelsembwever)
- 1cc8520 Make the SchedulingManager more BASE design friendly (@michaelsembwever)
- c791f64 Fix nodes status in the health view when shutdown is not clean (@adejanovski)
- f4e5be3 Add loader in the UI to show progress on getting nodes statuses (@adejanovski)
- 647ae73 bump to next development version (@michaelsembwever)
- 6823b8e Updated README to point to new documentation home on cassandra-reaper.io (@rustyrazorblade)
- 4640eaf 0.6.2 release (@adejanovski)
- #157 Add a Gitter chat badge to README.md (@gitter-badger)
- 8a5f31f Add Gitter badge (@gitter-badger)
- 74776b1 Fix coordinator node being nulled out by abort() for incremental repairs. (@adejanovski)
- f022542 Added delete-schedule to the CLI (@favoretti)
- 9c230e1 Add ability to have both a schedule for full and incremental repairs at the same time for the same keyspace (@adejanovski)
- #151 Fix ClassCastException when using H2 database (#151). (@smarsching)
- e89720c Fix issue #132 (@adejanovski)
- 08f3275 Fix SSL encrypted and client authenticating connections to Cassandra's jmx. (@michaelsembwever)
- 3deb77b Update README.md (@adejanovski)
- #141 Add instructions to install and run reaper as a service (@thelastpickle)
- a70bd36 Add instructions to install and run reaper as a service (@adejanovski)
- 4e9fd40 Add note on how to find the IP address for the Docker Compose example (@joaquincasares)
- 43cdb4b Allow for a configurable replication factor for reaper_db (@joaquincasares)
- a3a2708 Include Docker-specific documentation. (@joaquincasares)
- 6449e9c Add docker-compose environment (@joaquincasares)
- #135 Add jmxAuth keys to default configs. (@thelastpickle)
- #134 Add docker-build process. (@thelastpickle)
- eae87d0 Requested changes for #134's review. (@joaquincasares)
- 79d76f5 Fix issue #137 with dashes not being kept in cluster/datacenter/rack names (@adejanovski)
- a8d645e Add jmxAuth keys to default configs. (@joaquincasares)
- 413a4f3 Add docker-build process. (@joaquincasares)
- 629abb5 Make UUIDs returned from PostgresStorage deterministic to reduce confusion (@Bj0rnen)
- #127 Fix repair parallelism in cluster overview output, for schedules/runs… (@Bj0rnen)
- 36c9b3d Fix repair parallelism in cluster overview output, for schedules/runs created in old versions (@Bj0rnen)
- #120 Changed the git protocol form SSH to http of startbootstrap-sb-admin (@Japio007)
- #121 Allow the auto scheduler to honour the incrementalRepair option. (@Japio007)
- #123 Fix issue with C* <= 2.1.9 not having the StorageServiceMBean.getEndp… (@thelastpickle)
- 6f91035 Fix issue with C* <= 2.1.9 not having the StorageServiceMBean.getEndpointToHostId() method (@adejanovski)
- #117 Web UI improvements (@thelastpickle)
- b5fcfce Optimize listing repairs by not counting segments for runs with state DONE (@adejanovski)
- 6e2055d Web ui improvements with filters, cluster health view and collapseable blocks (@adejanovski)
- ca07648 Fix issues with changes in RepairParallelism enum between 2.1 and 2.2. Helps with schedules created in old versions. (@adejanovski)
- 39e4c97 Allow the auto scheduler to honour the incrementalRepair option.
- 4e88d00 Changed the git protocol form SSH to http of startbootstrap-sb-admin
- #116 Adds integration test to ensure scheduled repairs can initiate repair runs, and maintain history (@thelastpickle)
- 15f4755 Adds integration test to ensure scheduled repairs can initiate repair runs, and maintain history. (@michaelsembwever)
- b13d0ef Bump up version number (@adejanovski)
- 64dea25 0.6.1 release (@adejanovski)
- #114 LongCollectionSQLType should hold Longs, not UUIDs (@vrischmann)
- 3d16533 LongCollectionSQLType should hold Longs, not UUIDs (@vrischmann)
- #110 move into the next development cycle (@thelastpickle)
- ad3d7e7 move into the next development cycle (@michaelsembwever)
- 0031da9 Release 0.6.0 (@adejanovski)
- #109 Cassandra backend improvements (#109) (@adejanovski)
- #106 Symlink 'src/main/resource/assets' to 'reaper_ui/build' just like in original 'reaper_ui' so we can actually use webpack dev server and hot reload when working on UI. (#106) (@anguenot)
- #107 Fix CFs list broken display in repairs and schedule views. (#107) (@anguenot)
- f7682f2 Disable the query logger by default (@adejanovski)
- #96 Add LCS and row cache (#96) (@michaelsembwever)
- #93 Add a query logger to the Cassandra storage, for debugging and profiling. (#93) (@michaelsembwever)
- #95 Cassandra performance: use prepared statements against repair_id, and cache a floor for the sequence number to reduce lookups. (#95) (@michaelsembwever)
- #97 Don't handle success callbacks after timeout (C* <= 2.1) (#97) (@Bj0rnen)
- #98 Bump aborted runs down in cluster run summary (#98) (@Bj0rnen)
- #91 Ec2MultiRegionAddressTranslator. (#91) (@MALPI)
- #76 Adding support to build cassandra-reaper docker images (@chrislbs)
- 8639ea2 Correcting ENV DB prefix; Inlining chwon/chmod commands
- 6195670 Using su-exec and removing env var prefix
- #73 additional example and doc around cassandra storage for reaper (#73) (@skhatri)
- #81 Minor fixes (#81) (@MALPI)
- 36019b9 # Conflicts: # pom.xml (@adejanovski)
- 984a265 Fix issue with incremental repair using new repair methods (issue #71) (@adejanovski)
- 2588b9d Adding support to build cassandra-reaper docker images
- #66 Use dropwizard 1.0 (#66) (@adejanovski)
- #67 Use new repair API and adapt notification handler (#67) (@adejanovski)
- 7f16e02 Bump up version number (@adejanovski)
- c1253b0 0.5.0 release (@adejanovski)
- #63 Add dynamic discovery of seeds for clusters (#63) (@adejanovski)
- #64 Fix bad segment count display on scheduled repairs (#64) (@adejanovski)
- #55 Autoschedule (#55) (@adejanovski)
- 8d7500c Bump version number (@adejanovski)
- 3334115 Release 0.4.1 (@adejanovski)
- #53 Fix getting metrics for pending compactions and active/pending repair… (#53) (@adejanovski)
- 9fb2b6e Fix deploy phase (@adejanovski)
- 2151cd1 Add automatic release in Travis (@adejanovski)
- ecd6054 Remove file due to premature inclusion (@adejanovski)
- #48 Code improvements based on SonarQube analysis (#48) (@adejanovski)
- 61f14f0 Update documentation after adding FlyWay (@adejanovski)
- #45 Add auto initialization of the Reaper Cassandra DB (#45) (@adejanovski)
- e6d0cae Add documentation for storage backend configuration (@adejanovski)
- #37 added support for H2 database storage (#37) (@adejanovski)
- #44 Allow Reaper to work with Cassandra 1.2 (#44) (@adejanovski)
- #38 postgresql: the stored repair parallelism can be lowercase (#38) (@vrischmann)
- #40 Add possibility to run repair on clusters with unreachable DCs (#40) (@adejanovski)
- #42 Fix performance issues with Cassandra backend (#42) (@adejanovski)
- 033ac3d fixed reaper class path (@rustyrazorblade)
- #36 Fix a NullPointerException when postponing (#36) (@vrischmann)
- #35 Create a full integration test suite (@thelastpickle)
- 8df29f8 Fix the stuff SonarQube was complaining about (never use Thread.sleep in tests :) (@adejanovski)
- 0496cc4 Create a separate integration test phase for running against a real ccm cluster (@adejanovski)
- d65a34e Update README.md (@rustyrazorblade)
- #34 Travis ci (#34) (@adejanovski)
- #33 Fix issue #32 with parallelism parsing issues with postgres storage (#33) (@adejanovski)
- #25 Include UI sources and maven profile to rebuild it (#25) (@adejanovski)
- #23 Add support for incremental repair to sprearer (#23) (@adejanovski)
- #20 Fix wierdness on 14.04 (#20) (@neogenix)
- #18 Makefile change (#18) (@neogenix)
- 4c4d96c Fix issue #21 with Cassandra storage (@adejanovski)
- #14 Fix for Cassandra 2.2 full repair bug (@thelastpickle)
- f337e65 Fix for Cassandra 2.2 full repair bug (@adejanovski)
- #16 typo on db name (@eslocombe)
- 15c5690 typo on db name
- f68b8eb Add Cassandra storage option (@adejanovski)
- #9 Fix for issue #8 (problem starting incremental repair when full repair was executed earlier or vice-versa) (@thelastpickle)
- 41ef23d Fix for issue #8 to allow different repair units on the same cluster/keyspace with different inc repair settings (@adejanovski)
- 16d7759 updated readme (@rustyrazorblade)
- 1aa0be5 tweaked makefile (@rustyrazorblade)
- 294efb3 Merge branch 'master' into inc-repair-support-with-ui (@rustyrazorblade)
- 67b5c5b made running reaper a little easier in reaper directory (@rustyrazorblade)
- 712cecf # Conflicts: # src/main/java/com/spotify/reaper/cassandra/JmxProxy.java (@adejanovski)
- 788d5d1 fix for Cassandra 2.0 (@adejanovski)
- a20d2f3 make all (@rustyrazorblade)
- 51f8a0a Merge branch 'master' of github.com:thelastpickle/cassandra-reaper (@rustyrazorblade)
- 7d547e5 removed the incremental repair support for now. will readd soon (@rustyrazorblade)
- 8205b2b add better logging (@rustyrazorblade)
- 9f6cc90 Changed first heading for trademark compliance (@zznate)
- 9c569ad Brought in line with ASF copyright compliance (@zznate)
- 7ded9d3 Init script (@rustyrazorblade)
- 24c8b63 trying to get init scripts (@rustyrazorblade)
- abd85fa working on init script (@rustyrazorblade)
- 9898418 Merge branch 'master' of github.com:thelastpickle/cassandra-reaper (@rustyrazorblade)
- e2ad760 fixed version, fixed build script (@rustyrazorblade)
- d62e26e Fixed typo (@adejanovski)
- 6272a9d build file (@rustyrazorblade)
- 80f874c added artifacts to gitignore (@rustyrazorblade)
- fee2385 This patch merges adejanovski's branch Incremental repair support with ui #1 (@rustyrazorblade)
- 608a612 tweaked class path so its not always hard coded to a /usr/share location (@rustyrazorblade)
- bee5036 Merge remote-tracking branch 'origin/inc-repair-support-with-ui' into inc_repair (@rustyrazorblade)
- 54a551c fixed permissions (@rustyrazorblade)
- 0455334 fix for html file being ignored by git, which broke the ui (@adejanovski)
- a4507ee update from branch inc-repair-that-works and add ui back again (@adejanovski)
- bb42a81 # Conflicts: # resource/cassandra-reaper.yaml # src/main/resources/assets/65bcbc899f379216109acd0b6c494618.svg # src/main/resources/assets/deps.js # src/main/resources/assets/index.js # src/main/resources/assets/repair.js # src/main/resources/assets/schedules.js (@adejanovski)
- 2508688 remove ui (@adejanovski)
- 970f934 fix for getPendingTasks() that disappeared in C* 3.0 (using JMX directly to get pending compactions) (@adejanovski)
- 1a72c1c Add more loopback addresses for ccm clusters with up to 7 nodes (@adejanovski)
- 0e54137 fix missing files for reaper ui (@adejanovski)
- 6eab076 Merge branch 'inc-repair-that-works' into inc-repair-support-with-ui (@adejanovski)
- 42f5f0d prevent incremental subrange repair to allow proper support for inc repairs (@adejanovski)
- 29387ec Merge branch 'sly/incremental-repair-support' into inc-repair-support-with-ui (@adejanovski)
- 05b912d ignore binaries and eclipse files (@adejanovski)
- 2083c0a Conflicts: resource/cassandra-reaper.yaml src/main/java/com/spotify/reaper/ReaperApplicationConfiguration.java src/main/java/com/spotify/reaper/resources/RepairScheduleResource.java src/main/java/com/spotify/reaper/service/SegmentRunner.java src/main/java/com/spotify/reaper/storage/postgresql/IStoragePostgreSQL.java src/test/resources/cassandra-reaper.yaml (@adejanovski)
- 842ad6b added ui from https://github.com/spodkowinski/cassandra-reaper-ui with improved support for incremental repair found in https://github.com/Nuance-Mobility/cassandra-reaper/tree/sly/incremental-repair-support (@adejanovski)
- 3e9cbd2 upgrade to C* 2.1.13 libs (@adejanovski)
- #135 Add modifiability of seed host to cluster endpoint (@spotify)
- 92207e4 Add modifiability of seed host to cluster endpoint (@Bj0rnen)
- c16709d ND-1369: fix repair_unit statement, also fixed db script to crate table in the right DB (@djsly)
- dcb33fb start development on 0.2.4 (@Bj0rnen)
- e6d0997 release version 0.2.3 (@Bj0rnen)
- #128 Bj0rnen/kill lingering repairs (@spotify)
- 9564f09 Improve readability (@Bj0rnen)
- 5dc0607 Explain usage of LazyInitializer (@Bj0rnen)
- bd35bce Fix mistake: use respective keyspace (@Bj0rnen)
- 512e2b8 Lazily compute list of nodes with ongoing repairs (@Bj0rnen)
- af24e8a Log when aborting repairs of unknown origin (@Bj0rnen)
- acfc913 If stalled, kill repairs that Reaper doesn't know about (@Bj0rnen)
- 8d89ba8 Add storage query for all repair commands currently running in cluster (@Bj0rnen)
- 1c7d421 Add type to hold parameters of issued repair commands (@Bj0rnen)
- 42526c0 incremental_repair: adding missing column to query to make the sql work for cluster query with existing repair_run (@djsly)
- e24da1c incremental_repair: adding missing column to query to make the sql work: (@djsly)
- #122 change scheduler to wake up once every ten minutes (@spotify)
- eff3c4f change scheduler to wake up once every ten minutes (@varjoranta)
- d115a74 merge PR from Nuance-Mobility (@varjoranta)
- ca185d8 Adding missing SQL Query (@djsly)
- e6f419d Adding new rest API: get Repair Schedule by Keyspace and by Keyspace and Cluster as well as get Clusters associated with a seed host. (@djsly)
- 0e9dece merge PR from Nuance-Mobility (@varjoranta)
- 792f9d9 fixing compilation error made with the last cherry pick (@djsly)
- 8fde8c4 fixing compilation error made with the last cherry pick (@djsly)
- c90164e removing left over imports that doesn't exist anymore. (@djsly)
- 1bd802a +Preventing repair run to be created when the repair_unit as the same cluster/keyspace/table setting but a different incremental repair (@djsly)
- dbbf1ee Fix expected string from client side. (@djsly)
- c749118 Updating doc for the new incrementalRepair parameter (@djsly)
- 1145834 Adding logic to prevent incremental repair at the same time as sequential repair. (@djsly)
- 58ded9d Adding nee cassandra 2.1 incremental repair feature. (@djsly)
- 48f3c4b RE-adding the 2.0 SimpleCondition from cassandra 2.0. Looks like the (@djsly)
- 4253061 ND-1410 updating the reaper code to use cassadnra 2.1.8 library (@djsly)
- 2894824 adding required settings for the scheduleDaysBetween optional feature (@djsly)
- 2ff195f Making ScheduleDaysBetween an optional parameter for the rest API for the Schedule. Added a default of 7 days in the config. (@djsly)
- 7bacba9 add note about release changes into readme (@varjoranta)
- d0ebf59 start development on 0.2.3 (@varjoranta)
- fee9bcb release version 0.2.2 (@varjoranta)
- 92715dc stabilize a test by increasing sleep time (@varjoranta)
- #116 fix not closing jmx connector sometimes (@spotify)
- 4cd8861 fix not closing jmx connector sometimes (@varjoranta)
- #114 add debug for hanging segments (@spotify)
- d2ce932 add debug for hanging segments (@varjoranta)
- 84ed30a remove unneeded old debug log message (@varjoranta)
- #113 fixing too many open files problem (@spotify)
- 79ac8de decrease log severity to info for common repair failures (@varjoranta)
- 6c413fa add explicit cleanup call for jmx connection on repair runner (@varjoranta)
- 5900663 add debug for too many open files issue (@varjoranta)
- #112 Log date on every log line (@spotify)
- 52a7c9e Log date on every log line
- 0ad34ff change the maintainer on project (@varjoranta)
- 6f47ae3 change the runner rescheduling logic a bit (@varjoranta)
- 572c25f remove fan out in repair runner scheduling (@varjoranta)
- af6faf1 fix NPE on debug code (@varjoranta)
- #111 fix an issue on reapir run dying out (@spotify)
- 82fd279 fix an issue on reapir run dying out (@varjoranta)
- ac75473 add debug for hunting possible deadlock (@varjoranta)
- #108 Add a check that reaperId is never null or empty (@spotify)
- 55c3b77 Add a check that reaperId is never null or empty (@mmatalka)
- #107 Zvo/resume errors (@spotify)
- ec4ee70 Implementing bj0rn's comments
- d870f7b Extra check for errors in getRangeToEndpointMap()
- 4600378 Resume repair after error
- a68d825 Remove redundant throws/catches of ReaperException
- 1b94e82 Free repair slot before handling the result
- #105 Removed internal Spotify manifest (@Yarin78)
- 6702e0f Removed internal Spotify manifest (@Yarin78)
- #103 Clear snapshots on session failure (@spotify)
- 52cc32d Clear snapshots on session failure
- #102 add release process definition to readme (@spotify)
- #101 Remove endTime on retried runs (@spotify)
- 15cb239 add release process definition to readme (@varjoranta)
- 30f6a31 Remove endTime on retried runs (@Bj0rnen)
- 228381a Update doc about possibility to resume ERROR runs (@Bj0rnen)
- 4682701 start development on 0.2.2 (@Bj0rnen)
- ef1e615 release version 0.2.1 (@Bj0rnen)
- #100 Postpone schedule if failing to start a repair (@spotify)
- 7c4a2c5 Postpone schedule if failing to start a repair (@Bj0rnen)
- #97 Add ability to reattempt repair run that went into ERROR (@spotify)
- e276f23 Add ability to reattempt repair run that went into ERROR (@Bj0rnen)
- #95 Syncronize all get&update operations of RepairRun objects (@spotify)
- bb13ed3 Leave lastEvent unchanged on terminated repair runs (@Bj0rnen)
- 3b30858 Unregister repair runner whenever run terminates (@Bj0rnen)
- 5fb028b Syncronize all get&update operations of RepairRun objects (@Bj0rnen)
- #94 Always set end time on runs in error (@spotify)
- 72bb83b Always set end time on runs in error (@Bj0rnen)
- #93 Fix check for empty tokenToEndpoint map (@spotify)
- 89e3621 Fix check for empty tokenToEndpoint map
- #91 Fix bug that caused repair run to fail if nodes are going up or down (@ahenry)
- #92 Catch AssertionError if a keyspace doesn't exist (@spotify)
- 4efcae2 Catch AssertionError if a keyspace doesn't exist
- a9ad7a1 add a status message on failure due to exception in tokenRangeToEndpoint (@ahenry)
- e7d3847 Fix bug that caused repair run to fail if nodes are going up or down while (@ahenry)
- ed3b043 start development on 0.2.1 (@varjoranta)
- 8a423db release version 0.2.0 (@varjoranta)
- #87 Enable GUI headers also through reaper configuration (@spotify)
- d94e70c Enable GUI headers also through reaper configuration
- #88 Zvo/parallel segments (@spotify)
- #90 Update run's last_event when run goes into ERROR (@spotify)
- fc73c06 Update run's last_event when run goes into ERROR
- ebeaca4 Append run id and segment id to thread name, where applicable (@Bj0rnen)
- 301c25b Further fixes to getNextFreeSegmentInRange in Postgres (@Bj0rnen)
- bd19b24 updated readme (@varjoranta)
- d4342a8 Cleaning up redundant continue statements (@Bj0rnen)
- c11af6e Parallel Repairs
- 63b5cfb Fix condition for completed repair run (@Bj0rnen)
- 5fac9ed Fix getNextFreeSegmentInRange implementation in PostgresStorage (@Bj0rnen)
- 216157b Set thread name to cluster name in SegmentRunner (@Bj0rnen)
- 8569c4d add user error message for JMX auth failures (@varjoranta)
- 0d29753 introduced new jmx auth settings applied to jmx factory (@spodkowinski)
- e696db4 added jxm authentication example (@spodkowinski)
- 0a37f0e jmx proxy can now be created with optional username and password (@spodkowinski)
- #80 Web UI (@spodkowinski)
- #86 start development on 0.1.5 (@Yarin78)
- 2db3222 start development on 0.1.5 (@Yarin78)
- #85 release version 0.1.4 (@Yarin78)
- 059bdd4 release version 0.1.4 (@Yarin78)
- #84 Bj0rnen/cluster schedules (@spotify)
- #82 Fix bug causing entire repair run to fail if a node is down (@Yarin78)
- e9967e2 Allow scheduler to start a new run if a previous run had an error. (@Yarin78)
- #81 Abort repair runs (@spotify)
- ed21152 Fix bug causing entire repair run to fail if a node is down when terminating repair sessions (@Yarin78)
- 7ae5cca Add all-fields operator to RepairScheduleStatus (@Bj0rnen)
- f792f71 Add schedule status(es) to cluster status (@Bj0rnen)
- cb302a4 Minimal stylistic change (@Bj0rnen)
- 749478b Abort repair runs
- #79 When creating a repair, start it by default (@spotify)
- 95956b7 added support for serving web assets and CORS (@spodkowinski)
- d84d4a3 Update service-info.yaml (@rouzwawi)
- 1ab5b12 When creating a repair, start it by default
- #77 Include cluster name in each log line (@spotify)
- d70c1b2 Remove clusterName field from RepairStatusHandler (@Bj0rnen)
- abb60ac Include cluster name in each log line
- e68f70e start development on 0.1.4 (@Bj0rnen)
- 5a4eb25 release version 0.1.3 (@Bj0rnen)
- #76 Fix errors in cluster resource (@spotify)
- a62efbd Implement ordering and limiting of repair runs in MemoryStorage (@Bj0rnen)
- 5420853 Order repairs for a cluster by end_time and then start_time, descending. (@Bj0rnen)
- 1cf3cb0 Correct number of total segments per run returned by Postgres (@Bj0rnen)
- 19d342f Fix null vs empty list discrepancy between storage implementations (@Bj0rnen)
- 1645c45 Add seed_hosts field to ClusterStatus (@Bj0rnen)
- 32c38bb ClusterStatus takes a Cluster rather than only a name (@Bj0rnen)
- ddb1f36 ClusterResource GET correctly returns 404 on non-existing cluster (@Bj0rnen)
- e92cff4 Default limit on number of repair runs to show for a cluster is changed from 10 to MAX_INT (@Bj0rnen)
- 0e673cf Fix typo in a JSON property (@Bj0rnen)
- 151e6b3 start development on 0.1.3 (@Bj0rnen)
- f9a01bb release version 0.1.2 (@Bj0rnen)
- 9cc1a7b Update readme with cluster endpoint changes (@Bj0rnen)
- 7e852ea Add name property to ClusterStatus (@Bj0rnen)
- #75 Bj0rn/informative api (@spotify)
- 8b6ff4a Wrap CluserResource's responses in a simple ClusterStatus class (@Bj0rnen)
- 768d783 Remove hierarchy package - no longer used (@Bj0rnen)
- 2c7aa7b Cleanup (@Bj0rnen)
- 2842722 Merge branch 'bj0rn/InformativeAPI' of https://github.com/spotify/cassandra-reaper into bj0rn/InformativeAPI (@Bj0rnen)
- fffd90e Replace ClusterRun with RepairRunStatus (@Bj0rnen)
- a7649b8 Replace ClusterRun with RepairRunStatus (@Bj0rnen)
- 9a6bb2c Add all-fields constructor to RepairRunStatus (@Bj0rnen)
- 02a2c1f Add duration and ETA to RepairRunStatus (@Bj0rnen)
- e23de9f Added note (@Bj0rnen)
- 0d6bf98 Replaced cluster/x endpoint with summary of runs (@Bj0rnen)
- 2f9e90e Add /cluster/x/runs endpoint. Candidate for replacing /cluster/x (@Bj0rnen)
- 84a4f7c Reduce DateTime clutter (@Bj0rnen)
- b6f3715 Fix bug where paused schedules would get resumed when starting up reaper (@Bj0rnen)
- c3b5c14 Replace call to removed function in spreaper (@Bj0rnen)
- 34a5f05 Fix bug where paused schedules would get resumed when starting up reaper (@Bj0rnen)
- 87f82ed Temporary way to get hierarchy to display fields with underscores (@Bj0rnen)
- 7531b30 Add all fields from core classes to hierarchy classes (@Bj0rnen)
- 21a229d Remove unused imports (@Bj0rnen)
- 04b4263 Remove ClusterOverview (@Bj0rnen)
- 802c7e3 Provide a hierarchical view of Reaper's storage (@Bj0rnen)
- 7ca2628 WIP (@Bj0rnen)
- 9f83ccc Force segmentsRepaired to be set in RepairRunStatus (@Bj0rnen)
- 507f239 Replace call to removed function in spreaper (@Bj0rnen)
- a7d0a44 start new development on 0.1.2 (@Bj0rnen)
- b4944fb release version 0.1.1 (@Bj0rnen)
- #72 add repair run, schedule, and cluster deletion endpoints (@spotify)
- #71 Add service-info.yaml file (@rouzwawi)
- 2a1a165 Make tests reflect recent changes (@Bj0rnen)
- 9f5b796 add comment (@rouzwawi)
- #70 Bj0rnen/updated responses (@spotify)
- #69 Update last message in repair run with info about failing to connect to ... (@spotify)
- fec5dc6 Correctly handle segments that didn't need to repair (@Bj0rnen)
- d88d5f0 triggerRepair returns 0 on "nothing to repair", not failure (@Bj0rnen)
- e8cfdb8 Handle failed triggerRepair (@Bj0rnen)
- 9290c60 Fix bug with SESSION_FALED (@Bj0rnen)
- 466faad fix postgres related deletion feature bugs (@varjoranta)
- ac28426 add service-info.yaml file (@rouzwawi)
- b7886b4 remove obsolete sql clauses (@varjoranta)
- a080811 add schedule stop and start to spreaper cli (@varjoranta)
- 0c612c3 add repair run, schedule, and cluster deletion endpoints (@varjoranta)
- 8e23690 Comment clarification (@Bj0rnen)
- 3fd866c Make PUT endpoints output updated (not original) JSON (@Bj0rnen)
- #67 use validation annotations instead of assertions, minor refactoring (@spotify)
- 419621f config.repairIntensity cannot be 0, add test (@mattnworb)
- edba6f5 Update last message in repair run with info about failing to connect to a host (@Bj0rnen)
- #68 Log hostname/port of a host JMXProxy failed to connect to (@spotify)
- ece34af Log hostname/port of a host JMXProxy failed to connect to
- fc19a30 use joda-time's DateTimeFormatter for date conversion (@mattnworb)
- #66 Some refactorings (@spotify)
- 8e93566 use validation annotations for config validation (@mattnworb)
- 4f301a0 AppContext doesn't need to be static (@mattnworb)
- 0555999 refactor: Extract static methods from RepairRunner into RepairManager (@Yarin78)
- d8d272f Made CLI file executable (@Yarin78)
- da4c212 Add names to threadpools (@Yarin78)
- c86df78 minor documentation and spreaper docstring cleanup (@varjoranta)
- c788d23 Merge remote-tracking branch 'origin/zvo/list-all' (@varjoranta)
- #62 separate the CLI tool into separate package (@varjoranta)
- d2b9cf4 minor code cleanup regarding the custom JMX feature (@varjoranta)
- c245fa2 added jmxPorts config option description and example (@spodkowinski)
- 438e329 added jmxPorts to configuration, added jmx port lookup in con.factory (@spodkowinski)
- 7d66fbd Endpoints for listing repair runs and schedules
- #59 remove owner and cause arguments from wrong places (@varjoranta)
- 3960a4f separate the CLI tool into separate package (@varjoranta)
- 938c2f6 remove owner and cause arguments from wrong places (@varjoranta)
- 0fa0317 add explanation about current development phase in README (@varjoranta)
- #50 add python-requests as dependency of debian package for spreaper (@blablacar)
- 866df11 add python-requests as dependency of debian package for spreaper (@n0rad)
- #49 fix debian package depends from default to explicit java7 (@varjoranta)
- 0369d98 fix debian package depends from default to explicit java7 (@varjoranta)
- 0894581 start development on 1.0.1 (@varjoranta)
- #47 release 0.1.0 (@varjoranta)
- 8f3c175 release 0.1.0 (@varjoranta)
- 11e9c8a update run history for updated repair schedules (@varjoranta)
- #46 clean up the verbose scheduler logging (@varjoranta)
- f5f3755 clean up the verbose scheduler logging (@varjoranta)
- #45 repair scheduling (@spotify)
- ee33d35 fix bugs in scedule inserting and array mapping (@varjoranta)
- ae5cbe5 fix issue in mapping int SQL array to long array (@varjoranta)
- cb50e66 fix issue with mapping generic collections to different sql type arrays (@varjoranta)
- 5ae9e09 fix a bug in selecting schedules for a cluster (@varjoranta)
- de3416c fix bug in repair_schedule table name in SQL (@varjoranta)
- 1fe9160 add start for scheduling manager (@varjoranta)
- 7a86ff2 Allow pausing/resuming repair schedules (@Bj0rnen)
- 5ade480 add acceptance test for repair scheduling (@varjoranta)
- a1262b7 add documentation and spreaper schedule status command (@varjoranta)
- 8b236dd wip: added initial schedule resource, with some refactoring (@varjoranta)
- 90e4467 Fix time comparison error (@Bj0rnen)
- 6198337 Use ImmutableList for runHistory (@Bj0rnen)
- 55067c2 Fix duplicate intensity from merge (@Bj0rnen)
- 9b456be RepairSchedule implemented in storage (@Bj0rnen)
- afdd1c3 wip: refactor repair run management to separate class, use for scheduling (@varjoranta)
- 4081ecb wip: Add runHistory to RepairSchedule and fix missing fields in Builder's "copy constructor" (@Bj0rnen)
- 4f30af2 wip: continuing with scheduling manager using repair units (@varjoranta)
- 0ed38f7 First draft of RepairSchedule duplicating fields from RepairRun (@Bj0rnen)
- #43 Bj0rnen/mock jmx (@spotify)
- c2bda76 Conflicts: src/main/db/reaper_db.sql src/main/java/com/spotify/reaper/core/RepairRun.java src/main/java/com/spotify/reaper/resources/ReaperHealthCheck.java src/main/java/com/spotify/reaper/resources/RepairRunResource.java src/main/java/com/spotify/reaper/resources/view/RepairRunStatus.java src/main/java/com/spotify/reaper/storage/postgresql/IStoragePostgreSQL.java src/test/java/com/spotify/reaper/unit/resources/RepairRunResourceTest.java src/test/java/com/spotify/reaper/unit/service/RepairRunnerTest.java src/test/java/com/spotify/reaper/unit/service/SegmentRunnerTest.java (@Bj0rnen)
- d0ba8f8 Include cucumber test in junit tests (@Bj0rnen)
- 03ac3e9 Mock a JmxProxy that can report cluster name in acceptance test (@Bj0rnen)
- dd5d9d8 Unset currentlyRunningSegmentId when not running a segment (@Bj0rnen)
- 9473095 Fix printout with negative duration (@Bj0rnen)
- #42 move segments count and repair parallelism to repair_run (@varjoranta)
- ccecc2b add intensity parameter for the spreaper on repair (@varjoranta)
- 0f24d15 Include cucumber test in junit tests (@Bj0rnen)
- fc01b2d move segments count and repair parallelism to repair_run (@varjoranta)
- d5e7204 Mock a JmxProxy that can report cluster name in acceptance test (@Bj0rnen)
- 991682a add last_event to database model from repair run (@varjoranta)
- 81f1262 some refactoring on acceptance tests (@varjoranta)
- 25295c4 add acceptance tests, refactor Reaper to use context (@varjoranta)
- 20f4d43 Include last event info in a RepairRun(Status)
- #41 add acceptance test and rados changes (@varjoranta)
- ee5acdc some refactoring on acceptance tests (@varjoranta)
- 7ca9c14 add acceptance tests, refactor Reaper to use context (@varjoranta)
- 9d34227 add last_event to database model from repair run (@varjoranta)
- 0308a54 Include last event info in a RepairRun(Status)
- 6badbd0 Fix rounding bug by using float literals
- d4532f0 fix version compare to support revision strings in version (@varjoranta)
- 53c75f7 Unset currentlyRunningSegmentId when not running a segment (@Bj0rnen)
- #39 Fix rounding bug by using float literals (@spotify)
- d1093ab Fix rounding bug by using float literals
- #38 fix version compare to support revision strings in version (@varjoranta)
- 5bafa32 fix version compare to support revision strings in version (@varjoranta)
- 8847701 Fix printout with negative duration (@Bj0rnen)
- #37 Log unchecked exceptions thrown on RepairRunner threads (@spotify)
- b211e2f Log unchecked exceptions thrown on RepairRunner threads (@Bj0rnen)
- #36 improve user documentation regarding starting repairs (@varjoranta)
- a59d094 fix test setup for SegmentRunnerTest (@varjoranta)
- f323a09 improve some debug messages (@varjoranta)
- 9b9b8c5 Log actual cause of failed repair run (@Bj0rnen)
- d92bc99 Clarify log message (@Bj0rnen)
- 23fe075 fix failing tests after cluster name format change (@varjoranta)
- 7449274 improve user documentation regarding starting repairs (@varjoranta)
- da47813 Unset pause time when resuming run from pause (@Bj0rnen)
- #35 add repair parallelism as parameter to CLI and REST API (@varjoranta)
- f752bba fixed one failing test case (@varjoranta)
- 7bd43c5 add repair parallelism as parameter to CLI and REST API (@varjoranta)
- d710753 fix tests that relied on wrongly changed segment state (@varjoranta)
- d5f2df2 change into using Cassandra inbuilt RepairParallelism enum (@varjoranta)
- 610ffd6 update segments count after actual segments are created (@varjoranta)
- ef1044b fix an issue with utilising repair parallelism in DB (@varjoranta)
- #34 fixing spreaper for latest schema, fix few bugs also (@varjoranta)
- b2e388a change snapshot repair into repair parallelism (@varjoranta)
- 832dd67 fixed issues in repair triggering after latest changes (@varjoranta)
- 83a7cde fixing spreaper for latest schema, fix few bugs also (@varjoranta)
- #33 Bj0rnen/can repair (@spotify)
- 34bc971 Conflicts: src/main/java/com/spotify/reaper/cassandra/JmxProxy.java (@Bj0rnen)
- eff7f28 Check for already running anti-entropy sessions (@Bj0rnen)
- 2f7bbac Check for already running anti-entropy sessions (@Bj0rnen)
- 0da9b92 Conflicts: src/main/java/com/spotify/reaper/cassandra/JmxConnectionFactory.java src/main/java/com/spotify/reaper/service/SegmentRunner.java (@Bj0rnen)
- eee0bfd Consult all affected nodes about ongoing compactions (@Bj0rnen)
- #32 Bigger change to replace column family concept with repair unit (@spotify)
- f9db262 fix auto resuming repair runs (@varjoranta)
- 13839ec Conflicts: src/main/java/com/spotify/reaper/resources/RepairRunResource.java src/main/java/com/spotify/reaper/service/RepairRunner.java src/test/java/com/spotify/reaper/service/RepairRunnerTest.java (@varjoranta)
- 5bac856 fix MemoryStorage to return Optionals instead of nulls (@varjoranta)
- 2ed0643 Properly resume paused runs (@Bj0rnen)
- #31 Properly resume paused runs (@spotify)
- 3d6c1e8 WIP fixing tests, still missing resume tests (@varjoranta)
- 757cff2 Consult all affected nodes about ongoing compactions (@Bj0rnen)
- 953d167 Properly resume paused runs (@Bj0rnen)
- 666c5b5 WIP making the code compile, but errors in tests still (@varjoranta)
- 60a59fa WIP fixing postgresql layer (@varjoranta)
- b61a986 WIP done fixing MemoryStorage (@Bj0rnen)
- 4bc7880 Track time when a repair run is paused (@Bj0rnen)
- 6b2515a WIP fixing the RepairRunner (@varjoranta)
- 5e35e6e Conflicts: src/main/java/com/spotify/reaper/core/RepairSegment.java src/main/java/com/spotify/reaper/resources/RepairRunResource.java src/main/java/com/spotify/reaper/service/RepairRunner.java (@varjoranta)
- 27406da WIP continues 1 (@varjoranta)
- 90608df WIP removing column family concept (@varjoranta)
- c01bef2 WIP still ongoing (@varjoranta)
- #30 Bj0rnen/segment coordinator (@spotify)
- cca2305 WIP still ongoing (@varjoranta)
- 163879e Don't make JmxProxy serializable (@Bj0rnen)
- eca1eaa WIP removing column family concept (@varjoranta)
- 9d96dab Abort repairs of segments marked as RUNNING when resuming repair runs (@Bj0rnen)
- ff43121 Track coordinator for running repair segments (@Bj0rnen)
- #29 Remove the unused ERROR state from RepairSegment (@spotify)
- 3be109d Remove the unused ERROR state from RepairSegment (@Bj0rnen)
- #28 cleanup spreaper and other minor user feedback changes (@varjoranta)
- 9c6c0b5 cleanup spreaper and other minor user feedback changes (@varjoranta)
- 1a1289a Minor code tweaks (@Bj0rnen)
- #27 Add endpoints for starting, pausing and resuming a repair run. (@spotify)
- 02bbf29 Add endpoints for starting, pausing and resuming a repair run.
- #26 Bj0rnen/can repair (@spotify)
- b7825db Update README.md (@rzvoncek)
- e4ee887 Add check for whether a repair should be run on a segment (@Bj0rnen)
- 75d6924 Refactor SegmentRunner, moving logic out of constructor (@Bj0rnen)
- #25 add fail count for repair segment (@varjoranta)
- 88bb14b add fail count for repair segment (@varjoranta)
- #24 Zvo/add run endpoint (@spotify)
- c8a0ed9 Reworked the CLI to match previous changes in Resources
- 0d530bc improve the README (@varjoranta)
- 367ad98 Move add/trigger repair run to RepairRunResource
- 4d70e23 Use futures to make test failures propagate to main thread (@Bj0rnen)
- 9be7f3f Fix test compile error (@Bj0rnen)
- #23 Bj0rnen/segment runner (@spotify)
- 8720806 Implementation and tests for a SegmentRunner (@Bj0rnen)
- 555ffdc Reimplement RepairRunner using SegmentRunner (@Bj0rnen)
- e0c2bc5 Complete test coverage of SegmentRunner (@Bj0rnen)
- 8a256b1 Reimplement RepairRunner using SegmentRunner (@Bj0rnen)
- #22 Cleanup of PG storage related classes (@spotify)
- #21 Unit tests for RingRange and ClusterResource (@spotify)
- 30cb52a Cleanup of PG storage related classes
- f24a828 Conflicts: src/main/java/com/spotify/reaper/resources/TableResource.java src/test/java/com/spotify/reaper/service/SegmentRunnerTest.java (@Bj0rnen)
- 47f2b4e Unit tests for RingRange and ClusterResource
- a5735c2 Complete test coverage of SegmentRunner (@Bj0rnen)
- 2c54161 Implementation and tests for a SegmentRunner (@Bj0rnen)
- #20 Zvo/jmx features (@spotify)
- 22cf5f6 Implementation and tests for a SegmentRunner (@Bj0rnen)
- 1ed554c Check for table existance
- 5825959 Expose cancelling all repairs to JmxProxy
- b45ff49 Fetch pending compactions via JMX
- b2c2e9f Make JmxProxy.connect static once again (@Bj0rnen)
- #19 Refactored TableResource (includes unit tests) (@spotify)
- 4c59bde Refactored TableResource (includes unit tests)
- 4a4ee2e Make repairCommandID in RepairSegment nullable (@Bj0rnen)
- 84c67c1 Factor out RepairRunner.handleRunningRepairSegments (@Bj0rnen)
- 3e97386 Syntactical cleanup (@Bj0rnen)
- #18 Bj0rnen/pre post design (@spotify)
- 314af93 Conflicts: src/test/java/com/spotify/reaper/service/RepairRunnerTest.java (@Bj0rnen)
- 95f1d5a Fix compile errors (@Bj0rnen)
- ec2635a Change code flow in RepairRunner to centralize handling of all repair outcomes (@Bj0rnen)
- 49e778c Add JmxConnectionFactory (@Bj0rnen)
- 7afbb81 Optimize imports (@Bj0rnen)
- a6577e2 Complete hanging repair test case (@Bj0rnen)
- f3e3a00 [WIP] add test for hanging repairs (@Bj0rnen)
- 2da8630 Keep an open JMX connection in RepairRunner at all times (@Bj0rnen)
- #17 Cleanup CLI (@spotify)
- ab4423c Add JmxConnectionFactory (@Bj0rnen)
- a98c2f9 Optimize imports (@Bj0rnen)
- 58d8a38 Make config use minutes for timeouts, while code uses seconds (@Bj0rnen)
- 87d9f3a Complete hanging repair test case (@Bj0rnen)
- c42f702 Keep an open JMX connection in RepairRunner at all times (@Bj0rnen)
- 5fbc3e8 [WIP] add test for hanging repairs (@Bj0rnen)
- acc8aca Change code flow in RepairRunner to centralize handling of all repair outcomes (@Bj0rnen)
- eb2eb01 Cleanup CLI
- 7a4e30e Conflicts: src/main/java/com/spotify/reaper/resources/TableResource.java src/main/java/com/spotify/reaper/service/RepairRunner.java src/test/java/com/spotify/reaper/service/RepairRunnerTest.java (@Bj0rnen)
- f82cc0e Add JmxConnectionFactory (@Bj0rnen)
- 31ded88 Remove redundancy in a test (@Bj0rnen)
- d632a50 Pass runId to addRepairSegments (@Bj0rnen)
- #15 Code style cleanup (@spotify)
- a0bac85 Optimize imports (@Bj0rnen)
- 2e772e3 Make config use minutes for timeouts, while code uses seconds (@Bj0rnen)
- 9cd3461 Complete hanging repair test case (@Bj0rnen)
- a19ddfb Code style cleanup
- 4c8ccb7 [WIP] add test for hanging repairs (@Bj0rnen)
- 7e04424 Merge branch 'master' into Bj0rnen/sustainJMX (@Bj0rnen)
- c66544c Keep an open JMX connection in RepairRunner at all times (@Bj0rnen)
- 0009be5 Remove "Simple" in SimpleRepairRunnerTest too (@Bj0rnen)
- 3675ca3 Rename SimpleRepairRunner to RepairRunner (@Bj0rnen)
- fca4951 fixing repair resume after restart (@varjoranta)
- 31aab0c add HUP signal handler skeleton (@varjoranta)
- 79324c8 Merge branch 'zvo/setStartEndTime' (@varjoranta)
- cace66c Set repair run start and end time
- 2a08e08 make repair timeout configurable (@varjoranta)
- 5987787 add upstart support and bump debian version (@varjoranta)
- 8357b65 Use correct instert statement when inserting repair segments
- 2ab352e add SQL for dropping existing database for cleanup purposes (@varjoranta)
- 170bbf6 Fix wrong default JMX port (@Bj0rnen)
- fe3e1fc Fix two bugs in SimpleRepairRunner and remove old RepairRunner (@Bj0rnen)
- e360ac9 Stop using RepairRunner (@Bj0rnen)
- #13 Bj0rnen/simple repair runner (@spotify)
- b65514b Update repairCommandId in storage (@Bj0rnen)
- abb47d5 The SimpleRepairRunner with the ability to handle service restart and repair timeouts (@Bj0rnen)
- f22f681 Core classes now have a more neat way of getting copies with new values (@Bj0rnen)
- #12 add methods for getting running repair runs (@varjoranta)
- b197b7e add methods for getting running repair runs (@varjoranta)
- #11 separate view objects for REST API from core objects (@varjoranta)
- f01e4ed separate view objects for REST API from core objects (@varjoranta)
- #10 fix database interface issue on batch insert return type (@varjoranta)
- 6e7f361 add more status and listing commands to CLI (@varjoranta)
- 1b8db3a fix database interface issue on batch insert return type (@varjoranta)
- #9 fix storage layer issues, readme, and improve cli (@varjoranta)
- 8c6ea31 fix database storage layer related issues (@varjoranta)
- 66ea9d6 improving the spreaper CLI (@varjoranta)
- d904d1c fix some readme formatting issues (@varjoranta)
- #8 Connect to valid coordinator when triggering repair (@spotify)
- cb3cb09 Connect to valid coordinator when triggering repair (@Bj0rnen)
- #7 update README (@varjoranta)
- 2b85fe4 update README (@varjoranta)
- #6 fixed Postgres related storage issues (@varjoranta)
- 8de0139 fixed Postgres related storage issues (@varjoranta)
- #5 Update README.md (@echoajohnson)
- eb8f38d Update README.md (@echoajohnson)
- 143e457 A new type RingRange represents token ranges (@Bj0rnen)
- 1f5b7c2 add list all clusters endpoint (@varjoranta)
- 470fef1 add initial reaper CLI Python executable (@varjoranta)
- dced10f rename host parameter to seedHost on cluster resource (@varjoranta)
- 891c9e5 ISO 8601 formatted JSON for RepairRun (@Bj0rnen)
- 4eb44a6 Increment RepairRun.completedSegments on finished segment (@Bj0rnen)
- be31956 Add and initialize (total/completed)SegmentCount in RepairRun (@Bj0rnen)
- 67b39cc Remove reparirRunLock from RepairRun (@Bj0rnen)
- 8128d96 Synchronize RepairRunner methods that may conflict (@Bj0rnen)
- 800a24a [healthcheck] added basic healthcheck for storage connectivity (@varjoranta)
- d5b61b4 Add RepairRun GET resource (@Bj0rnen)
- d5a6d09 finished initial postgresql storage implementation (@varjoranta)
- e0ac9f0 RepairRunner respects intensity (@Bj0rnen)
- 5f54c7a [storage] add more of postgres storage implementation (@varjoranta)
- e246274 Update a faulty copyright year (@Bj0rnen)
- 13dd50a Add license (@Bj0rnen)
- 9f8aa80 Found code that's never reached (@Bj0rnen)
- 83bea6c Fix numerous bugs (@Bj0rnen)
- 9c149e4 First working repair run (@Bj0rnen)
- a4a6c25 Fix bug where addTable crashes when called a second time with the same table (@Bj0rnen)
- ce19e16 small fixes of conditions (@Bj0rnen)
- 021b69e finished initial repair runner implementation (@varjoranta)
- 6ecc29c almost finished the runner implementation, still wip (@varjoranta)
- 1281a1a Implement all IStorage methods in MemoryStorage (@Bj0rnen)
- 98369db add more RepairRunner implementation, still wip (@varjoranta)
- ad5fafc adding initial RepairRunner implementation, wip (@varjoranta)
- 6318037 addRepairSegments takes builders (@Bj0rnen)
- eb3c1c8 Major overhaul of core types. (@Bj0rnen)
- e6ff918 add initial skeleton of repair runner (@varjoranta)
- aa86dca cleaning up the storage API to be consistent (@varjoranta)
- 0928b5f Create repairRun and generate repairSegments on call for manual repairRun (@Bj0rnen)
- 52ed592 Remove list of repairSegments from repairRun (@Bj0rnen)
- 5d29a6d Report on attempt to add same cluster again (@Bj0rnen)
- b97086b Convert tokens to BigInteger (@Bj0rnen)
- dfb602d Repair ranges are exclusive-inclusive rather than inclusive-exclusive (@Bj0rnen)
- a84ee3f add first implementation of table resource, removed strategy (@varjoranta)
- 443b5b7 fix existing resource skeleton and database schema for cluster (@varjoranta)
- d778b18 added back wrongly deleted class JmxProxy (@varjoranta)
- 1e1229a Conflicts: src/main/java/com/spotify/reaper/cassandra/ClusterInfo.java src/main/java/com/spotify/reaper/cassandra/IClusterInfo.java src/main/java/com/spotify/reaper/cassandra/JMXProxy.java (@varjoranta)
- c205c35 Add method for converting cluster name to symbolic name valid for URLs (@Bj0rnen)
- 3296e8e JmxProxy class responsible for communication between Reaper and Cassandra
- 3f69dbe Renamed *Builder classes (@Bj0rnen)
- 7ce4381 add server parameters and postgres dependency (@varjoranta)
- e7c863b Simple in-memory storage (@Bj0rnen)
- b01ffb3 Don't require name in POST for /cluster (@Bj0rnen)
- cb02702 wip, continue implementation of cluster resource (@varjoranta)
- #3 Bj0rnen/total segment count (@spotify)
- cd0c28a New tests and safety checks for the new generateSegments (@Bj0rnen)
- b433a86 Let generateSegments take total number of segments instead of segments per subrange (@Bj0rnen)
- c19968b add initial storage implementation skeleton (@varjoranta)
- 0c50b4e Merge branch 'zvo/get-tokens' (@Bj0rnen)
- 1b88d4f Conflicts: src/main/java/com/spotify/reaper/core/RepairSegment.java (@Bj0rnen)
- 5dc93ab Getters and builders for all core classes (@Bj0rnen)
- 2649855 Generating repair segments
- #1 Add fields to core classes (@Bj0rnen)
- cf7edd4 Add fields to core classes (@Bj0rnen)
- 297ab0d Added JMX client who can fetch tokens from the ring
- 3b1eed2 add skeleton implementation for storage and repair strategies (@varjoranta)
- 7090fda add basic Travis configuration (@varjoranta)
- 5dfe868 Increase logging level (@Bj0rnen)
- bcf1966 add maintainer and uploaders for debian package (@varjoranta)
- 4b19ae8 Add configuration plus logging (@Bj0rnen)
- dada348 Add resource skeletons (@Bj0rnen)
- 1517782 Add 'server' argument when starting the App.
- 7da611c remove unneeded supervision build line from debian rules (@varjoranta)
- b663b94 Remove spotify-settings.xml dependency from mvn (@varjoranta)
- e9dc5d3 fix maven dependency (@varjoranta)
- d2c04a7 Fix broken maven dependency (@Bj0rnen)
- 3dfcd52 Added binary (@Bj0rnen)
- 04e9c32 Initial build (@Bj0rnen)
- a9facf3 [dropwizard] initial dropwizard application skeleton (@varjoranta)