curator.git
2 years ago[CURATOR-464] update classifier and document accordingly
bigmarvin [Mon, 20 Apr 2020 08:00:48 +0000 (16:00 +0800)] 
[CURATOR-464] update classifier and document accordingly

2 years agoMerge branch 'CURATOR-567-remove-test-clean-state-where-flaky'
randgalt [Sun, 19 Apr 2020 23:28:19 +0000 (18:28 -0500)] 
Merge branch 'CURATOR-567-remove-test-clean-state-where-flaky'

2 years agoCURATOR-567 - At this point, TestCleanState is so flakey we should just turn it off...
randgalt [Sun, 19 Apr 2020 23:26:13 +0000 (18:26 -0500)] 
CURATOR-567 - At this point, TestCleanState is so flakey we should just turn it off for now. It's not serving much purpose anyway.

2 years agoMerge branch 'CURATOR-567-remove-test-clean-state-where-flaky'
randgalt [Sun, 19 Apr 2020 21:30:52 +0000 (16:30 -0500)] 
Merge branch 'CURATOR-567-remove-test-clean-state-where-flaky'

2 years agoCURATOR-567 - TestCleanState.closeAndTestClean has meet is desired goal. Start removi...
randgalt [Sun, 19 Apr 2020 21:30:42 +0000 (16:30 -0500)] 
CURATOR-567 - TestCleanState.closeAndTestClean has meet is desired goal. Start removing it where it causes test flakiness

2 years agoCURATOR-559 test used InterProcessReadWriteLock - the problem is that the retry can... 359/head
randgalt [Sun, 19 Apr 2020 15:47:57 +0000 (10:47 -0500)] 
CURATOR-559 test used InterProcessReadWriteLock - the problem is that the retry can end up in background loop which has its own thread thereby spoiling the test. Instead use a foreground operation for consistent tests

2 years agoMerge branch 'master' of https://gitbox.apache.org/repos/asf/curator
randgalt [Sun, 19 Apr 2020 15:15:36 +0000 (10:15 -0500)] 
Merge branch 'master' of https://gitbox.apache.org/repos/asf/curator

2 years agoCURATOR-567 - remove flaky cases of TestCleanState CURATOR-567-remove-test-clean-state-where-flaky 358/head
randgalt [Sun, 19 Apr 2020 14:10:32 +0000 (09:10 -0500)] 
CURATOR-567 - remove flaky cases of TestCleanState

2 years agoMerge branch 'master' of github.com:bigmarvin/curator into CURATOR-464
randgalt [Sat, 18 Apr 2020 21:05:16 +0000 (16:05 -0500)] 
Merge branch 'master' of github.com:bigmarvin/curator into CURATOR-464

2 years agoCURATOR-525 - instead of resetting the connection, change the state to RECONNECTED...
randgalt [Thu, 2 Apr 2020 13:16:41 +0000 (08:16 -0500)] 
CURATOR-525 - instead of resetting the connection, change the state to RECONNECTED. I'm concerned about LOST/reset loops. This is still a bad hack and needs to be addressed in the future.

2 years agoCURATOR-525
randgalt [Wed, 1 Apr 2020 01:22:43 +0000 (20:22 -0500)] 
CURATOR-525

There is a race whereby the ZooKeeper connection can be healed before Curator is finished processing the new connection state. When this happens
the Curator instance becomes a Zombie stuck in the LOST state. This fix is a "hack". ConnectionStateManager will notice that the connection state is
LOST but that the Curator instance reports that it is connected. When this happens, it is logged and the connection is reset.

2 years agoFor CURATOR-559 make the test a bit more robust. Wait for the connection to go to...
randgalt [Thu, 9 Apr 2020 15:16:05 +0000 (10:16 -0500)] 
For CURATOR-559 make the test a bit more robust. Wait for the connection to go to LOST after server stop

2 years agoCURATOR-549
randgalt [Fri, 20 Mar 2020 19:48:18 +0000 (14:48 -0500)] 
CURATOR-549

Creates a simple bridge that, when using ZK 3.6.0 creates a CuratorCache, and for earlier versions creates a TreeCache. The curator-test-zk35 module ensures that both code paths are tested.

2 years agoCURATOR-549
randgalt [Sun, 29 Mar 2020 20:33:13 +0000 (15:33 -0500)] 
CURATOR-549

