summaryrefslogtreecommitdiffstats
path: root/zkfacade
Commit message (Collapse)AuthorAgeFilesLines
* More lazy debug log message generationJon Marius Venstad2021-04-281-6/+8
|
* Upgrade slf4j dependencies to 1.7.30Bjørn Christian Seime2021-03-241-1/+1
| | | | | Upgrade jcl-over-slf4j to a version that exports common-logging 1.1.3 or newer (1.2 for 1.7.30). Previous version exported 1.1.1 which is older than the version visible through container-dev Maven dependency tree.
* Remove duplicate headersJon Bratseth2021-03-181-1/+1
|
* Add copyright headersJon Bratseth2021-03-181-1/+2
|
* Merge pull request #16917 from vespa-engine/jonmv/remove-redundant-loggingJon Marius Venstad2021-03-121-2/+4
|\ | | | | Remove redundant logging (and log text generation)
| * Remove redundant logging (and log text generation)Jon Marius Venstad2021-03-121-2/+4
| |
* | Export org.apache.zookeeper.server.quorum from zkfacadeBjørn Christian Seime2021-03-111-0/+10
| |
* | Export org.apache.zookeeper.common from zkfacadeBjørn Christian Seime2021-03-111-0/+10
| |
* | Export org.apache.zookeeper.client from zkfacadeBjørn Christian Seime2021-03-111-0/+10
| |
* | Construct ZKClientConfig from ZkClientConfigBuilderBjørn Christian Seime2021-03-111-6/+5
| | | | | | | | Use ZKClientConfig builder from Curator and ZooKeeperDatabase
* | Add shared ZK client config generator for zkfacade and vespa-zkcliBjørn Christian Seime2021-03-112-15/+9
|/
* Revert "Revert "Specify TLS configuration when enabling secure ZK client""Bjørn Christian Seime2021-03-101-2/+9
|
* Revert "Specify TLS configuration when enabling secure ZK client"Harald Musum2021-03-101-9/+2
|
* Specify TLS configuration when enabling secure ZK clientBjørn Christian Seime2021-03-101-2/+9
| | | | | Implement and use ssl context supplier class. Move helpers methods for determining enabled ciphers/protocols to supplier class.
* Add snappy and metrics-core as compile time dependencies to zkfacadeBjørn Christian Seime2021-03-091-0/+15
| | | | | Zookeeper artifact requires them (both for runtime and to ensure import-package is not generated for packages from those artifacts).
* Upgrade Curator framework to 5.1.0Bjørn Christian Seime2021-03-0812-12/+16
|
* Remove unused dependenciesHarald Musum2021-03-031-17/+0
|
* Simplify, testing server is not usedHarald Musum2021-03-031-59/+7
|
* Add TODO for Provider<Curator> && gpJon Marius Venstad2021-02-141-0/+1
|
* Use same version of curator-test as defined in parent pomHarald Musum2021-01-251-1/+0
|
* Avoid returning null where possibleHarald Musum2021-01-051-7/+6
|
* Revert "Revert "Reapply "Upgrade to Curator 4"""Harald Musum2021-01-0514-69/+268
|
* Revert "Reapply "Upgrade to Curator 4""Harald Musum2021-01-0514-268/+69
|
* Fix arguments used when constructing MockCuratorFrameworkHarald Musum2021-01-021-5/+3
|
* Fix newWatcherRemoveCuratorFramework()Harald Musum2021-01-011-2/+15
|
* Merge branch 'master' into revert-14062-revert-14057-hmusum/upgrade-to-curator-4Harald Musum2021-01-011-1/+1
|\
| * Revert "Revert "Simplify symlink""Håkon Hallingstad2020-12-081-1/+1
| |
| * Revert "Simplify symlink"Harald Musum2020-12-071-1/+1
| |
| * Simplify symlinkHåkon Hallingstad2020-12-021-1/+1
| | | | | | | | | | | | | | The symlink points to a file in the same directory. Therefore, instead of pointing to the absolute path, it should point to the filename. This also makes the symlink work on the host, if the symlink was made in a container (and vice versa).
* | Merge branch 'master' into revert-14062-revert-14057-hmusum/upgrade-to-curator-4Harald Musum2020-11-2611-1671/+1661
|\|
| * Log (at level FINE) participants in barrier and how many have respondedHarald Musum2020-11-261-0/+2
| |
| * Add VespaCurator interfaceMartin Polden2020-11-235-3/+48
| |
| * Merge pull request #15402 from vespa-engine/mpolden/use-curator-configHarald Musum2020-11-207-1261/+1419
| |\ | | | | | | Use CuratorConfig in Curator
| | * Refactor mock to simplify Curator constructorsMartin Polden2020-11-203-1163/+1195
| | |
| | * Use CuratorConfigMartin Polden2020-11-203-20/+30
| | |
| | * Extract ConnectionSpecMartin Polden2020-11-205-91/+207
| | |
| * | Create path first if necessary in set()Harald Musum2020-11-201-4/+5
| |/ | | | | | | | | | | Checking for existence and creating and setting data might fail if node was created after check. Use internal method to create, which handles node being created after checking for existence.
* / Revert "Revert "Upgrade to Curator 4""Harald Musum2020-11-2014-56/+460
|/
* Improve logging when removing an applicationHarald Musum2020-11-151-2/+3
| | | | Log only when it is removed, add some more validation
* return earlier if possibleHåkon Hallingstad2020-11-111-5/+6
|
* Fix thread lock detection bugHåkon Hallingstad2020-11-111-2/+2
| | | | | | | | | | | | The effect of the bug was that a deadlock would be reported as long as the current thread T0 that tries to acquire the ZK path P0 is in the following situation: 1. Thread T0 tries to acquire ZK path P0, held by T1. 2. Thread T1 tries to acquire ZK path P1, held by T2. Instead, T2 would need to equal T0. Or, 3. Thread T2 tries to acquire ZK path P2, held by T3 = one of (T0, T1). etc.
* Also test cumulative deadlock countersHåkon Hallingstad2020-10-201-0/+4
|
* Replace deadlock avoidance with metricsHåkon Hallingstad2020-10-194-29/+91
|
* Deadlock detectionHåkon Hallingstad2020-10-114-17/+199
| | | | | | | | | | | | Just before Lock.acquire() is invoked, the locks within the process is queried to see if a "deadlock" will occur: The current thread waiting to acquire lock path P1, which is held by thread T1 waiting on acquiring a lock at path P2, etc, until a thread is waiting for a lock held by the current thread. Even without this PR the deadlock would resolve itself automatically because all locks are acquired with timeouts. However, this PR 1. resolves the deadlock immediately, and 2. leaves a log trace (hopefully from the exception) to allow us to refactor code to avoid such deadlocks.
* Avoid metrics on reentry of lockHåkon Hallingstad2020-10-085-61/+114
|
* Avoid even small double-counting of locked timeHåkon Hallingstad2020-10-074-23/+39
|
* Make richer latency statsHåkon Hallingstad2020-10-0511-384/+404
| | | | | | | | | Makes a LatencyStats which provides some useful metrics, best explained there and in LatencyMetrics. This includes latency metrics, the "QPS" (e.g. the number of acquire() per second), and load metrics. Unfortunately I had to move from atomics to synchronized to accomplish this, but I see no other way.
* Move lock metrics to MetricsReporterHåkon Hallingstad2020-10-0319-219/+629
| | | | | | | | | | | | | | | Adds two new metrics: - The load of acquiring each lock path: The average number of threads waiting to acquire the lock within the last minute (or unit of time). Aka the lock queue (depth). - The load of the lock for each lock path: The average number of threads holding the lock within the last minute (or unit of time). This is always <= 1. Aka the lock utilization. Changes the LockCounters to LockMetrics, and exporting those once every minute through MetricReporter which is designed for this.
* Merge pull request #14657 from ↵Håkon Hallingstad2020-10-019-40/+112
|\ | | | | | | | | vespa-engine/hakonhall/add-metrics-to-lock-attempts Add metrics to lock attempts
| * Add metrics to lock attemptsHåkon Hallingstad2020-10-019-40/+112
| |