- 5c9ca98 Ugly shameful fix for the endTime/startTime infamous bug (@adejanovski)
- e3b2cd7 Fix for Elassandra's gossip info output parsing (@adejanovski)
- 5a14d92 Duplicate the Migration009 script so it can run again to fix missing RepairSegment startTimes (@michaelsembwever)
- b56ce12 breakup the
SegmentRunner.runRepair(..)
method, the bulk of the body going intoSegmentRunner.processTriggeredSegment(..)
(@michaelsembwever) - f9ea67e if endTime is set, so must startTime be set #281 (@michaelsembwever)
- 2d386b7 Revert "Remove precondition checks that break Reaper when endTime/startTime are inconsistently set" (@michaelsembwever)
- ed418ce Remove precondition checks that break Reaper when endTime/startTime are inconsistently set (@adejanovski)
- ba9ca5f Release 1.0.0 final (@adejanovski)
- 91b2737 Ninja fix to have Reaper work with 2.0 again (@adejanovski)
- 02e53d0 Should resolve current Docker image issues (@joaquincasares)
- d75ba7b Don't log every jmx connection failure within JmxProxyImpl. The thrown exception is logged appropriately when caught. (@michaelsembwever)
- 5d3d469 enable assertions by default when running Reaper. (@michaelsembwever)
- 257bab2 Fix typo: endabled -> enabled (@SaaldjorMike)
-
dc9c00d Pulled back the "database" setting for storage type to ensure backwards compatibility (@adejanovski)
-
92a120c Split 'database' configuration setting (@ossarga)
-
1c64c1a Minimal fix for test failure as in described in thelastpickle#266 (@michaelsembwever)
-
42c4c14 Add a doc page about multi DC clusters (@adejanovski)
-
13d9246 Merge branch 'master' of https://github.com/thelastpickle/cassandra-reaper (@adejanovski)
-
10d3b02 Fix maven ui build with absolute path in pom instead of relative (@adejanovski)
-
8241eab fixed ignore for packages (@rustyrazorblade)
-
c0a4b7a Add version number in the UI (@adejanovski)
-
c85e43c Automating release process using rultor (@velo)
-
619b28a Correct cassandra storage table properties. Always enable the key cache, and disable all read_repairs. (@michaelsembwever)
-
e5dbedf Remove localMode configuration and logic, as it's not actually implemented yet. (@michaelsembwever)
-
91e5464 Fix repair_segment table start_time/end_time/state consistency (@adejanovski)
-
d6e5a10 Remove NULLs in RepairSegments stored in Cassandra. (@michaelsembwever)
-
20f5558 Fix issue with upgrades on postgres and h2 when coming from pre-0.8 versions (@adejanovski)
-
#256 Add metrics for repair progress + time since last repair. Fixes #207. (@thelastpickle)
-
2decdde dawdle duckling to 41ecc2b : node_metrics_v1.minute is a bigint (long) (@michaelsembwever)
-
ee37c5a Add metrics for repair progress + time since last repair. Fixes #207. (@rzvoncek)
-
41ecc2b Add request mechanism for metrics to allow datacenterAvailability = EACH to work properly on large clusters (@adejanovski)
-
ad41d64 Refactor test packages to match the runtime packages. Reduce class and methods visibilities where possible. (@michaelsembwever)
-
d6a8eb4 Cleanup naming: use "node" consistently, in place of "host". (@michaelsembwever)
-
ff19c38 Make RepairManager and Heart hold the AppContext as a field, rather than a parameter to all methods. (@michaelsembwever)
-
83d5528 Break apart CommonTools. Its methods put it correct peer classes, or into new service classes. (@michaelsembwever)
-
c572e57 Give datacenterAvailability = EACH better chances to work, through requesting for and updating node metrics for running repairs, as part of heartbeat. (@michaelsembwever)
-
2b806d3 Unit tests for Heart (@michaelsembwever)
-
27b8038 set heap sizes for travis builds to the same as circleci (which displays better stability) (@michaelsembwever)
-
f188f92 Rebuilt docs (@ossarga)
-
6f10a47 Updated configuration docs and Docker envs (@ossarga)
-
40e852d Fix minor UI issues with autocomplete fields (@adejanovski)
-
8bf9aae UI changes for the new segment count per node (@adejanovski)
-
f3de7a3 Switch from a global segment count to a segment count per node (@adejanovski)
-
a8aae66 Fix browser cache issues when the UI evolves. (@adejanovski)
-
e717ad8 For Cassandra storage minimise the number of tombstones (NULL entries) in the repair_run table. (@michaelsembwever)
-
22afbdb Fix JmxConnectionFactory.connectAny(..) to loop a second time trying all hosts regardless of past successes/failures. (@michaelsembwever)
-
e899534 Doc fix for correct docker build commands (@michaelsembwever)
-
#228 Create CODE_OF_CONDUCT.md (#228) (@michaelsembwever)
-
9227f61 Fix NPE in CassandraStorage, when a read times out and the statement is null. (@michaelsembwever)
-
7b56121 Fix assertions around schedules, as the jersey response need not be successful, and then a correct response has to be waited for. (@michaelsembwever)
-
ea655b3 the integration-test profile is not used anywhere anymore. remove it. (@michaelsembwever)
-
6073a01 Cleanup classes and tests in the io.cassandrareaper.jmx pacakge (@michaelsembwever)
-
e2cf31c Update Dockerfile (@elsmorian)
-
630257d Update cassandra-reaper.yml (@elsmorian)
-
cfe3040 Add logic for handling table blacklists (@adejanovski)
-
6b6b785 Add REST endpoint for listing tables from a cluster (@adejanovski)
-
7078584 UI changes for blacklisted tables and other minor improvements (@adejanovski)
-
4c3ece2 Schema changes for blacklisted tables (@adejanovski)
-
f342866 Add to checkstyle the ConstantName rule. All static final fields are to be UPPER_CASE. (@michaelsembwever)
-
7dc2316 In cassandra storage override pooling options to allow bigger queue and longer timeout. (@michaelsembwever)
-
e42ca22 Add useAddressTranslator and localDC Docker envar support (@joaquincasares)
-
ce8e4e2 Fix yaml reference text (@joaquincasares)
-
b30652c Add for Docker, which defaults to 20s, based on the code default (@joaquincasares)
-
bdb0bd1 Fix for properly handling reboots of Reaper instances with distributed storage (@adejanovski)
-
b975c39 rebuilt docs (@rustyrazorblade)
-
#218 Docs usage section (#218) (@rustyrazorblade)
-
aff6d33 Add useAddressTranslator info in the docs (@adejanovski)
-
26bc722 Add JMX connection test for the whole cluster on init to speed up subsequent connections (@adejanovski)
-
3f4f09e Fix bugs detected by error prone (@adejanovski)
-
354fe59 Ignore any AssertionError trying to releaseLead() when handling a jmx ABORT|ERROR|SESSION_FAILED notification. (@michaelsembwever)
-
2aff661 Increase timeouts for SegmentRunner in SegmentRunnerTest. (@michaelsembwever)
-
61a8ac4 Rename package from com.spotify.reaper to io.cassandrareaper (@adejanovski)
-
8d2846e regen site (@rustyrazorblade)
-
d1a5aa6 fixed download links and docker link (@rustyrazorblade)
-
fb171d9 Changes requested by Alex (@rustyrazorblade)
-
ff6b3ab Format java files to suit checkstyle rules. (@michaelsembwever)
-
9f2b7bb add maven-checkstyle-plugin and a ruleset based off google's codestyle (which seems to be what Spotify was using). (@michaelsembwever)
-
f40e87d fixed packages gitignore and page (@rustyrazorblade)
-
92ab864 rebuild website (@rustyrazorblade)
-
#203 Improving docs (#203) (@rustyrazorblade)
-
6eb7f9a Fix retry policy NPE errors and disable assertions in packaged installs (@adejanovski)
-
eebc3d2 Fix hanging calls when resuming pending repair runs (@adejanovski)
-
2971e07 Add debug logs for potential coordinator selection (@adejanovski)
-
e1e436d Add support to run repair on specific nodes or specific datacenter (@adejanovski)
-
c483b8d Add tag list inputs for nodes and datacenters in both repair and schedule forms (@adejanovski)
-
ae8bce7 Bump version number to 0.8.0 (@adejanovski)
- a78d677 Fix issue with pre-2.1.10 versions of Cassandra that don't have the SS.getHostIdToEndpoint() op (@adejanovski)
- 54f8230 fix typo on release generation when creating tags (@adejanovski)
- 01eae06 0.7.0 release (@adejanovski)
- c4cb627 Fix flaky test due to shared mock object between tests (@adejanovski)
- 89cd6bc Change default configurations for more safety. (@adejanovski)
- 1416ef9 Fixes assertion error, when timed out segment repairs are still getting jmx notifications. (@michaelsembwever)
- 1d2cf15 Regenerated website content (@ossarga)
- 683cb8c Doc fix to be specific about from where we run the docker-compose command since that is not immediately apparent (@zznate)
- bf24736 Refactored Travis to allow parallel Docker builds (@ossarga)
- 3699509 Make asserts on schedules existing (having been created) eventual, as this is done by design eventually. (@michaelsembwever)
- d85d438 Added Docker SSL encryption example (@ossarga)
- 080c30c Add support for AllEndpointStates output in pre-2.2 versions (@adejanovski)
- be745f6 Updates to Docker packaging to fix structure and flexibility (@ossarga)
- 536ddc6 Document in requirement to CREATE the reaper_db keyspace (@rustyrazorblade)
- d313813 showing google we own it (@rustyrazorblade)
- bafb9c4 added robots.txt to allow full indexing (@rustyrazorblade)
- bd7c24b Docker Cassandra configuration update (@ossarga)
- f677b33 Fixed broken link (@rustyrazorblade)
- 9e6665d Removed dead link to backends (@rustyrazorblade)
- e8351ad Merge branch 'master' of github.com:thelastpickle/cassandra-reaper (@rustyrazorblade)
- 7d46c51 Needed to serve the site correctly (@rustyrazorblade)
- c3a950b Create CNAME (@rustyrazorblade)
- #176 Merge docs from the site into the main repo. (@thelastpickle)
- 903e15d fixed data dir (@rustyrazorblade)
- 273b913 Add the Datadog metrics reporter (@adejanovski)
- 8afa041 updated readme with info about the in tree docs (@rustyrazorblade)
- 510f598 Generated Site HTML (@rustyrazorblade)
- 7a6ffdd Brought in docs from the reaper site repo. (@rustyrazorblade)
- 55324b7 Add the Graphite reporter to the list of dependencies (@adejanovski)
- f2712b1 move LongCollectionSQLType to inner class in RepairSchedule. (@michaelsembwever)
- 45dec62 move ReaperApplication.checkRepairParrellismString() to RepairRunResource. (@michaelsembwever)
- c7776fb Move contextual fields from ReaperApplication to AppContext. (@michaelsembwever)
- 880d378 Move DatacenterAvailability to be an inner class of ReaperApplicationConfiguration, as it's a config object, not a domain object. (@michaelsembwever)
- 3168507 remove orphaned class KeyspaceStatus (@michaelsembwever)
- c9b8876 Move SimpleCondition to service package, as it is a private peer class to SegmentRunner. (@michaelsembwever)
- ecd75c3 Merge branch 'mck/project-toplevel-restructure' (@michaelsembwever)
- 6374f44 Rearrange project to separate concerns (source code versus packaging artifacts, etc) (@michaelsembwever)
- 649c876 removed redundant readme (@rustyrazorblade)
- 9ed5f49 Make JMX connections smarter by picking primarily to nodes for which connection didn't fail in the past. (@adejanovski)
- e3dcb7d Add 3 different profiles of metrics collection : ALL, LOCAL and EACH. (@adejanovski)
- 6a835f7 Calls to
SegmentRunner.abort()
orSegmentRunner.postpone()
must still happen within the leader-election framework. (@michaelsembwever) - 49bfc6f fix the heap setting, and save 10% cpu-time by preferring IPv4 connections (@michaelsembwever)
- cdf5147 Add methods to JmxProxy so know which datacenters each host is in. (@michaelsembwever)
- 08bc563 Make the tests create keyspaces that match the cluster topology being tested. (@michaelsembwever)
- 3e5fa3d Add metrics to JmxConnectionFactory and SegmentRunner. Also add the promethues servlet to the admin interface. (@michaelsembwever)
- 2a2ad66 In ReaperApplicationConfiguration apply the documented defaults to the code. (@michaelsembwever)
- b2db7c2 circleci setup, postgres excluded (@michaelsembwever)
- 6336456 Implement Fault Tolerant Reaper (@adejanovski)
- ca25596 Configure the Cassandra driver with a custom retry policy that (basically) always retries. (@michaelsembwever)
- c0b1774 In the CassandraStorage make constant the remaining select cql statements (@michaelsembwever)
- 138f6b3 In the Cassandra storage make all write statements async. (@michaelsembwever)
- a7104ba Remove the LOGGED batch statements. Only offering atomicity on successful requests they have little impact of design and usuability. (@michaelsembwever)
- 0f3b900 Improve test stability and pass rate for distributed tests. (@michaelsembwever)
- aee1979 Add asserts ensuring that repair segments are only ever written to from an elected leader. (@michaelsembwever)
- 514e01e Remove
IStorage.getNextFreeSegment(..)
asgetNextFreeSegmentInRange(..)
is always used now. (@michaelsembwever) - 956b2ae Implement "local mode" as a "Distributed Storage" capability. (@michaelsembwever)
- ccbb31f Make integration tests capable of testing multiple running reaper instances. (@michaelsembwever)
- 1cc8520 Make the SchedulingManager more BASE design friendly (@michaelsembwever)
- c791f64 Fix nodes status in the health view when shutdown is not clean (@adejanovski)
- f4e5be3 Add loader in the UI to show progress on getting nodes statuses (@adejanovski)
- 647ae73 bump to next development version (@michaelsembwever)
- 6823b8e Updated README to point to new documentation home on cassandra-reaper.io (@rustyrazorblade)
- 4640eaf 0.6.2 release (@adejanovski)
- #157 Add a Gitter chat badge to README.md (@gitter-badger)
- 8a5f31f Add Gitter badge (@gitter-badger)
- 74776b1 Fix coordinator node being nulled out by abort() for incremental repairs. (@adejanovski)
- f022542 Added delete-schedule to the CLI (@favoretti)
- 9c230e1 Add ability to have both a schedule for full and incremental repairs at the same time for the same keyspace (@adejanovski)
- #151 Fix ClassCastException when using H2 database (#151). (@smarsching)
- e89720c Fix issue #132 (@adejanovski)
- 08f3275 Fix SSL encrypted and client authenticating connections to Cassandra's jmx. (@michaelsembwever)
- 3deb77b Update README.md (@adejanovski)
- #141 Add instructions to install and run reaper as a service (@thelastpickle)
- a70bd36 Add instructions to install and run reaper as a service (@adejanovski)
- 4e9fd40 Add note on how to find the IP address for the Docker Compose example (@joaquincasares)
- 43cdb4b Allow for a configurable replication factor for reaper_db (@joaquincasares)
- a3a2708 Include Docker-specific documentation. (@joaquincasares)
- 6449e9c Add docker-compose environment (@joaquincasares)
- #135 Add jmxAuth keys to default configs. (@thelastpickle)
- #134 Add docker-build process. (@thelastpickle)
- eae87d0 Requested changes for #134's review. (@joaquincasares)
- 79d76f5 Fix issue #137 with dashes not being kept in cluster/datacenter/rack names (@adejanovski)
- a8d645e Add jmxAuth keys to default configs. (@joaquincasares)
- 413a4f3 Add docker-build process. (@joaquincasares)
- 629abb5 Make UUIDs returned from PostgresStorage deterministic to reduce confusion (@Bj0rnen)
- #127 Fix repair parallelism in cluster overview output, for schedules/runs… (@Bj0rnen)
- 36c9b3d Fix repair parallelism in cluster overview output, for schedules/runs created in old versions (@Bj0rnen)
- #120 Changed the git protocol form SSH to http of startbootstrap-sb-admin (@Japio007)
- #121 Allow the auto scheduler to honour the incrementalRepair option. (@Japio007)
- #123 Fix issue with C* <= 2.1.9 not having the StorageServiceMBean.getEndp… (@thelastpickle)
- 6f91035 Fix issue with C* <= 2.1.9 not having the StorageServiceMBean.getEndpointToHostId() method (@adejanovski)
- #117 Web UI improvements (@thelastpickle)
- b5fcfce Optimize listing repairs by not counting segments for runs with state DONE (@adejanovski)
- 6e2055d Web ui improvements with filters, cluster health view and collapseable blocks (@adejanovski)
- ca07648 Fix issues with changes in RepairParallelism enum between 2.1 and 2.2. Helps with schedules created in old versions. (@adejanovski)
- 39e4c97 Allow the auto scheduler to honour the incrementalRepair option.
- 4e88d00 Changed the git protocol form SSH to http of startbootstrap-sb-admin
- #116 Adds integration test to ensure scheduled repairs can initiate repair runs, and maintain history (@thelastpickle)
- 15f4755 Adds integration test to ensure scheduled repairs can initiate repair runs, and maintain history. (@michaelsembwever)
- b13d0ef Bump up version number (@adejanovski)
- 64dea25 0.6.1 release (@adejanovski)
- #114 LongCollectionSQLType should hold Longs, not UUIDs (@vrischmann)
- 3d16533 LongCollectionSQLType should hold Longs, not UUIDs (@vrischmann)
- #110 move into the next development cycle (@thelastpickle)
- ad3d7e7 move into the next development cycle (@michaelsembwever)
- 0031da9 Release 0.6.0 (@adejanovski)
- #109 Cassandra backend improvements (#109) (@adejanovski)
- #106 Symlink 'src/main/resource/assets' to 'reaper_ui/build' just like in original 'reaper_ui' so we can actually use webpack dev server and hot reload when working on UI. (#106) (@anguenot)
- #107 Fix CFs list broken display in repairs and schedule views. (#107) (@anguenot)
- f7682f2 Disable the query logger by default (@adejanovski)
- #96 Add LCS and row cache (#96) (@michaelsembwever)
- #93 Add a query logger to the Cassandra storage, for debugging and profiling. (#93) (@michaelsembwever)
- #95 Cassandra performance: use prepared statements against repair_id, and cache a floor for the sequence number to reduce lookups. (#95) (@michaelsembwever)
- #97 Don't handle success callbacks after timeout (C* <= 2.1) (#97) (@Bj0rnen)
- #98 Bump aborted runs down in cluster run summary (#98) (@Bj0rnen)
- #91 Ec2MultiRegionAddressTranslator. (#91) (@MALPI)
- #76 Adding support to build cassandra-reaper docker images (@chrislbs)
- 8639ea2 Correcting ENV DB prefix; Inlining chwon/chmod commands
- 6195670 Using su-exec and removing env var prefix
- #73 additional example and doc around cassandra storage for reaper (#73) (@skhatri)
- #81 Minor fixes (#81) (@MALPI)
- 36019b9 # Conflicts: # pom.xml (@adejanovski)
- 984a265 Fix issue with incremental repair using new repair methods (issue #71) (@adejanovski)
- 2588b9d Adding support to build cassandra-reaper docker images
- #66 Use dropwizard 1.0 (#66) (@adejanovski)
- #67 Use new repair API and adapt notification handler (#67) (@adejanovski)
- 7f16e02 Bump up version number (@adejanovski)
- c1253b0 0.5.0 release (@adejanovski)
- #63 Add dynamic discovery of seeds for clusters (#63) (@adejanovski)
- #64 Fix bad segment count display on scheduled repairs (#64) (@adejanovski)
- #55 Autoschedule (#55) (@adejanovski)
- 8d7500c Bump version number (@adejanovski)
- 3334115 Release 0.4.1 (@adejanovski)
- #53 Fix getting metrics for pending compactions and active/pending repair… (#53) (@adejanovski)
- 9fb2b6e Fix deploy phase (@adejanovski)
- 2151cd1 Add automatic release in Travis (@adejanovski)
- ecd6054 Remove file due to premature inclusion (@adejanovski)
- #48 Code improvements based on SonarQube analysis (#48) (@adejanovski)
- 61f14f0 Update documentation after adding FlyWay (@adejanovski)
- #45 Add auto initialization of the Reaper Cassandra DB (#45) (@adejanovski)
- e6d0cae Add documentation for storage backend configuration (@adejanovski)
- #37 added support for H2 database storage (#37) (@adejanovski)
- #44 Allow Reaper to work with Cassandra 1.2 (#44) (@adejanovski)
- #38 postgresql: the stored repair parallelism can be lowercase (#38) (@vrischmann)
- #40 Add possibility to run repair on clusters with unreachable DCs (#40) (@adejanovski)
- #42 Fix performance issues with Cassandra backend (#42) (@adejanovski)
- 033ac3d fixed reaper class path (@rustyrazorblade)
- #36 Fix a NullPointerException when postponing (#36) (@vrischmann)
- #35 Create a full integration test suite (@thelastpickle)
- 8df29f8 Fix the stuff SonarQube was complaining about (never use Thread.sleep in tests :) (@adejanovski)
- 0496cc4 Create a separate integration test phase for running against a real ccm cluster (@adejanovski)
- d65a34e Update README.md (@rustyrazorblade)
- #34 Travis ci (#34) (@adejanovski)
- #33 Fix issue #32 with parallelism parsing issues with postgres storage (#33) (@adejanovski)
- #25 Include UI sources and maven profile to rebuild it (#25) (@adejanovski)
- #23 Add support for incremental repair to sprearer (#23) (@adejanovski)
- #20 Fix wierdness on 14.04 (#20) (@neogenix)
- #18 Makefile change (#18) (@neogenix)
- 4c4d96c Fix issue #21 with Cassandra storage (@adejanovski)
- #14 Fix for Cassandra 2.2 full repair bug (@thelastpickle)
- f337e65 Fix for Cassandra 2.2 full repair bug (@adejanovski)
- #16 typo on db name (@eslocombe)
- 15c5690 typo on db name
- f68b8eb Add Cassandra storage option (@adejanovski)
- #9 Fix for issue #8 (problem starting incremental repair when full repair was executed earlier or vice-versa) (@thelastpickle)
- 41ef23d Fix for issue #8 to allow different repair units on the same cluster/keyspace with different inc repair settings (@adejanovski)
- 16d7759 updated readme (@rustyrazorblade)
- 1aa0be5 tweaked makefile (@rustyrazorblade)
- 294efb3 Merge branch 'master' into inc-repair-support-with-ui (@rustyrazorblade)
- 67b5c5b made running reaper a little easier in reaper directory (@rustyrazorblade)
- 712cecf # Conflicts: # src/main/java/com/spotify/reaper/cassandra/JmxProxy.java (@adejanovski)
- 788d5d1 fix for Cassandra 2.0 (@adejanovski)
- a20d2f3 make all (@rustyrazorblade)
- 51f8a0a Merge branch 'master' of github.com:thelastpickle/cassandra-reaper (@rustyrazorblade)
- 7d547e5 removed the incremental repair support for now. will readd soon (@rustyrazorblade)
- 8205b2b add better logging (@rustyrazorblade)
- 9f6cc90 Changed first heading for trademark compliance (@zznate)
- 9c569ad Brought in line with ASF copyright compliance (@zznate)
- 7ded9d3 Init script (@rustyrazorblade)
- 24c8b63 trying to get init scripts (@rustyrazorblade)
- abd85fa working on init script (@rustyrazorblade)
- 9898418 Merge branch 'master' of github.com:thelastpickle/cassandra-reaper (@rustyrazorblade)
- e2ad760 fixed version, fixed build script (@rustyrazorblade)
- d62e26e Fixed typo (@adejanovski)
- 6272a9d build file (@rustyrazorblade)
- 80f874c added artifacts to gitignore (@rustyrazorblade)
- fee2385 This patch merges adejanovski's branch Incremental repair support with ui #1 (@rustyrazorblade)
- 608a612 tweaked class path so its not always hard coded to a /usr/share location (@rustyrazorblade)
- bee5036 Merge remote-tracking branch 'origin/inc-repair-support-with-ui' into inc_repair (@rustyrazorblade)
- 54a551c fixed permissions (@rustyrazorblade)
- 0455334 fix for html file being ignored by git, which broke the ui (@adejanovski)
- a4507ee update from branch inc-repair-that-works and add ui back again (@adejanovski)
- bb42a81 # Conflicts: # resource/cassandra-reaper.yaml # src/main/resources/assets/65bcbc899f379216109acd0b6c494618.svg # src/main/resources/assets/deps.js # src/main/resources/assets/index.js # src/main/resources/assets/repair.js # src/main/resources/assets/schedules.js (@adejanovski)
- 2508688 remove ui (@adejanovski)
- 970f934 fix for getPendingTasks() that disappeared in C* 3.0 (using JMX directly to get pending compactions) (@adejanovski)
- 1a72c1c Add more loopback addresses for ccm clusters with up to 7 nodes (@adejanovski)
- 0e54137 fix missing files for reaper ui (@adejanovski)
- 6eab076 Merge branch 'inc-repair-that-works' into inc-repair-support-with-ui (@adejanovski)
- 42f5f0d prevent incremental subrange repair to allow proper support for inc repairs (@adejanovski)
- 29387ec Merge branch 'sly/incremental-repair-support' into inc-repair-support-with-ui (@adejanovski)
- 05b912d ignore binaries and eclipse files (@adejanovski)
- 2083c0a Conflicts: resource/cassandra-reaper.yaml src/main/java/com/spotify/reaper/ReaperApplicationConfiguration.java src/main/java/com/spotify/reaper/resources/RepairScheduleResource.java src/main/java/com/spotify/reaper/service/SegmentRunner.java src/main/java/com/spotify/reaper/storage/postgresql/IStoragePostgreSQL.java src/test/resources/cassandra-reaper.yaml (@adejanovski)
- 842ad6b added ui from https://github.com/spodkowinski/cassandra-reaper-ui with improved support for incremental repair found in https://github.com/Nuance-Mobility/cassandra-reaper/tree/sly/incremental-repair-support (@adejanovski)
- 3e9cbd2 upgrade to C* 2.1.13 libs (@adejanovski)
- #135 Add modifiability of seed host to cluster endpoint (@spotify)
- 92207e4 Add modifiability of seed host to cluster endpoint (@Bj0rnen)
- c16709d ND-1369: fix repair_unit statement, also fixed db script to crate table in the right DB (@djsly)
- dcb33fb start development on 0.2.4 (@Bj0rnen)
- e6d0997 release version 0.2.3 (@Bj0rnen)
- #128 Bj0rnen/kill lingering repairs (@spotify)
- 9564f09 Improve readability (@Bj0rnen)
- 5dc0607 Explain usage of LazyInitializer (@Bj0rnen)
- bd35bce Fix mistake: use respective keyspace (@Bj0rnen)
- 512e2b8 Lazily compute list of nodes with ongoing repairs (@Bj0rnen)
- af24e8a Log when aborting repairs of unknown origin (@Bj0rnen)
- acfc913 If stalled, kill repairs that Reaper doesn't know about (@Bj0rnen)
- 8d89ba8 Add storage query for all repair commands currently running in cluster (@Bj0rnen)
- 1c7d421 Add type to hold parameters of issued repair commands (@Bj0rnen)
- 42526c0 incremental_repair: adding missing column to query to make the sql work for cluster query with existing repair_run (@djsly)
- e24da1c incremental_repair: adding missing column to query to make the sql work: (@djsly)
- #122 change scheduler to wake up once every ten minutes (@spotify)
- eff3c4f change scheduler to wake up once every ten minutes (@varjoranta)
- d115a74 merge PR from Nuance-Mobility (@varjoranta)
- ca185d8 Adding missing SQL Query (@djsly)
- e6f419d Adding new rest API: get Repair Schedule by Keyspace and by Keyspace and Cluster as well as get Clusters associated with a seed host. (@djsly)
- 0e9dece merge PR from Nuance-Mobility (@varjoranta)
- 792f9d9 fixing compilation error made with the last cherry pick (@djsly)
- 8fde8c4 fixing compilation error made with the last cherry pick (@djsly)
- c90164e removing left over imports that doesn't exist anymore. (@djsly)
- 1bd802a +Preventing repair run to be created when the repair_unit as the same cluster/keyspace/table setting but a different incremental repair (@djsly)
- dbbf1ee Fix expected string from client side. (@djsly)
- c749118 Updating doc for the new incrementalRepair parameter (@djsly)
- 1145834 Adding logic to prevent incremental repair at the same time as sequential repair. (@djsly)
- 58ded9d Adding nee cassandra 2.1 incremental repair feature. (@djsly)
- 48f3c4b RE-adding the 2.0 SimpleCondition from cassandra 2.0. Looks like the (@djsly)
- 4253061 ND-1410 updating the reaper code to use cassadnra 2.1.8 library (@djsly)
- 2894824 adding required settings for the scheduleDaysBetween optional feature (@djsly)
- 2ff195f Making ScheduleDaysBetween an optional parameter for the rest API for the Schedule. Added a default of 7 days in the config. (@djsly)
- 7bacba9 add note about release changes into readme (@varjoranta)
- d0ebf59 start development on 0.2.3 (@varjoranta)
- fee9bcb release version 0.2.2 (@varjoranta)
- 92715dc stabilize a test by increasing sleep time (@varjoranta)
- #116 fix not closing jmx connector sometimes (@spotify)
- 4cd8861 fix not closing jmx connector sometimes (@varjoranta)
- #114 add debug for hanging segments (@spotify)
- d2ce932 add debug for hanging segments (@varjoranta)
- 84ed30a remove unneeded old debug log message (@varjoranta)
- #113 fixing too many open files problem (@spotify)
- 79ac8de decrease log severity to info for common repair failures (@varjoranta)
- 6c413fa add explicit cleanup call for jmx connection on repair runner (@varjoranta)
- 5900663 add debug for too many open files issue (@varjoranta)
- #112 Log date on every log line (@spotify)
- 52a7c9e Log date on every log line
- 0ad34ff change the maintainer on project (@varjoranta)
- 6f47ae3 change the runner rescheduling logic a bit (@varjoranta)
- 572c25f remove fan out in repair runner scheduling (@varjoranta)
- af6faf1 fix NPE on debug code (@varjoranta)
- #111 fix an issue on reapir run dying out (@spotify)
- 82fd279 fix an issue on reapir run dying out (@varjoranta)
- ac75473 add debug for hunting possible deadlock (@varjoranta)
- #108 Add a check that reaperId is never null or empty (@spotify)
- 55c3b77 Add a check that reaperId is never null or empty (@mmatalka)
- #107 Zvo/resume errors (@spotify)
- ec4ee70 Implementing bj0rn's comments
- d870f7b Extra check for errors in getRangeToEndpointMap()
- 4600378 Resume repair after error
- a68d825 Remove redundant throws/catches of ReaperException
- 1b94e82 Free repair slot before handling the result
- #105 Removed internal Spotify manifest (@Yarin78)
- 6702e0f Removed internal Spotify manifest (@Yarin78)
- #103 Clear snapshots on session failure (@spotify)
- 52cc32d Clear snapshots on session failure
- #102 add release process definition to readme (@spotify)
- #101 Remove endTime on retried runs (@spotify)
- 15cb239 add release process definition to readme (@varjoranta)
- 30f6a31 Remove endTime on retried runs (@Bj0rnen)
- 228381a Update doc about possibility to resume ERROR runs (@Bj0rnen)
- 4682701 start development on 0.2.2 (@Bj0rnen)
- ef1e615 release version 0.2.1 (@Bj0rnen)
- #100 Postpone schedule if failing to start a repair (@spotify)
- 7c4a2c5 Postpone schedule if failing to start a repair (@Bj0rnen)
- #97 Add ability to reattempt repair run that went into ERROR (@spotify)
- e276f23 Add ability to reattempt repair run that went into ERROR (@Bj0rnen)
- #95 Syncronize all get&update operations of RepairRun objects (@spotify)
- bb13ed3 Leave lastEvent unchanged on terminated repair runs (@Bj0rnen)
- 3b30858 Unregister repair runner whenever run terminates (@Bj0rnen)
- 5fb028b Syncronize all get&update operations of RepairRun objects (@Bj0rnen)
- #94 Always set end time on runs in error (@spotify)
- 72bb83b Always set end time on runs in error (@Bj0rnen)
- #93 Fix check for empty tokenToEndpoint map (@spotify)
- 89e3621 Fix check for empty tokenToEndpoint map
- #91 Fix bug that caused repair run to fail if nodes are going up or down (@ahenry)
- #92 Catch AssertionError if a keyspace doesn't exist (@spotify)
- 4efcae2 Catch AssertionError if a keyspace doesn't exist
- a9ad7a1 add a status message on failure due to exception in tokenRangeToEndpoint (@ahenry)
- e7d3847 Fix bug that caused repair run to fail if nodes are going up or down while (@ahenry)
- ed3b043 start development on 0.2.1 (@varjoranta)
- 8a423db release version 0.2.0 (@varjoranta)
- #87 Enable GUI headers also through reaper configuration (@spotify)
- d94e70c Enable GUI headers also through reaper configuration
- #88 Zvo/parallel segments (@spotify)
- #90 Update run's last_event when run goes into ERROR (@spotify)
- fc73c06 Update run's last_event when run goes into ERROR
- ebeaca4 Append run id and segment id to thread name, where applicable (@Bj0rnen)
- 301c25b Further fixes to getNextFreeSegmentInRange in Postgres (@Bj0rnen)
- bd19b24 updated readme (@varjoranta)
- d4342a8 Cleaning up redundant continue statements (@Bj0rnen)
- c11af6e Parallel Repairs
- 63b5cfb Fix condition for completed repair run (@Bj0rnen)
- 5fac9ed Fix getNextFreeSegmentInRange implementation in PostgresStorage (@Bj0rnen)
- 216157b Set thread name to cluster name in SegmentRunner (@Bj0rnen)
- 8569c4d add user error message for JMX auth failures (@varjoranta)
- 0d29753 introduced new jmx auth settings applied to jmx factory (@spodkowinski)
- e696db4 added jxm authentication example (@spodkowinski)
- 0a37f0e jmx proxy can now be created with optional username and password (@spodkowinski)
- #80 Web UI (@spodkowinski)
- #86 start development on 0.1.5 (@Yarin78)
- 2db3222 start development on 0.1.5 (@Yarin78)
- #85 release version 0.1.4 (@Yarin78)
- 059bdd4 release version 0.1.4 (@Yarin78)
- #84 Bj0rnen/cluster schedules (@spotify)
- #82 Fix bug causing entire repair run to fail if a node is down (@Yarin78)
- e9967e2 Allow scheduler to start a new run if a previous run had an error. (@Yarin78)
- #81 Abort repair runs (@spotify)
- ed21152 Fix bug causing entire repair run to fail if a node is down when terminating repair sessions (@Yarin78)
- 7ae5cca Add all-fields operator to RepairScheduleStatus (@Bj0rnen)
- f792f71 Add schedule status(es) to cluster status (@Bj0rnen)
- cb302a4 Minimal stylistic change (@Bj0rnen)
- 749478b Abort repair runs
- #79 When creating a repair, start it by default (@spotify)
- 95956b7 added support for serving web assets and CORS (@spodkowinski)
- d84d4a3 Update service-info.yaml (@rouzwawi)
- 1ab5b12 When creating a repair, start it by default
- #77 Include cluster name in each log line (@spotify)
- d70c1b2 Remove clusterName field from RepairStatusHandler (@Bj0rnen)
- abb60ac Include cluster name in each log line
- e68f70e start development on 0.1.4 (@Bj0rnen)
- 5a4eb25 release version 0.1.3 (@Bj0rnen)
- #76 Fix errors in cluster resource (@spotify)
- a62efbd Implement ordering and limiting of repair runs in MemoryStorage (@Bj0rnen)
- 5420853 Order repairs for a cluster by end_time and then start_time, descending. (@Bj0rnen)
- 1cf3cb0 Correct number of total segments per run returned by Postgres (@Bj0rnen)
- 19d342f Fix null vs empty list discrepancy between storage implementations (@Bj0rnen)
- 1645c45 Add seed_hosts field to ClusterStatus (@Bj0rnen)
- 32c38bb ClusterStatus takes a Cluster rather than only a name (@Bj0rnen)
- ddb1f36 ClusterResource GET correctly returns 404 on non-existing cluster (@Bj0rnen)
- e92cff4 Default limit on number of repair runs to show for a cluster is changed from 10 to MAX_INT (@Bj0rnen)
- 0e673cf Fix typo in a JSON property (@Bj0rnen)
- 151e6b3 start development on 0.1.3 (@Bj0rnen)
- f9a01bb release version 0.1.2 (@Bj0rnen)
- 9cc1a7b Update readme with cluster endpoint changes (@Bj0rnen)
- 7e852ea Add name property to ClusterStatus (@Bj0rnen)
- #75 Bj0rn/informative api (@spotify)
- 8b6ff4a Wrap CluserResource's responses in a simple ClusterStatus class (@Bj0rnen)
- 768d783 Remove hierarchy package - no longer used (@Bj0rnen)
- 2c7aa7b Cleanup (@Bj0rnen)
- 2842722 Merge branch 'bj0rn/InformativeAPI' of https://github.com/spotify/cassandra-reaper into bj0rn/InformativeAPI (@Bj0rnen)
- fffd90e Replace ClusterRun with RepairRunStatus (@Bj0rnen)
- a7649b8 Replace ClusterRun with RepairRunStatus (@Bj0rnen)
- 9a6bb2c Add all-fields constructor to RepairRunStatus (@Bj0rnen)
- 02a2c1f Add duration and ETA to RepairRunStatus (@Bj0rnen)
- e23de9f Added note (@Bj0rnen)
- 0d6bf98 Replaced cluster/x endpoint with summary of runs (@Bj0rnen)
- 2f9e90e Add /cluster/x/runs endpoint. Candidate for replacing /cluster/x (@Bj0rnen)
- 84a4f7c Reduce DateTime clutter (@Bj0rnen)
- b6f3715 Fix bug where paused schedules would get resumed when starting up reaper (@Bj0rnen)
- c3b5c14 Replace call to removed function in spreaper (@Bj0rnen)
- 34a5f05 Fix bug where paused schedules would get resumed when starting up reaper (@Bj0rnen)
- 87f82ed Temporary way to get hierarchy to display fields with underscores (@Bj0rnen)
- 7531b30 Add all fields from core classes to hierarchy classes (@Bj0rnen)
- 21a229d Remove unused imports (@Bj0rnen)
- 04b4263 Remove ClusterOverview (@Bj0rnen)
- 802c7e3 Provide a hierarchical view of Reaper's storage (@Bj0rnen)
- 7ca2628 WIP (@Bj0rnen)
- 9f83ccc Force segmentsRepaired to be set in RepairRunStatus (@Bj0rnen)
- 507f239 Replace call to removed function in spreaper (@Bj0rnen)
- a7d0a44 start new development on 0.1.2 (@Bj0rnen)
- b4944fb release version 0.1.1 (@Bj0rnen)
- #72 add repair run, schedule, and cluster deletion endpoints (@spotify)
- #71 Add service-info.yaml file (@rouzwawi)
- 2a1a165 Make tests reflect recent changes (@Bj0rnen)
- 9f5b796 add comment (@rouzwawi)
- #70 Bj0rnen/updated responses (@spotify)
- #69 Update last message in repair run with info about failing to connect to ... (@spotify)
- fec5dc6 Correctly handle segments that didn't need to repair (@Bj0rnen)
- d88d5f0 triggerRepair returns 0 on "nothing to repair", not failure (@Bj0rnen)
- e8cfdb8 Handle failed triggerRepair (@Bj0rnen)
- 9290c60 Fix bug with SESSION_FALED (@Bj0rnen)
- 466faad fix postgres related deletion feature bugs (@varjoranta)
- ac28426 add service-info.yaml file (@rouzwawi)
- b7886b4 remove obsolete sql clauses (@varjoranta)
- a080811 add schedule stop and start to spreaper cli (@varjoranta)
- 0c612c3 add repair run, schedule, and cluster deletion endpoints (@varjoranta)
- 8e23690 Comment clarification (@Bj0rnen)
- 3fd866c Make PUT endpoints output updated (not original) JSON (@Bj0rnen)
- #67 use validation annotations instead of assertions, minor refactoring (@spotify)
- 419621f config.repairIntensity cannot be 0, add test (@mattnworb)
- edba6f5 Update last message in repair run with info about failing to connect to a host (@Bj0rnen)
- #68 Log hostname/port of a host JMXProxy failed to connect to (@spotify)
- ece34af Log hostname/port of a host JMXProxy failed to connect to
- fc19a30 use joda-time's DateTimeFormatter for date conversion (@mattnworb)
- #66 Some refactorings (@spotify)
- 8e93566 use validation annotations for config validation (@mattnworb)
- 4f301a0 AppContext doesn't need to be static (@mattnworb)
- 0555999 refactor: Extract static methods from RepairRunner into RepairManager (@Yarin78)
- d8d272f Made CLI file executable (@Yarin78)
- da4c212 Add names to threadpools (@Yarin78)
- c86df78 minor documentation and spreaper docstring cleanup (@varjoranta)
- c788d23 Merge remote-tracking branch 'origin/zvo/list-all' (@varjoranta)
- #62 separate the CLI tool into separate package (@varjoranta)
- d2b9cf4 minor code cleanup regarding the custom JMX feature (@varjoranta)
- c245fa2 added jmxPorts config option description and example (@spodkowinski)
- 438e329 added jmxPorts to configuration, added jmx port lookup in con.factory (@spodkowinski)
- 7d66fbd Endpoints for listing repair runs and schedules
- #59 remove owner and cause arguments from wrong places (@varjoranta)
- 3960a4f separate the CLI tool into separate package (@varjoranta)
- 938c2f6 remove owner and cause arguments from wrong places (@varjoranta)
- 0fa0317 add explanation about current development phase in README (@varjoranta)
- #50 add python-requests as dependency of debian package for spreaper (@blablacar)
- 866df11 add python-requests as dependency of debian package for spreaper (@n0rad)
- #49 fix debian package depends from default to explicit java7 (@varjoranta)
- 0369d98 fix debian package depends from default to explicit java7 (@varjoranta)
- 0894581 start development on 1.0.1 (@varjoranta)
- #47 release 0.1.0 (@varjoranta)
- 8f3c175 release 0.1.0 (@varjoranta)
- 11e9c8a update run history for updated repair schedules (@varjoranta)
- #46 clean up the verbose scheduler logging (@varjoranta)
- f5f3755 clean up the verbose scheduler logging (@varjoranta)
- #45 repair scheduling (@spotify)
- ee33d35 fix bugs in scedule inserting and array mapping (@varjoranta)
- ae5cbe5 fix issue in mapping int SQL array to long array (@varjoranta)
- cb50e66 fix issue with mapping generic collections to different sql type arrays (@varjoranta)
- 5ae9e09 fix a bug in selecting schedules for a cluster (@varjoranta)
- de3416c fix bug in repair_schedule table name in SQL (@varjoranta)
- 1fe9160 add start for scheduling manager (@varjoranta)
- 7a86ff2 Allow pausing/resuming repair schedules (@Bj0rnen)
- 5ade480 add acceptance test for repair scheduling (@varjoranta)
- a1262b7 add documentation and spreaper schedule status command (@varjoranta)
- 8b236dd wip: added initial schedule resource, with some refactoring (@varjoranta)
- 90e4467 Fix time comparison error (@Bj0rnen)
- 6198337 Use ImmutableList for runHistory (@Bj0rnen)
- 55067c2 Fix duplicate intensity from merge (@Bj0rnen)
- 9b456be RepairSchedule implemented in storage (@Bj0rnen)
- afdd1c3 wip: refactor repair run management to separate class, use for scheduling (@varjoranta)
- 4081ecb wip: Add runHistory to RepairSchedule and fix missing fields in Builder's "copy constructor" (@Bj0rnen)
- 4f30af2 wip: continuing with scheduling manager using repair units (@varjoranta)
- 0ed38f7 First draft of RepairSchedule duplicating fields from RepairRun (@Bj0rnen)
- #43 Bj0rnen/mock jmx (@spotify)
- c2bda76 Conflicts: src/main/db/reaper_db.sql src/main/java/com/spotify/reaper/core/RepairRun.java src/main/java/com/spotify/reaper/resources/ReaperHealthCheck.java src/main/java/com/spotify/reaper/resources/RepairRunResource.java src/main/java/com/spotify/reaper/resources/view/RepairRunStatus.java src/main/java/com/spotify/reaper/storage/postgresql/IStoragePostgreSQL.java src/test/java/com/spotify/reaper/unit/resources/RepairRunResourceTest.java src/test/java/com/spotify/reaper/unit/service/RepairRunnerTest.java src/test/java/com/spotify/reaper/unit/service/SegmentRunnerTest.java (@Bj0rnen)
- d0ba8f8 Include cucumber test in junit tests (@Bj0rnen)
- 03ac3e9 Mock a JmxProxy that can report cluster name in acceptance test (@Bj0rnen)
- dd5d9d8 Unset currentlyRunningSegmentId when not running a segment (@Bj0rnen)
- 9473095 Fix printout with negative duration (@Bj0rnen)
- #42 move segments count and repair parallelism to repair_run (@varjoranta)
- ccecc2b add intensity parameter for the spreaper on repair (@varjoranta)
- 0f24d15 Include cucumber test in junit tests (@Bj0rnen)
- fc01b2d move segments count and repair parallelism to repair_run (@varjoranta)
- d5e7204 Mock a JmxProxy that can report cluster name in acceptance test (@Bj0rnen)
- 991682a add last_event to database model from repair run (@varjoranta)
- 81f1262 some refactoring on acceptance tests (@varjoranta)
- 25295c4 add acceptance tests, refactor Reaper to use context (@varjoranta)
- 20f4d43 Include last event info in a RepairRun(Status)
- #41 add acceptance test and rados changes (@varjoranta)
- ee5acdc some refactoring on acceptance tests (@varjoranta)
- 7ca9c14 add acceptance tests, refactor Reaper to use context (@varjoranta)
- 9d34227 add last_event to database model from repair run (@varjoranta)
- 0308a54 Include last event info in a RepairRun(Status)
- 6badbd0 Fix rounding bug by using float literals
- d4532f0 fix version compare to support revision strings in version (@varjoranta)
- 53c75f7 Unset currentlyRunningSegmentId when not running a segment (@Bj0rnen)
- #39 Fix rounding bug by using float literals (@spotify)
- d1093ab Fix rounding bug by using float literals
- #38 fix version compare to support revision strings in version (@varjoranta)
- 5bafa32 fix version compare to support revision strings in version (@varjoranta)
- 8847701 Fix printout with negative duration (@Bj0rnen)
- #37 Log unchecked exceptions thrown on RepairRunner threads (@spotify)
- b211e2f Log unchecked exceptions thrown on RepairRunner threads (@Bj0rnen)
- #36 improve user documentation regarding starting repairs (@varjoranta)
- a59d094 fix test setup for SegmentRunnerTest (@varjoranta)
- f323a09 improve some debug messages (@varjoranta)
- 9b9b8c5 Log actual cause of failed repair run (@Bj0rnen)
- d92bc99 Clarify log message (@Bj0rnen)
- 23fe075 fix failing tests after cluster name format change (@varjoranta)
- 7449274 improve user documentation regarding starting repairs (@varjoranta)
- da47813 Unset pause time when resuming run from pause (@Bj0rnen)
- #35 add repair parallelism as parameter to CLI and REST API (@varjoranta)
- f752bba fixed one failing test case (@varjoranta)
- 7bd43c5 add repair parallelism as parameter to CLI and REST API (@varjoranta)
- d710753 fix tests that relied on wrongly changed segment state (@varjoranta)
- d5f2df2 change into using Cassandra inbuilt RepairParallelism enum (@varjoranta)
- 610ffd6 update segments count after actual segments are created (@varjoranta)
- ef1044b fix an issue with utilising repair parallelism in DB (@varjoranta)
- #34 fixing spreaper for latest schema, fix few bugs also (@varjoranta)
- b2e388a change snapshot repair into repair parallelism (@varjoranta)
- 832dd67 fixed issues in repair triggering after latest changes (@varjoranta)
- 83a7cde fixing spreaper for latest schema, fix few bugs also (@varjoranta)
- #33 Bj0rnen/can repair (@spotify)
- 34bc971 Conflicts: src/main/java/com/spotify/reaper/cassandra/JmxProxy.java (@Bj0rnen)
- eff7f28 Check for already running anti-entropy sessions (@Bj0rnen)
- 2f7bbac Check for already running anti-entropy sessions (@Bj0rnen)
- 0da9b92 Conflicts: src/main/java/com/spotify/reaper/cassandra/JmxConnectionFactory.java src/main/java/com/spotify/reaper/service/SegmentRunner.java (@Bj0rnen)
- eee0bfd Consult all affected nodes about ongoing compactions (@Bj0rnen)
- #32 Bigger change to replace column family concept with repair unit (@spotify)
- f9db262 fix auto resuming repair runs (@varjoranta)
- 13839ec Conflicts: src/main/java/com/spotify/reaper/resources/RepairRunResource.java src/main/java/com/spotify/reaper/service/RepairRunner.java src/test/java/com/spotify/reaper/service/RepairRunnerTest.java (@varjoranta)
- 5bac856 fix MemoryStorage to return Optionals instead of nulls (@varjoranta)
- 2ed0643 Properly resume paused runs (@Bj0rnen)
- #31 Properly resume paused runs (@spotify)
- 3d6c1e8 WIP fixing tests, still missing resume tests (@varjoranta)
- 757cff2 Consult all affected nodes about ongoing compactions (@Bj0rnen)
- 953d167 Properly resume paused runs (@Bj0rnen)
- 666c5b5 WIP making the code compile, but errors in tests still (@varjoranta)
- 60a59fa WIP fixing postgresql layer (@varjoranta)
- b61a986 WIP done fixing MemoryStorage (@Bj0rnen)
- 4bc7880 Track time when a repair run is paused (@Bj0rnen)
- 6b2515a WIP fixing the RepairRunner (@varjoranta)
- 5e35e6e Conflicts: src/main/java/com/spotify/reaper/core/RepairSegment.java src/main/java/com/spotify/reaper/resources/RepairRunResource.java src/main/java/com/spotify/reaper/service/RepairRunner.java (@varjoranta)
- 27406da WIP continues 1 (@varjoranta)
- 90608df WIP removing column family concept (@varjoranta)
- c01bef2 WIP still ongoing (@varjoranta)
- #30 Bj0rnen/segment coordinator (@spotify)
- cca2305 WIP still ongoing (@varjoranta)
- 163879e Don't make JmxProxy serializable (@Bj0rnen)
- eca1eaa WIP removing column family concept (@varjoranta)
- 9d96dab Abort repairs of segments marked as RUNNING when resuming repair runs (@Bj0rnen)
- ff43121 Track coordinator for running repair segments (@Bj0rnen)
- #29 Remove the unused ERROR state from RepairSegment (@spotify)
- 3be109d Remove the unused ERROR state from RepairSegment (@Bj0rnen)
- #28 cleanup spreaper and other minor user feedback changes (@varjoranta)
- 9c6c0b5 cleanup spreaper and other minor user feedback changes (@varjoranta)
- 1a1289a Minor code tweaks (@Bj0rnen)
- #27 Add endpoints for starting, pausing and resuming a repair run. (@spotify)
- 02bbf29 Add endpoints for starting, pausing and resuming a repair run.
- #26 Bj0rnen/can repair (@spotify)
- b7825db Update README.md (@rzvoncek)
- e4ee887 Add check for whether a repair should be run on a segment (@Bj0rnen)
- 75d6924 Refactor SegmentRunner, moving logic out of constructor (@Bj0rnen)
- #25 add fail count for repair segment (@varjoranta)
- 88bb14b add fail count for repair segment (@varjoranta)
- #24 Zvo/add run endpoint (@spotify)
- c8a0ed9 Reworked the CLI to match previous changes in Resources
- 0d530bc improve the README (@varjoranta)
- 367ad98 Move add/trigger repair run to RepairRunResource
- 4d70e23 Use futures to make test failures propagate to main thread (@Bj0rnen)
- 9be7f3f Fix test compile error (@Bj0rnen)
- #23 Bj0rnen/segment runner (@spotify)
- 8720806 Implementation and tests for a SegmentRunner (@Bj0rnen)
- 555ffdc Reimplement RepairRunner using SegmentRunner (@Bj0rnen)
- e0c2bc5 Complete test coverage of SegmentRunner (@Bj0rnen)
- 8a256b1 Reimplement RepairRunner using SegmentRunner (@Bj0rnen)
- #22 Cleanup of PG storage related classes (@spotify)
- #21 Unit tests for RingRange and ClusterResource (@spotify)
- 30cb52a Cleanup of PG storage related classes
- f24a828 Conflicts: src/main/java/com/spotify/reaper/resources/TableResource.java src/test/java/com/spotify/reaper/service/SegmentRunnerTest.java (@Bj0rnen)
- 47f2b4e Unit tests for RingRange and ClusterResource
- a5735c2 Complete test coverage of SegmentRunner (@Bj0rnen)
- 2c54161 Implementation and tests for a SegmentRunner (@Bj0rnen)
- #20 Zvo/jmx features (@spotify)
- 22cf5f6 Implementation and tests for a SegmentRunner (@Bj0rnen)
- 1ed554c Check for table existance
- 5825959 Expose cancelling all repairs to JmxProxy
- b45ff49 Fetch pending compactions via JMX
- b2c2e9f Make JmxProxy.connect static once again (@Bj0rnen)
- #19 Refactored TableResource (includes unit tests) (@spotify)
- 4c59bde Refactored TableResource (includes unit tests)
- 4a4ee2e Make repairCommandID in RepairSegment nullable (@Bj0rnen)
- 84c67c1 Factor out RepairRunner.handleRunningRepairSegments (@Bj0rnen)
- 3e97386 Syntactical cleanup (@Bj0rnen)
- #18 Bj0rnen/pre post design (@spotify)
- 314af93 Conflicts: src/test/java/com/spotify/reaper/service/RepairRunnerTest.java (@Bj0rnen)
- 95f1d5a Fix compile errors (@Bj0rnen)
- ec2635a Change code flow in RepairRunner to centralize handling of all repair outcomes (@Bj0rnen)
- 49e778c Add JmxConnectionFactory (@Bj0rnen)
- 7afbb81 Optimize imports (@Bj0rnen)
- a6577e2 Complete hanging repair test case (@Bj0rnen)
- f3e3a00 [WIP] add test for hanging repairs (@Bj0rnen)
- 2da8630 Keep an open JMX connection in RepairRunner at all times (@Bj0rnen)
- #17 Cleanup CLI (@spotify)
- ab4423c Add JmxConnectionFactory (@Bj0rnen)
- a98c2f9 Optimize imports (@Bj0rnen)
- 58d8a38 Make config use minutes for timeouts, while code uses seconds (@Bj0rnen)
- 87d9f3a Complete hanging repair test case (@Bj0rnen)
- c42f702 Keep an open JMX connection in RepairRunner at all times (@Bj0rnen)
- 5fbc3e8 [WIP] add test for hanging repairs (@Bj0rnen)
- acc8aca Change code flow in RepairRunner to centralize handling of all repair outcomes (@Bj0rnen)
- eb2eb01 Cleanup CLI
- 7a4e30e Conflicts: src/main/java/com/spotify/reaper/resources/TableResource.java src/main/java/com/spotify/reaper/service/RepairRunner.java src/test/java/com/spotify/reaper/service/RepairRunnerTest.java (@Bj0rnen)
- f82cc0e Add JmxConnectionFactory (@Bj0rnen)
- 31ded88 Remove redundancy in a test (@Bj0rnen)
- d632a50 Pass runId to addRepairSegments (@Bj0rnen)
- #15 Code style cleanup (@spotify)
- a0bac85 Optimize imports (@Bj0rnen)
- 2e772e3 Make config use minutes for timeouts, while code uses seconds (@Bj0rnen)
- 9cd3461 Complete hanging repair test case (@Bj0rnen)
- a19ddfb Code style cleanup
- 4c8ccb7 [WIP] add test for hanging repairs (@Bj0rnen)
- 7e04424 Merge branch 'master' into Bj0rnen/sustainJMX (@Bj0rnen)
- c66544c Keep an open JMX connection in RepairRunner at all times (@Bj0rnen)
- 0009be5 Remove "Simple" in SimpleRepairRunnerTest too (@Bj0rnen)
- 3675ca3 Rename SimpleRepairRunner to RepairRunner (@Bj0rnen)
- fca4951 fixing repair resume after restart (@varjoranta)
- 31aab0c add HUP signal handler skeleton (@varjoranta)
- 79324c8 Merge branch 'zvo/setStartEndTime' (@varjoranta)
- cace66c Set repair run start and end time
- 2a08e08 make repair timeout configurable (@varjoranta)
- 5987787 add upstart support and bump debian version (@varjoranta)
- 8357b65 Use correct instert statement when inserting repair segments
- 2ab352e add SQL for dropping existing database for cleanup purposes (@varjoranta)
- 170bbf6 Fix wrong default JMX port (@Bj0rnen)
- fe3e1fc Fix two bugs in SimpleRepairRunner and remove old RepairRunner (@Bj0rnen)
- e360ac9 Stop using RepairRunner (@Bj0rnen)
- #13 Bj0rnen/simple repair runner (@spotify)
- b65514b Update repairCommandId in storage (@Bj0rnen)
- abb47d5 The SimpleRepairRunner with the ability to handle service restart and repair timeouts (@Bj0rnen)
- f22f681 Core classes now have a more neat way of getting copies with new values (@Bj0rnen)
- #12 add methods for getting running repair runs (@varjoranta)
- b197b7e add methods for getting running repair runs (@varjoranta)
- #11 separate view objects for REST API from core objects (@varjoranta)
- f01e4ed separate view objects for REST API from core objects (@varjoranta)
- #10 fix database interface issue on batch insert return type (@varjoranta)
- 6e7f361 add more status and listing commands to CLI (@varjoranta)
- 1b8db3a fix database interface issue on batch insert return type (@varjoranta)
- #9 fix storage layer issues, readme, and improve cli (@varjoranta)
- 8c6ea31 fix database storage layer related issues (@varjoranta)
- 66ea9d6 improving the spreaper CLI (@varjoranta)
- d904d1c fix some readme formatting issues (@varjoranta)
- #8 Connect to valid coordinator when triggering repair (@spotify)
- cb3cb09 Connect to valid coordinator when triggering repair (@Bj0rnen)
- #7 update README (@varjoranta)
- 2b85fe4 update README (@varjoranta)
- #6 fixed Postgres related storage issues (@varjoranta)
- 8de0139 fixed Postgres related storage issues (@varjoranta)
- #5 Update README.md (@echoajohnson)
- eb8f38d Update README.md (@echoajohnson)
- 143e457 A new type RingRange represents token ranges (@Bj0rnen)
- 1f5b7c2 add list all clusters endpoint (@varjoranta)
- 470fef1 add initial reaper CLI Python executable (@varjoranta)
- dced10f rename host parameter to seedHost on cluster resource (@varjoranta)
- 891c9e5 ISO 8601 formatted JSON for RepairRun (@Bj0rnen)
- 4eb44a6 Increment RepairRun.completedSegments on finished segment (@Bj0rnen)
- be31956 Add and initialize (total/completed)SegmentCount in RepairRun (@Bj0rnen)
- 67b39cc Remove reparirRunLock from RepairRun (@Bj0rnen)
- 8128d96 Synchronize RepairRunner methods that may conflict (@Bj0rnen)
- 800a24a [healthcheck] added basic healthcheck for storage connectivity (@varjoranta)
- d5b61b4 Add RepairRun GET resource (@Bj0rnen)
- d5a6d09 finished initial postgresql storage implementation (@varjoranta)
- e0ac9f0 RepairRunner respects intensity (@Bj0rnen)
- 5f54c7a [storage] add more of postgres storage implementation (@varjoranta)
- e246274 Update a faulty copyright year (@Bj0rnen)
- 13dd50a Add license (@Bj0rnen)
- 9f8aa80 Found code that's never reached (@Bj0rnen)
- 83bea6c Fix numerous bugs (@Bj0rnen)
- 9c149e4 First working repair run (@Bj0rnen)
- a4a6c25 Fix bug where addTable crashes when called a second time with the same table (@Bj0rnen)
- ce19e16 small fixes of conditions (@Bj0rnen)
- 021b69e finished initial repair runner implementation (@varjoranta)
- 6ecc29c almost finished the runner implementation, still wip (@varjoranta)
- 1281a1a Implement all IStorage methods in MemoryStorage (@Bj0rnen)
- 98369db add more RepairRunner implementation, still wip (@varjoranta)
- ad5fafc adding initial RepairRunner implementation, wip (@varjoranta)
- 6318037 addRepairSegments takes builders (@Bj0rnen)
- eb3c1c8 Major overhaul of core types. (@Bj0rnen)
- e6ff918 add initial skeleton of repair runner (@varjoranta)
- aa86dca cleaning up the storage API to be consistent (@varjoranta)
- 0928b5f Create repairRun and generate repairSegments on call for manual repairRun (@Bj0rnen)
- 52ed592 Remove list of repairSegments from repairRun (@Bj0rnen)
- 5d29a6d Report on attempt to add same cluster again (@Bj0rnen)
- b97086b Convert tokens to BigInteger (@Bj0rnen)
- dfb602d Repair ranges are exclusive-inclusive rather than inclusive-exclusive (@Bj0rnen)
- a84ee3f add first implementation of table resource, removed strategy (@varjoranta)
- 443b5b7 fix existing resource skeleton and database schema for cluster (@varjoranta)
- d778b18 added back wrongly deleted class JmxProxy (@varjoranta)
- 1e1229a Conflicts: src/main/java/com/spotify/reaper/cassandra/ClusterInfo.java src/main/java/com/spotify/reaper/cassandra/IClusterInfo.java src/main/java/com/spotify/reaper/cassandra/JMXProxy.java (@varjoranta)
- c205c35 Add method for converting cluster name to symbolic name valid for URLs (@Bj0rnen)
- 3296e8e JmxProxy class responsible for communication between Reaper and Cassandra
- 3f69dbe Renamed *Builder classes (@Bj0rnen)
- 7ce4381 add server parameters and postgres dependency (@varjoranta)
- e7c863b Simple in-memory storage (@Bj0rnen)
- b01ffb3 Don't require name in POST for /cluster (@Bj0rnen)
- cb02702 wip, continue implementation of cluster resource (@varjoranta)
- #3 Bj0rnen/total segment count (@spotify)
- cd0c28a New tests and safety checks for the new generateSegments (@Bj0rnen)
- b433a86 Let generateSegments take total number of segments instead of segments per subrange (@Bj0rnen)
- c19968b add initial storage implementation skeleton (@varjoranta)
- 0c50b4e Merge branch 'zvo/get-tokens' (@Bj0rnen)
- 1b88d4f Conflicts: src/main/java/com/spotify/reaper/core/RepairSegment.java (@Bj0rnen)
- 5dc93ab Getters and builders for all core classes (@Bj0rnen)
- 2649855 Generating repair segments
- #1 Add fields to core classes (@Bj0rnen)
- cf7edd4 Add fields to core classes (@Bj0rnen)
- 297ab0d Added JMX client who can fetch tokens from the ring
- 3b1eed2 add skeleton implementation for storage and repair strategies (@varjoranta)
- 7090fda add basic Travis configuration (@varjoranta)
- 5dfe868 Increase logging level (@Bj0rnen)
- bcf1966 add maintainer and uploaders for debian package (@varjoranta)
- 4b19ae8 Add configuration plus logging (@Bj0rnen)
- dada348 Add resource skeletons (@Bj0rnen)
- 1517782 Add 'server' argument when starting the App.
- 7da611c remove unneeded supervision build line from debian rules (@varjoranta)
- b663b94 Remove spotify-settings.xml dependency from mvn (@varjoranta)
- e9dc5d3 fix maven dependency (@varjoranta)
- d2c04a7 Fix broken maven dependency (@Bj0rnen)
- 3dfcd52 Added binary (@Bj0rnen)
- 04e9c32 Initial build (@Bj0rnen)
- a9facf3 [dropwizard] initial dropwizard application skeleton (@varjoranta)