Skip to content

Latest commit

 

History

History
1375 lines (1298 loc) · 208 KB

CHANGELOG.md

File metadata and controls

1375 lines (1298 loc) · 208 KB

Change Log

3.6.1 (2024/06/11 07:14 +00:00)

  • #1507 Allow mounting a volume to host the config and enable read only root FS (#1507) (@adejanovski)

3.6.0 (2024/04/18 08:53 +00:00)

  • #1500 Upgrade snakeyaml (#1500) (@emerkle826)
  • #1499 Update Dockerfile to specify restricted Java temp directory (#1499) (@emerkle826)
  • #1498 Update Dockerfile base image (#1498) (@emerkle826)
  • #1492 Fix High/Critical CVEs (#1492) (@emerkle826)
  • #1484 Add EclipseStore to memory storage for persistence (#1484) (@emerkle826)
  • #1481 Upgrade dropwizard.version to 2.1.12 (#1481) (@FieteO)
  • #1482 Generate SHA256 digests when packaging RPM files. (#1482) (@ernstae)
  • #1478 Ignore repair_run_by_cluster_v2 rows with no corresponding repair (#1478) (@SesquipedalianDefenestrator)
  • #1479 Improve idempotency of db creation scripts (#1479) (@FieteO)
  • #1477 Set segment count per node to consistent value across defaults and docs (#1477) (@SesquipedalianDefenestrator)
  • #1470 Fix spelling (#1470) (@Hagfjall)

3.5.0 (2024/02/22 08:49 +00:00)

  • #1467 Add dotenv dependency to the build image (#1467) (@adejanovski)
  • #1466 Watch the keystore and truststore directories for changes (#1466) (@burmanm)
  • #1415 Add mTLS settings to ApiClient (#1415) (@burmanm)
  • #1459 Fix webui login not working in some cases (#1459) (@adejanovski)
  • #1453 Pin CI to python 3.11 (#1453) (@adejanovski)
  • #1267 Don't strip dash and underscore from metrics' tags (#1267) (@max-melentyev)
  • #1443 Remove duplicated setTimeout in error callback (#1443) (@upsilon2gamma)

3.4.0 (2023/10/25 08:12 +00:00)

  • #1433 Filter out Stargate/coordinator nodes from calls to get live nodes or list tokens (#1433) (@adejanovski)
  • 3912a6c Update Management API cleint to v0.1.70 (@emerkle826)
  • #1428 Add default REAPER_HTTP_MANAGEMENT_ENABLE="false" value to Docker environment (@Miles-Garnsey)
  • #1356 HTTP Management Proxy Implementation (#1356) (@Miles-Garnsey)

3.3.4 (2023/10/05 15:30 +00:00)

  • #1418 Build arm64 images (#1418) (@adejanovski)

3.3.3 (2023/07/20 07:30 +00:00)

  • #1320 Fix cluster name check in repair concurrency control (#1320) (@adejanovski)

3.3.2 (2023/06/22 06:31 +00:00)

  • #1310 Add missing Astra migrations (#1310) (@adejanovski)
  • #1306 Further storage refactoring (#1306) (@Miles-Garnsey)
  • #1307 Fix issues when listing repair runs using state priorities (#1307) (@adejanovski)
  • #1294 Refactor CassandraStorage (#1294) (@Miles-Garnsey)

3.3.1 (2023/04/05 08:43 +00:00)

  • 2b22d4b Revert change in shiro.ini that would break UI auth (@adejanovski)

3.3.0 (2023/03/29 10:05 +00:00)

  • #1262 Improve status reporting in UI (#1262) (@Miles-Garnsey)
  • #1277 Fixes the release process as we're now building packages for no specific target architecture (#1277) (@adejanovski)
  • #1255 Fix mapping of repairProgress metrics (#1255) (@max-melentyev)
  • #1270 Fix running concurrent repairs on different clusters (#1270) (@max-melentyev)
  • #1273 Changes Exception to a Reaper Exception (#1273) (@xgerman)
  • #1274 Fix docker-build (#1274) (@max-melentyev)
  • #1256 Add composite actions (#1256) (@taku333)
  • #1254 Properly expire shiro sessions after timeout (#1254) (@adejanovski)
  • 4e53064 Ninja fix missing license header (@adejanovski)
  • #1244 Allow for OPTIONS requests to be passed through auth filters (#1244) (@jdonenine)

3.2.1 (2022/11/16 13:52 +00:00)

  • #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])

3.2.0 (2022/07/12 07:54 +00:00)

  • #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)

3.1.1 (2022/02/10 13:32 +00:00)

  • 5b1cde6 Add a way to skip schema migrations (@adejanovski)

3.1.0 (2021/12/14 10:15 +00:00)

  • #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)

3.0.0 (2021/10/29 09:48 +00:00)

  • 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)

2.3.1 (2021/07/10 05:10 +00:00)

  • 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)

2.3.0 (2021/07/08 14:52 +00:00)

  • 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)

2.2.4 (2021/04/09 07:33 +00:00)

  • 2430f1f Batch metric inserts by partition to reduce Reaper write throughput (@adejanovski)
  • 7765cbe Limit repair runners per cluster instead of globally (@adejanovski)

2.2.3 (2021/03/26 08:28 +00:00)

  • 9a3d110 Fix segment count per node not being correctly accounted for in schedules (@adejanovski)

2.2.2 (2021/03/09 17:24 +00:00)

  • 9083694 Fix EACH and LOCAL modes (@adejanovski)
  • e200a03 Add EACH integration tests for Cassandra and Postgres (@adejanovski)

2.2.1 (2021/02/24 14:14 +00:00)

  • 6beea94 Fix hardcoded keyspace names and bad pgsql cluster mapping (@adejanovski)
  • 5fc5677 Further reduce the number of LWTs involved in segment orchestration (@adejanovski)

