Skip to content

Latest commit

 

History

History
848 lines (819 loc) · 130 KB

CHANGELOG.md

File metadata and controls

848 lines (819 loc) · 130 KB

Change Log

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)