The next phase of this issue will implement a bridge cache that bridges TreeCache for pre 3.6 SK and CuratorCache for ZK 3.6+. That bridge will need this TreeCache iterator.

2 years agoCURATOR-549 (#335)
Jordan Zimmerman [Wed, 1 Apr 2020 03:52:41 +0000 (22:52 -0500)] 
CURATOR-549 (#335)

Adds several recipes that use the new ZOOKEEPER-1416 Persistent Recursive watches from ZooKeeper 3.6.0. PersistentWatcher - A wrapper recipe that keeps a persistent (single or recursive) watch set and active through disconnections, etc. CuratorCache - Completely re-written cache recipe that will replace TreeCache, NodeCache and PathChildrenCache. With the benefit of persistent recursive watchers, the implementation is far simpler, will use significantly less resources and network calls, be easier to support and should be more stable and performant. Wrappers for the older cache's listeners are provided to help with transitions.

Co-authored-by: randgalt <randgalt@apache.org>
2 years ago[CURATOR-464] attach orignal artifacts with classifier original 355/head
bigmarvin [Fri, 27 Mar 2020 06:35:14 +0000 (14:35 +0800)] 
[CURATOR-464] attach orignal artifacts with classifier original

2 years agoCURATOR-564 (#351)
Jordan Zimmerman [Mon, 23 Mar 2020 20:11:18 +0000 (15:11 -0500)] 
CURATOR-564 (#351)

Like was done for TestingServer, catch startup issues for TestingCluster and then re-recreate and re-start the cluster one time. Hopefully this will make the tests more stable.

Co-authored-by: randgalt <randgalt@apache.org>
2 years agoCURATOR-549 (#334)
Jordan Zimmerman [Fri, 20 Mar 2020 01:52:43 +0000 (20:52 -0500)] 
CURATOR-549 (#334)

Support persistent watchers in ZK 3.6+ while maintaining background compatibility with previous versions of ZK. Adds Curator Framework DSL calls to ZooKeeper's addWatch() method. Subsequent PRs will add recipes. Both the older Framework and the async Framework now have methods to add persistent watchers.

Co-authored-by: randgalt <randgalt@apache.org>
2 years ago[CURATOR-558] - Updates for ZooKeeper 3.6.0 (#350)
Jordan Zimmerman [Mon, 16 Mar 2020 17:12:53 +0000 (12:12 -0500)] 
[CURATOR-558] - Updates for ZooKeeper 3.6.0 (#350)

* CURATOR-558

Bring Curator up to ZooKeeper 3.5.6 in preparation for supporting persistent recursive watchers while maintaining background compatability with previous versions of ZK. Added a new module to make sure we maintain compatibility with ZK 3.5.x. ZooKeeper 3.6.0 has some significant changes from previous versions. The reconfig APIs have moved into a new class, ZooKeeperAdmin. This class existed in 3.5.x but wasn't required. Now it is. A bunch of little things changed in the ZK server code which affected Curator's test classes. I moved it all into reflection based calls in Compatibility.java in the test module. We now have modules that test ZK 3.4, 3.5 and 3.6 so we're safe with compatibility. ZooKeeper's MultiTransactionRecord has been removed it seems. That forced CuratorMultiTransactionRecord to be re-written. It's not a public class so hopefully it won't affect anyone.

There is a new module, curator-test-zk35. It forces ZooKeeper 3.5.6 and performs selected tests from the other modules to ensure compatibility. Tests annotated with TestNG groups zk35 and zk35Compatibility are tested. Group zk36 is excluded. Note: these tests will only run from Maven. I don't think IntelliJ/Eclipse support the Maven syntax I used.
Support persistent watchers in ZK 3.6+ while maintaining background compatability with previous versions of ZK. Added a new module to make sure we maintain comaptibility with ZK 3.5.x

* CURATOR-558 - change to version 5.0.0-SNAPSHOT

Co-authored-by: randgalt <randgalt@apache.org>
2 years agoCURATOR-558 (#344)
Jordan Zimmerman [Sat, 14 Mar 2020 23:13:56 +0000 (18:13 -0500)] 
CURATOR-558 (#344)

Pt1 of change

* Remove the ZK 3.4 compatibility module and code
* Remove the deprecated ListenerContainer that leaks Guava classes into our APIs
* Remove Exhibitor support
* Various minor changes/cleanups

Co-authored-by: randgalt <randgalt@apache.org>
2 years agoMerge branch 'master' of https://gitbox.apache.org/repos/asf/curator
randgalt [Sat, 14 Mar 2020 18:05:44 +0000 (13:05 -0500)] 
Merge branch 'master' of https://gitbox.apache.org/repos/asf/curator

2 years agoCURATOR-562 - Remove ConnectionHandlingPolicy - flatten out behavior to match old...
tison [Tue, 10 Mar 2020 16:25:13 +0000 (00:25 +0800)] 
CURATOR-562 - Remove ConnectionHandlingPolicy - flatten out behavior to match old StandardConnectionHandlingPolicy - closes #348

2 years agoCURATOR-562 - Remove ConnectionHandlingPolicy - flatten out behavior to match old...
tison [Tue, 10 Mar 2020 16:25:13 +0000 (00:25 +0800)] 
CURATOR-562 - Remove ConnectionHandlingPolicy - flatten out behavior to match old StandardConnectionHandlingPolicy

2 years agoCURATOR-559 (#346)
Jordan Zimmerman [Thu, 20 Feb 2020 03:27:10 +0000 (22:27 -0500)] 
CURATOR-559 (#346)

The retry loop mechanism ended up getting nested multiple times causing exponential calls to the retry policy and violating a given policy's limits. Use a thread local to mitigate this so that a retry loop is reused for nested API calls, etc.

2 years agoCURATOR-560 CURATOR-560-set-tick-time 347/head
randgalt [Tue, 18 Feb 2020 18:59:52 +0000 (13:59 -0500)] 
CURATOR-560

a) make sure setReuseAddress is set for server when getting a random port
b) always set "tickTime" and "minSessionTimeout" to make our tests run a bit faster
c) fixed incorrect exception message in blockUntilStarted()

2 years ago[CURATOR-548] Bump zookeeper version to 3.5.7
Oleksandr Porunov [Wed, 16 Oct 2019 08:30:04 +0000 (11:30 +0300)] 
[CURATOR-548] Bump zookeeper version to 3.5.7

2 years agoCURATOR-551 (#345)
Jordan Zimmerman [Wed, 12 Feb 2020 22:07:45 +0000 (17:07 -0500)] 
CURATOR-551 (#345)

Commit 26364c6186fc7c09a9462557b1ca791e9aa70006 (Sat Sep 26 13:13:02 2015) changed HandleHolder.getNewConnectionString() was changed to return the new connection string instead of just a boolean. I believe the value returned should have been ensembleProvider.getConnectionString() not helper.getConnectionString(). TBH I no longer remember the genesis of this change but I can't make the current implementation make sense.

Additionally, a change was made to optionally call zooKeeper.updateServerList(). When this path is taken the handle holder's connection needs to be updated as well or we'll get an infinite loop of changes. The path that runs when ensembleProvider.updateServerListEnabled() is false ends up setting handle holder's connection to ensembleProvider.getConnectionString().

I'm loathe to make such low level changes in code that's existed for a long time. But, my investigation shows that this is how it should be. Hopefully, users can do testing.

2 years agoMerge pull request #343 from naude-r/servicecache_thread_leak
Shay Shimony [Fri, 31 Jan 2020 15:27:51 +0000 (17:27 +0200)] 
Merge pull request #343 from naude-r/servicecache_thread_leak

[CURATOR-557] ServiceCacheImpl does not close ExecutorService

2 years ago- ServiceCacheImpl should allow the self-created executor service to be closed 343/head
Roelof Naude [Wed, 22 Jan 2020 13:04:37 +0000 (15:04 +0200)] 
- ServiceCacheImpl should allow the self-created executor service to be closed
- Allow an optional executor service for ServiceProvider

2 years agoFix typo 342/head
康智冬 [Sun, 19 Jan 2020 00:44:22 +0000 (08:44 +0800)] 
Fix typo

fix typo

2 years agoCURATOR-547 change JAX-RS reader/writer to reuse Jackson ObjectMapper; also Jackson...
Tatu Saloranta [Fri, 11 Oct 2019 05:23:56 +0000 (22:23 -0700)] 
CURATOR-547 change JAX-RS reader/writer to reuse Jackson ObjectMapper; also Jackson 2.9.8 -> 2.9.10

2 years agoMerge pull request #332 from apache/dependabot/maven/jackson-version-2.10.0
Jordan Zimmerman [Mon, 4 Nov 2019 14:30:23 +0000 (09:30 -0500)] 
Merge pull request #332 from apache/dependabot/maven/jackson-version-2.10.0

Bump jackson-version from 2.9.8 to 2.10.0

2 years agoBump jackson-version from 2.9.8 to 2.10.0 332/head
dependabot[bot] [Fri, 1 Nov 2019 12:15:30 +0000 (12:15 +0000)] 
Bump jackson-version from 2.9.8 to 2.10.0

Bumps `jackson-version` from 2.9.8 to 2.10.0.

Updates `jackson-core` from 2.9.8 to 2.10.0
- [Release notes](https://github.com/FasterXML/jackson-core/releases)
- [Commits](https://github.com/FasterXML/jackson-core/compare/jackson-core-2.9.8...jackson-core-2.10.0)

Updates `jackson-databind` from 2.9.8 to 2.10.0
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

Updates `jackson-dataformat-yaml` from 2.9.8 to 2.10.0
- [Release notes](https://github.com/FasterXML/jackson-dataformats-text/releases)
- [Commits](https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.9.8...jackson-dataformats-text-2.10.0)

Signed-off-by: dependabot[bot] <support@github.com>
2 years agoCURATOR-546 CURATOR-546-ModeledCacheImpl-removes-zpath curator-v 329/head
randgalt [Fri, 11 Oct 2019 05:25:36 +0000 (08:25 +0300)] 
CURATOR-546

Bad copy/paste bug. ModeledCacheImpl.currentData() was removing from entries instead of calling get()

2 years agoMerge pull request #327 from apache/CURATOR-543-fix-testLockACLs-due-to-ZOOKEEPER...
Shay Shimony [Sun, 29 Sep 2019 11:18:06 +0000 (14:18 +0300)] 
Merge pull request #327 from apache/CURATOR-543-fix-testLockACLs-due-to-ZOOKEEPER-1392

CURATOR-543 - ZOOKEEPER-1392 broke TestLockACLs

2 years agoCURATOR-543 CURATOR-543-fix-testLockACLs-due-to-ZOOKEEPER-1392 327/head
randgalt [Sat, 28 Sep 2019 17:46:35 +0000 (12:46 -0500)] 
CURATOR-543

ZOOKEEPER-1392 broke TestLockACLs. In order to read ACLS you now need READ perm. TestLockACLs.testLockACLs() needs to be updated to reflect this.

2 years agoMerge branch 'CURATOR-541-x'
randgalt [Tue, 24 Sep 2019 19:25:22 +0000 (14:25 -0500)] 
Merge branch 'CURATOR-541-x'

2 years agotemp checking to see if adding synchronized fixes travis CURATOR-541-x
randgalt [Tue, 24 Sep 2019 18:44:13 +0000 (13:44 -0500)] 
temp checking to see if adding synchronized fixes travis

2 years agoMerge branch 'CURATOR-541'
randgalt [Tue, 24 Sep 2019 18:03:18 +0000 (13:03 -0500)] 
Merge branch 'CURATOR-541'

2 years agoCURATOR-541 CURATOR-541 326/head
randgalt [Sat, 21 Sep 2019 17:57:09 +0000 (12:57 -0500)] 
CURATOR-541

The retry code in BaseClassForTests was hopelessly broken - I don't know for how long. Reworked it so that it does the right thing now (hopefully). Storing the retry count as an attribute wasn't working. The new method stores it as a field in the test class and makes sure that it's always correct. It should only ever be true when actually retrying and, given that TestNG always calls the retry method, it can be reset after a retry fails.

2 years agoMerge pull request #314 from aseychell/master
Jordan Zimmerman [Thu, 5 Sep 2019 14:32:43 +0000 (09:32 -0500)] 
Merge pull request #314 from aseychell/master

CURATOR-519: Update zookeeper to 3.5.5 stable version

2 years agoMerge pull request #324 from apache/CURATOR-537
Jordan Zimmerman [Thu, 5 Sep 2019 14:31:06 +0000 (09:31 -0500)] 
Merge pull request #324 from apache/CURATOR-537

[CURATOR-537] make getOurPath() public

2 years agoMerge pull request #323 from sth/remove-obsolete-link
Jordan Zimmerman [Tue, 3 Sep 2019 21:00:13 +0000 (16:00 -0500)] 
Merge pull request #323 from sth/remove-obsolete-link

[CURATOR-539] Remove link to obsolete Stack Overflow tag

2 years agoCURATOR-537 - make getOurPath() public CURATOR-537 324/head
randgalt [Mon, 2 Sep 2019 17:04:22 +0000 (12:04 -0500)] 
CURATOR-537 - make getOurPath() public

2 years agoRemove link to obsolete Stack Overflow tag 323/head
Stephan Hohe [Sun, 25 Aug 2019 16:55:25 +0000 (18:55 +0200)] 
Remove link to obsolete Stack Overflow tag

2 years agoMerge pull request #321 from asdf2014/fix_bytebuffer
Shay Shimony [Thu, 22 Aug 2019 19:11:39 +0000 (22:11 +0300)] 
Merge pull request #321 from asdf2014/fix_bytebuffer

CURATOR-523: Fix ByteBuffer's compatibility issues

2 years agoMerge remote-tracking branch 'upstream/master' 314/head
Aldrin Seychell [Thu, 22 Aug 2019 04:48:34 +0000 (06:48 +0200)] 
Merge remote-tracking branch 'upstream/master'

2 years agoMerge pull request #320 from apache/CURATOR-505-improve-circuit-breaker-to-shared
Shay Shimony [Mon, 12 Aug 2019 19:32:30 +0000 (22:32 +0300)] 
Merge pull request #320 from apache/CURATOR-505-improve-circuit-breaker-to-shared

[CURATOR-533] - improve circuit breaking behavior

2 years agoCURATOR-533 CURATOR-505-improve-circuit-breaker-to-shared 320/head
randgalt [Sun, 28 Jul 2019 06:01:13 +0000 (01:01 -0500)] 
CURATOR-533

CURATOR-505 introduced circuit breaking behavior via CircuitBreakingConnectionStateListener and ConnectionStateListenerDecorator. Elastic has been using it to success but reports that the implementation can be improved. The existing implementation uses a new CircuitBreaker for each ConnectionStateListener set in a Curator client. It turns out that this is not ideal. Instead, a shared CircuitBreaker should be used per Curator client.

Unfortunately, the best way to do this is to remove the ConnectionStateListenerDecorator semantics and use a different mechanism. This Issue proposes to do this and remove ConnectionStateListenerDecorator. This is a breaking change but given the short amount of time it's been in Curator it's unlikely that it's been widely adopted.

In this commit, ConnectionStateListenerDecorator is removed in favor of ConnectionStateListenerManagerFactory. ConnectionStateManager uses this factory to create the container to hold registered ConnectionStateListeners. A new CircuitBreakerManager now manages the circuit breaking behavior using a shared CircuitBreaker.

3 years agoMerge pull request #322 from abcdenis/CURATOR-536
Shay Shimony [Sat, 10 Aug 2019 18:59:02 +0000 (21:59 +0300)] 
Merge pull request #322 from abcdenis/CURATOR-536

[CURATOR-536] break infinite loop in internalLeave() on timeout

3 years agoCURATOR-536 break infinite loop in internalLeave() on timeout 322/head
abcdenis [Thu, 8 Aug 2019 09:17:23 +0000 (12:17 +0300)] 
CURATOR-536 break infinite loop in internalLeave() on timeout

subj!

3 years agoFix ByteBuffer's compatibility issues 321/head
asdf2014 [Thu, 1 Aug 2019 00:58:34 +0000 (08:58 +0800)] 
Fix ByteBuffer's compatibility issues

3 years agoTurn off spammy logs 319/head
Enrico Olivelli [Sun, 28 Jul 2019 14:48:30 +0000 (16:48 +0200)] 
Turn off spammy logs

3 years agoSwitch to OpenJDK 8 and 11
Enrico Olivelli [Sun, 28 Jul 2019 11:51:00 +0000 (13:51 +0200)] 
Switch to OpenJDK 8 and 11

3 years agoMerge pull request #317 from apache/CURATOR-528-fix-mailing-list-issues
Shay Shimony [Mon, 15 Jul 2019 18:16:33 +0000 (21:16 +0300)] 
Merge pull request #317 from apache/CURATOR-528-fix-mailing-list-issues

fix mailing list issues

3 years agofix mailing-lists.html buttons to have mailto prefix; fix doap.rdf to refer correctly... CURATOR-528-fix-mailing-list-issues 317/head
shayshim [Sun, 14 Jul 2019 20:49:43 +0000 (23:49 +0300)] 
fix mailing-lists.html buttons to have mailto prefix; fix doap.rdf to refer correctly to mailing-lists.html

3 years agoMerge pull request #315 from emretetik96/CURATOR-530
Shay Shimony [Fri, 12 Jul 2019 14:33:35 +0000 (17:33 +0300)] 
Merge pull request #315 from emretetik96/CURATOR-530

[CURATOR-530] Documentation on InterProcessSemaphoreMutex is misleading

3 years agoAdd note on InterProcessLock description 315/head
Emre Tetik [Thu, 11 Jul 2019 19:29:11 +0000 (15:29 -0400)] 
Add note on InterProcessLock description

3 years agoStyle changes
Emre Tetik [Wed, 3 Jul 2019 18:29:14 +0000 (14:29 -0400)] 
Style changes

3 years agoModified javadoc for InterProcessLock and subclasses to be less misleading
Emre Tetik [Wed, 3 Jul 2019 18:19:26 +0000 (14:19 -0400)] 
Modified javadoc for InterProcessLock and subclasses to be less misleading

3 years agoUpdate zookeeper to 3.5.5 stable version
Aldrin Seychell [Tue, 28 May 2019 15:39:10 +0000 (17:39 +0200)] 
Update zookeeper to 3.5.5 stable version

3 years agoMerge pull request #311 from JiriOndrusek/CURATOR-429_osgi-zookeeper-dependency
Shay Shimony [Mon, 13 May 2019 20:51:05 +0000 (23:51 +0300)] 
Merge pull request #311 from JiriOndrusek/CURATOR-429_osgi-zookeeper-dependency

[CURATOR-429] Make Curator 4.x compatible with Zookeeper 3.4.x in OSGi too

3 years ago[CURATOR-429] Make Curator 4.x compatible with Zookeeper 3.4.x in OSGi too 311/head
JiriOndrusek [Mon, 13 May 2019 10:09:31 +0000 (12:09 +0200)] 
[CURATOR-429] Make Curator 4.x compatible with Zookeeper 3.4.x in OSGi too

3 years agoadded myself in the developers section
shayshim [Sun, 21 Apr 2019 17:22:21 +0000 (20:22 +0300)] 
added myself in the developers section

3 years agofixed some broken left nav links
randgalt [Sat, 20 Apr 2019 17:20:46 +0000 (12:20 -0500)] 
fixed some broken left nav links

3 years agoMerge branch 'master' of https://gitbox.apache.org/repos/asf/curator
randgalt [Thu, 18 Apr 2019 20:37:59 +0000 (15:37 -0500)] 
Merge branch 'master' of https://gitbox.apache.org/repos/asf/curator

3 years agomove to gitbox
randgalt [Thu, 18 Apr 2019 20:37:48 +0000 (15:37 -0500)] 
move to gitbox

3 years agoMerge pull request #305 from BELUGABEHR/CURATOR-511
Jordan Zimmerman [Fri, 22 Mar 2019 11:07:32 +0000 (06:07 -0500)] 
Merge pull request #305 from BELUGABEHR/CURATOR-511

CURATOR-511: Add toString to ZKPaths PathAndNode

3 years agoCURATOR-511: Add toString to ZKPaths PathAndNode 305/head
Beluga Behr [Thu, 21 Mar 2019 22:04:13 +0000 (18:04 -0400)] 
CURATOR-511: Add toString to ZKPaths PathAndNode

3 years ago[maven-release-plugin] prepare for next development iteration
randgalt [Sun, 3 Mar 2019 19:54:30 +0000 (14:54 -0500)] 
[maven-release-plugin] prepare for next development iteration

3 years ago[maven-release-plugin] prepare release apache-curator-4.2.0 apache-curator-4.2.0
randgalt [Sun, 3 Mar 2019 19:54:19 +0000 (14:54 -0500)] 
[maven-release-plugin] prepare release apache-curator-4.2.0

3 years ago[maven-release-plugin] prepare for next development iteration
randgalt [Sun, 3 Mar 2019 19:41:29 +0000 (14:41 -0500)] 
[maven-release-plugin] prepare for next development iteration

3 years ago[maven-release-plugin] prepare release apache-curator-4.1.1 apache-curator-4.1.1
randgalt [Sun, 3 Mar 2019 19:41:18 +0000 (14:41 -0500)] 
[maven-release-plugin] prepare release apache-curator-4.1.1

3 years agoMerge pull request #259 from krichter722/license-plugin-phase
Jordan Zimmerman [Sun, 3 Mar 2019 19:30:21 +0000 (14:30 -0500)] 
Merge pull request #259 from krichter722/license-plugin-phase

changed phase of maven-license-plugin to validate

3 years agoMerge branch 'CURATOR-481' of github.com:Max-Pudov/curator into CURATOR-481 CURATOR-481
randgalt [Sun, 3 Mar 2019 14:55:59 +0000 (09:55 -0500)] 
Merge branch 'CURATOR-481' of github.com:Max-Pudov/curator into CURATOR-481

3 years agoMerge branch 'master' of https://gitbox.apache.org/repos/asf/curator
randgalt [Sun, 3 Mar 2019 13:36:48 +0000 (08:36 -0500)] 
Merge branch 'master' of https://gitbox.apache.org/repos/asf/curator

3 years agoCURATOR-503 guava has been broken into multiple JARs it seems. Our shading needs... CURATOR-503
randgalt [Sun, 3 Mar 2019 04:16:44 +0000 (23:16 -0500)] 
CURATOR-503 guava has been broken into multiple JARs it seems. Our shading needs to reflect that

3 years agoMerge branch 'update-deps-2018' of github.com:metamx/curator into CURATOR-503
randgalt [Fri, 1 Mar 2019 17:29:36 +0000 (12:29 -0500)] 
Merge branch 'update-deps-2018' of github.com:metamx/curator into CURATOR-503

3 years agoUpdate README.md
Jordan Zimmerman [Fri, 1 Mar 2019 13:16:05 +0000 (08:16 -0500)] 
Update README.md

3 years agoUpdate README.md
Jordan Zimmerman [Wed, 27 Feb 2019 16:39:47 +0000 (11:39 -0500)] 
Update README.md

3 years agoCloses CURATOR-413 - Added travis config file
randgalt [Mon, 25 Feb 2019 19:58:23 +0000 (14:58 -0500)] 
Closes CURATOR-413 - Added travis config file

3 years agoMerge branch 'CURATOR-505'
randgalt [Wed, 13 Feb 2019 15:52:48 +0000 (10:52 -0500)] 
Merge branch 'CURATOR-505'

3 years agoCURATOR-505 - fix elapsed calculation in the circuit breaker CURATOR-505 304/head
randgalt [Wed, 13 Feb 2019 04:30:03 +0000 (23:30 -0500)] 
CURATOR-505 - fix elapsed calculation in the circuit breaker

3 years agoCURATOR-505 - didn't mean to check this in
randgalt [Mon, 11 Feb 2019 13:38:25 +0000 (08:38 -0500)] 
CURATOR-505 - didn't mean to check this in

3 years agoMerge branch 'CURATOR-498'
randgalt [Mon, 11 Feb 2019 12:47:18 +0000 (07:47 -0500)] 
Merge branch 'CURATOR-498'

3 years agoCURATOR-505 - Some refactoring and more doc
randgalt [Mon, 11 Feb 2019 12:46:55 +0000 (07:46 -0500)] 
CURATOR-505 - Some refactoring and more doc

3 years agoCURATOR-505 ctor should be private
randgalt [Thu, 7 Feb 2019 20:46:02 +0000 (15:46 -0500)] 
CURATOR-505 ctor should be private

3 years agoCURATOR-505 - refactoring/refining a new listener container that doesn't rely on...
randgalt [Thu, 7 Feb 2019 20:35:10 +0000 (15:35 -0500)] 
CURATOR-505 - refactoring/refining a new listener container that doesn't rely on Guava and supports mapping. We need for this PR anyway.

3 years agoCURATOR-505 - decoration of ConnectionStateListeners is now automatic (a backdoor...
randgalt [Thu, 7 Feb 2019 17:58:41 +0000 (12:58 -0500)] 
CURATOR-505 - decoration of ConnectionStateListeners is now automatic (a backdoor is provided)

3 years agoCURATOR-505 - interim checking - refactoring, simplifications, more testing, and...
randgalt [Thu, 7 Feb 2019 17:10:52 +0000 (12:10 -0500)] 
CURATOR-505 - interim checking - refactoring, simplifications, more testing, and documentation

3 years agoCURATOR-505
randgalt [Thu, 7 Feb 2019 14:02:03 +0000 (09:02 -0500)] 
CURATOR-505

A decorator/proxy for connection state listeners that adds circuit breaking behavior. During network outages ZooKeeper can become very noisy sending connection/disconnection events in rapid succession. Curator recipes respond to these messages by resetting state, etc. E.g. LeaderLatch must delete its lock node and try to recreated it in order to try to re-obtain leadership, etc.

This noisy herding can be avoided by using the circuit breaking listener decorator. When it receives ConnectionState.SUSPENDED, the circuit becomes "open" (based on the provided RetryPolicy) and will ignore future connection state changes until RetryPolicy timeout has elapsed. Note: however, if the connection goes from ConnectionState.SUSPENDED to ConnectionState.LOST the first LOST state is sent.

3 years agoImprove comment 301/head
Roman Leventov [Wed, 6 Feb 2019 08:14:19 +0000 (15:14 +0700)] 
Improve comment

3 years agoCURATOR-498 - minor tuning to testSessionSurvives() test 303/head
randgalt [Tue, 5 Feb 2019 17:16:26 +0000 (12:16 -0500)] 
CURATOR-498 - minor tuning to testSessionSurvives() test

3 years agoCURATOR-498
randgalt [Tue, 5 Feb 2019 15:11:08 +0000 (10:11 -0500)] 
CURATOR-498

change to how session expiration is injected introduced flakiness into testSessionConnectionStateErrorPolicyWithExpirationPercent30. I've tightened up the test.

3 years agoCURATOR-498
randgalt [Tue, 5 Feb 2019 14:06:48 +0000 (09:06 -0500)] 
CURATOR-498

Tightened LeaderLatch's timed await method so it's more consistent. The two calls to hasLeadership() were affecting the testWatchedNodeDeletedOnReconnect() test. In practice this is likely not an issue, but it's more consistent now. Also, reworked the testWatchedNodeDeletedOnReconnect() a bit.

3 years agoCURATOR-498
randgalt [Mon, 4 Feb 2019 15:44:24 +0000 (10:44 -0500)] 
CURATOR-498

Removed no-longer-necessary KillSession2. Also, now always use the reflection based code to insert the session end event given what we've found about the previous version inside of ZooKeeper. I also opened a PR in ZooKeeper (see ZOOKEEPER-3269) to add a supported method to do this for the future.

3 years agoCURATOR-500 - move to Gitbox CURATOR-500
randgalt [Wed, 30 Jan 2019 19:23:16 +0000 (14:23 -0500)] 
CURATOR-500 - move to Gitbox

3 years agoCURATOR-498
randgalt [Tue, 29 Jan 2019 18:22:50 +0000 (13:22 -0500)] 
CURATOR-498

Missed a check on doProtected in checkSetSessionId()

3 years agoCURATOR-498
randgalt [Tue, 29 Jan 2019 14:17:35 +0000 (09:17 -0500)] 
CURATOR-498

1. Abstracted protected mode fields into a new class for clarity. 2. CURATOR-498's fix is making TestTreeCache.testKilledSession fail for zk 3.4 emulation mode. It's strange, but simple to work around. Should likely be revisited in the future.

3 years agoCURATOR-498
randgalt [Mon, 28 Jan 2019 19:23:15 +0000 (14:23 -0500)] 
CURATOR-498

Kudos to user Shay Shimony for his tireless and excellent work tracking this down. There are two problems addressed here: 1) Protected create mode can potentially find a ZNode that is about to be deleted due to an expired session. CreateBuilderImpl now keeps track of the session ID when the create is initiated. If after a connection loss the session ID has changed, any found protected node is ignored as it will soon be deleted. 2) For ZooKeeper 3.4.x the simulated (via reflection) InjectSessionExpiration was incorrectly setting the connection state to closed which caused the session expiration to be ignored.