2.2.0 (2021/02/22 06:17 +00:00)

  • 26c710b New segment orchestration with concurrent repairs. (@adejanovski)
  • bb797a3 Fix the redirect for the custom ingress path, post Reaper UI login (@Jenishk56)

2.1.3 (2020/12/22 13:08 +00:00)

  • 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)

2.1.2 (2020/11/03 04:41 +00:00)

  • f1c29f6 [UI] Fix switching between clusters in the repair/schedule screens (@adejanovski)

2.1.1 (2020/10/22 15:25 +00:00)

  • 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)

2.1.0 (2020/10/15 14:22 +00:00)

  • 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)

2.0.5 (2020/06/19 06:56 +00:00)

  • 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)

2.0.4 (2020/04/10 12:43 +00:00)

  • 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)

2.0.3 (2020/03/02 06:12 +00:00)

  • 7774e4e Fix large partitions in the metrics v2 table for the sidecar (@adejanovski)
  • 05e5f32 Avoid aborting repair segments too early. (@smarsching)

2.0.2 (2020/01/13 06:37 +00:00)

  • 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)

2.0.1 (2019/12/18 12:48 +00:00)

  • 72b7fd5 Fix the dockerfile issues along with Shiro when postgres is used as storage backend (@adejanovski)
  • 797fd78 fix regression caused by PR 783 (@jsanda)

2.0 (2019/12/06 06:25 +00:00)

  • 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)

1.4.8 (2019/11/15 09:05 +00:00)

  • 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)

1.4.7 (2019/10/16 13:18 +00:00)

  • bb39388 Fix metric naming to allow long term tracking of repairs. (@adejanovski)
  • 68f92a4 Cluster view UI reorg (@adejanovski)

1.4.6 (2019/09/02 16:12 +00:00)

  • bf18681 Fix deploy phase (@adejanovski)

1.4.5 (2019/08/23 15:36 +00:00)

  • 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)

1.4.4 (2019/05/28 09:21 +00:00)

  • 47322c1 Fix for NPE when a segment is aborted (@adejanovski)

1.4.3 (2019/05/21 00:43 +00:00)

  • 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)

1.4.2 (2019/05/07 06:31 +00:00)

  • 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)

1.4.1 (2019/02/15 13:49 +00:00)

  • 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)

1.4.0 (2019/02/11 11:10 +00:00)

  • 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)

1.3.0 (2018/10/03 14:09 +00:00)

  • 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)

1.2.2 (2018/07/25 10:50 +00:00)

  • ae42bab Fix Istorage.getRepairUnitDao().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)

1.2.1 (2018/07/12 16:55 +00:00)

  • 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)

1.2.0 (2018/07/06 15:07 +00:00)

  • 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.getRepairUnitDao().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)

1.1.0 (2018/02/28 19:30 +00:00)

  • 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)

1.0.2 (2017/12/07 18:06 +00:00)

  • 5c9ca98 Ugly shameful fix for the endTime/startTime infamous bug (@adejanovski)

1.0.1 (2017/11/26 11:15 +00:00)

  • 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 into SegmentRunner.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)

1.0.0 (2017/11/14 20:58 +00:00)

  • ba9ca5f Release 1.0.0 final (@adejanovski)

1.0.0-RC3 (2017/11/13 10:01 +00:00)

  • 91b2737 Ninja fix to have Reaper work with 2.0 again (@adejanovski)

1.0.0-RC2 (2017/11/09 16:50 +00:00)

  • 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)

1.0.0-RC1 (2017/11/03 11:44 +00:00)

  • 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)

0.7.1 (2017/10/27 11:53 +00:00)

  • a78d677 Fix issue with pre-2.1.10 versions of Cassandra that don't have the SS.getHostIdToEndpoint() op (@adejanovski)

0.7.0 (2017/09/22 14:35 +00:00)

  • 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)

0.7.0-beta-25082017 (2017/08/23 21:40 +00:00)

  • 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() or SegmentRunner.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(..) as getNextFreeSegmentInRange(..) 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)

0.6.2 (2017/08/22 13:37 +00:00)

  • 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)

0.6.1 (2017/06/08 15:39 +00:00)

  • 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)

0.6.0 (2017/06/01 14:41 +00:00)

  • 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)

0.5.0 (2017/03/17 08:57 +00:00)

  • 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)

0.4.1 (2017/03/03 14:49 +00:00)

  • 3334115 Release 0.4.1 (@adejanovski)
  • #53 Fix getting metrics for pending compactions and active/pending repair… (#53) (@adejanovski)

v0.4.0 (2017/02/23 11:02 +00:00)

  • 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)

0.3.1 (2017/01/17 10:38 +00:00)

  • 033ac3d fixed reaper class path (@rustyrazorblade)

0.3.0 (2017/01/05 13:11 +00:00)

  • #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)

v0.3.0 (2016/10/13 23:22 +00:00)

  • 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)

v0.2.3 (2015/11/16 15:51 +00:00)

  • 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)

v0.2.2 (2015/08/28 11:50 +00:00)

  • 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)

v0.2.1 (2015/05/06 13:14 +00:00)

  • 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)

v0.2.0 (2015/04/10 14:06 +00:00)

  • 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)

v0.1.4 (2015/04/08 16:08 +00:00)

  • 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)

v0.1.3 (2015/03/24 17:02 +00:00)

  • 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)

v0.1.2 (2015/03/17 17:22 +00:00)

  • 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)

v0.1.1 (2015/02/27 10:38 +00:00)

  • 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)

v0.1.0 (2015/02/13 11:44 +00:00)

  • 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)