summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* ZOOKEEPER-4308: Fix flaky test EagerACLFilterTestKezhu Wang2022-06-243-31/+82
| | | | | | | | | | | | | | | | | | | There are several problems in this test: * It uses `ParameterizedTest` which run tests in single jvm. But `ZooKeeperServer.enableEagerACLCheck` is `static` and loaded from env variable. * It uses `assertNotSame` which assert on object reference equiality. * It asserts on `zkLeader.getLastLoggedZxid()` while client connect to `connectedServer`. There is no happen-before between `zkLeader.getLastLoggedZxid()` and successful response from other server. The commit and response are routed to different servers and performed asynchronous in each server. Author: Kezhu Wang <kezhuw@gmail.com> Reviewers: maoling <maoling199210191@sina.com>, Mate Szalay-Beko <symat@apache.org> Closes #1851 from kezhuw/ZOOKEEPER-4308-EagerACLFilterTest
* Revert "ZOOKEEPER-4549: ProviderRegistry may be repeatedly initialized"maoling2022-06-201-3/+0
| | | | This reverts commit 3fd25d4ebc854328ccc3f8d1c42f6e4c63a84fac.
* ZOOKEEPER-4549: ProviderRegistry may be repeatedly initializedlanicc2022-06-171-0/+3
| | | | | | | | | | We run two ZooKeeperServerEmbedded in one JVM and find that ProviderRegistry was initialized repeatedly. Author: lanicc <lanettiesso@gmail.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, tison <wander4096@gmail.com>, maoling <maoling@apache.org> Closes #1888 from lanicc/ZOOKEEPER-4549
* ZOOKEEPER-4518: remove useless log in the PrepRequestProcessor#pRequest methodvinayvinayu2022-06-171-2/+0
| | | | | | | | | | ZOOKEEPER-4518 : remove useless log in the PrepRequestProcessor#pRequest method Author: vinayvinayu <vinayvinayu@gmail.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, maoling <maoling@apache.org> Closes #1862 from Vinayvinayu/ZOOKEEPER-4518
* ZOOKEEPER-4551: Do not log spammy stacktrace when a client closes its connectionEnrico Olivelli2022-06-011-1/+9
| | | | | | | | | | | | | | Motivation: See more here https://issues.apache.org/jira/browse/ZOOKEEPER-4551 Modifications: Do not log the stacktrace, just write the message at INFO level Author: Enrico Olivelli <eolivelli@apache.org> Reviewers: Mate Szalay-Beko <symat@apache.org> Closes #1889 from eolivelli/fix/remove-spam-stacktrace
* ZOOKEEPER-4327: Fix flaky RequestThrottlerTest.testLargeRequestThrottlingKezhu Wang2022-05-241-26/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test failed following assertions in ci: 1. `RequestThrottlerTest.testRequestThrottler:206 expected: <5> but was: <4>` This is caused by no happens-before relationship between `connectionLossCount` and `disconnected.await`. Places `disconnected.countDown()` after `connectionLossCount++` to solve this. 2. `RequestThrottlerTest.testLargeRequestThrottling:297 expected: <2> but was: <0>` Large request throttling is handled in io thread, while `prep_processor_request_queued` metric is updated in processor thread. Places metric assertion after `finished.await` to solve this. Additionally, I find one more potential flaky case. After connection closed due to throttling third request, reconnecting could fail this test in slow sending environment. It is easy to reproduce by adding `Thread.sleep(i * 100)` in sending loop. Author: Kezhu Wang <kezhuw@gmail.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1821 from kezhuw/ZOOKEEPER-4327-flaky-RequestThrottlerTest.testLargeRequestThrottling and squashes the following commits: e21c2f8f7 [Kezhu Wang] ZOOKEEPER-4327: Fix flaky RequestThrottlerTest.testDropStaleRequests 3df34b827 [Kezhu Wang] ZOOKEEPER-4327: Fix flaky RequestThrottlerTest.testLargeRequestThrottling
* ZOOKEEPER-4537: Race between SyncThread and CommitProcessor threadjithin232022-05-171-6/+5
| | | | | | | | | | | | | | Zookeeper server can get stuck when it has just one client and the only way it recovers is due to a socket timeout or another client commit request. Sync thread reads commitIsWaiting outside of a sync block and acts on this information in a sync block later. The actual status of commitIsWaiting can change between the time where commitIsWaiting is read and acted upon because commit thread updates it outside a sync block. Fix here is to ensure that we read and process commitIsWaiting inside a sync block. https://issues.apache.org/jira/browse/ZOOKEEPER-4537 Author: jithin23 <jithin.girish@gmail.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1877 from jithin23/ZOOKEEPER-4537
* ZOOKEEPER-4519: Add closeSocket method to Testable interfaceHouston Putman2022-05-162-0/+14
| | | | | | | | | | | | | This is backwards compatible, since the new method on the `Testable` interface defaults to a no-op. Author: Houston Putman <houston@apache.org> Reviewers: Enrico Olivelli <eolivelli@apache.org>, maoling <maoling@apache.org> Closes #1863 from HoustonPutman/zk-testable-socket-close and squashes the following commits: 1f9d814f5 [Houston Putman] Fix style 475c9f516 [Houston Putman] ZOOKEEPER-4519: Add closeSocket method to Testable interface
* ZOOKEEPER-3806: TLS - dynamic loading for client trust/key storeManu Mathew2022-05-065-10/+274
| | | | | | | | | | | | | | | | | | | | | ZooKeer currently has support for reloading the Quorum Truststore & Keystore automatically when the certificate files change in the filesystem without server restart (https://github.com/apache/zookeeper/pull/680) However, Reloading of key and trust store for **ClientX509Util** is not present; i.e., the server presented certs to the clients will not get reloaded automatically if the certificates in the filesystem change, short-lived certs requires the process restart. Changes: - A new config property "zookeeper.client.certReload" is added, if it's true - ClientX509Util is reloaded automatically. - ZK uses an _X509AuthenticationProvider_ which is backed by an X509TrustManager and an X509KeyManager to perform _remote host certificate authentication_. We need to update the X509AuthenticationProvider's TrustStore as part of the X509Util file-watcher. - Junit test case to verify the cert reload. Author: Manu Mathew <manu.mathew@netapp.com> Author: mathewmanu <manmathew@cs.stonybrook.edu> Author: Manu Mathew <101424654+mathew-manu@users.noreply.github.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1839 from mathew-manu/ZOOKEEPER-3806
* ZOOKEEPER-4531: Revert Netty TCNative changesBrahma Reddy Battula2022-05-064-230/+0
| | | | | | | | | | | Removed tcnative depdency as it is required after netty upgrade to 4.1.76 Removed tcnative CVE supressions Author: Brahma Reddy Battula <brahma@apache.org> Reviewers: Mohammad Arshad <arshad@apache.org> Closes #1873 from brahmareddybattula/master
* ZOOKEEPER-4529: Upgrade netty to 4.1.76.FinalAnanya Singh2022-05-069-1/+1
| | | | | | | | | | upgrading netty in master as per review in : https://github.com/apache/zookeeper/pull/1867 Author: Ananya Singh <purpul90@gmail.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Shoothzj <shoothzj@gmail.com>, Mohammad Arshad <arshad@apache.org>, Brahma Reddy Battula <brahma@apache.org> Closes #1869 from AnanyaSingh2121/ZK-4529
* ZOOKEEPER-4510: dependency-check:check failing - reload4j-1.2.19.jar: ↵Mohammad Arshad2022-05-051-1/+1
| | | | | | | | | | | | CVE-2020-9493, CVE-2022-23307 Upgraded dependency-check-maven plugin from 6.5.3 to 7.1.0 Author: Mohammad Arshad <arshad@apache.org> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org>, ZhangJian He <shoothzj@apache.org> Closes #1872 from arshadmohammad/ZOOKEEPER-4510-upgrade
* ZOOKEEPER-2108 ZOOKEEPER-3908 ZOOKEEPER-4491: fixing zktreeutil, adding ssl ↵Manu Mathew2022-05-048-19/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | support Currently, zktreeutil tool **doesn't compile/work**. This PR brings back `zktreeutil` to life and adds SSL support to connect to TLS enabled ZooKeeper server. **Following are the issues fixed with this PR.** 1) [ZOOKEEPER-2108](https://issues.apache.org/jira/browse/ZOOKEEPER-2108) **(Compilation error in ZkAdaptor.cc with GCC 4.7 or later)** The compilation error in `ZkAdaptor.cc` is fixed by including the header file. Also, updated the `ZOOKEEPER_PATH` in `configure.ac` 2) [ZOOKEEPER-3908](https://issues.apache.org/jira/browse/ZOOKEEPER-3908) **(zktreeutil multiple issues)** Fixed the issues reported in this ticket. 3) [ZOOKEEPER-4491](https://issues.apache.org/jira/browse/ZOOKEEPER-4491) **(Adding SSL support to Zktreeutil)** - Adds the SSL support to `zktreeutil` to talk to TLS enabled ZooKeeper server, If SSL params are passed, invoke `zookeeper_init_ssl` method to connect the server. - Used the same OpenSSL library auto-detect code from the c-client `configure.ac` (https://github.com/apache/zookeeper/pull/1159) Attached the testing log. [zktreeutil_testing_connection.txt](https://github.com/apache/zookeeper/files/8585349/zktreeutil_testing_connection.txt) Author: Manu Mathew <manu.mathew@netapp.com> Author: mathewmanu <manmathew@cs.stonybrook.edu> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1870 from mathew-manu/ZOOKEEPER-4491
* ZOOKEEPER-1875: NullPointerException in ClientCnxn$EventThread.processEventMohammad Arshad2022-04-164-13/+92
| | | | | | | | | | | Author: Mohammad Arshad <arshad@apache.org> Reviewers: Mate Szalay-Beko <symat@apache.org>, Enrico Olivelli <eolivelli@apache.org> Closes #1855 from arshadmohammad/ZOOKEEPER-1875-npe and squashes the following commits: 4a7d471e3 [Mohammad Arshad] Corrected impacted test cases 12f44d62e [Mohammad Arshad] ZOOKEEPER-1875: NullPointerException in ClientCnxn$EventThread.processEvent
* ZOOKEEPER-4515: ZK Cli quit command always logs errorMohammad Arshad2022-04-092-6/+18
| | | | | | | | | | | | | | 1. For connection closing state scenario, changed the log level to debug 2. When JVM exiting with code 0, then logging info instead of error Author: Mohammad Arshad <arshad@apache.org> Reviewers: tison <wander4096@gmail.com>, Enrico Olivelli <eolivelli@apache.org> Closes #1856 from arshadmohammad/ZOOKEEPER-4515-cli and squashes the following commits: e7e248bd5 [Mohammad Arshad] Logging error only when exit code is non zero 31e124a2a [Mohammad Arshad] ZOOKEEPER-4515: ZK Cli quit command always logs error 1. For connection closing state scenario, changed the log level to debug 2. When JVM exiting with code 0, then logging info instead of error
* ZOOKEEPER-4514: ClientCnxnSocketNetty throwing NPEMohammad Arshad2022-04-081-8/+8
| | | | | | | | | | Moved channel object null check to sendPkt method to cover all calling scenarios Author: Mohammad Arshad <arshad@apache.org> Reviewers: Mate Szalay-Beko <symat@apache.org> Closes #1854 from arshadmohammad/ZOOKEEPER-4514-npe
* ZOOKEEPER-4504: ZKUtil#deleteRecursive causing deadlock in HDFS HA functionalityMohammad Arshad2022-04-062-3/+69
| | | | | | | | | | | | | | Make ZKUtil#deleteRecursive API fully compatible with older versions Author: Mohammad Arshad <arshad@apache.org> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1843 from arshadmohammad/ZOOKEEPER-4504-DeleteRecursive and squashes the following commits: 851bb1ee9 [Mohammad Arshad] Added javadoc for ZKUtil#deleteRecursive(zk, pathRoot, batchSize) API e7b33116c [Mohammad Arshad] Added test case to verify ZKUtil.deleteRecursive() in sync and async mode 008b2bd4a [Mohammad Arshad] ZOOKEEPER-4504: ZKUtil#deleteRecursive causing deadlock in HDFS HA functionality
* ZOOKEEPER-4467: Format OpCode.addWatch in Request.op2StringKezhu Wang2022-04-052-1/+21
| | | | | | | | | | | | | | Changes: * Format `OpCode.addWatch` as "addWatch" in `Request.op2String`. Author: Kezhu Wang <kezhuw@gmail.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, maoling <maoling@apache.org> Closes #1819 from kezhuw/ZOOKEEPER-4467-op_code_addWatch_string and squashes the following commits: 97f891da1 [Kezhu Wang] fixup! ZOOKEEPER-4467: Format OpCode.addWatch in Request.op2String ebe6faa30 [Kezhu Wang] ZOOKEEPER-4467: Format OpCode.addWatch in Request.op2String
* ZOOKEEPER-4490: Publish Clover results to SonarQubeDora Horvat2022-04-012-24/+164
| | | | | | | | | | | | | | | | | | | | | | The newly added script runs maven with the clover profile which generates the test coverage data and then uploads it to SonarQube if the necessary parameters were given. The required parameters for publishing to SonarQube are: - Host URL - Login Credentials - Project Key Example commands: - Run clover code analysis (without publishing to SonarQube) `sh tools/sonar/code-coverage.sh` - Run clover code analysis and publish the results to SonarQube `sh tools/sonar/code-coverage.sh -l ProjectCredentials -u https://exampleserver.com -k Project_Key` Author: Dora Horvath <dora.horvath@cloudera.com> Reviewers: Norbert Kalmar <nkalmar@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1835 from horvathdora/ZOOKEEPER-4490
* ZOOKEEPER-4505: CVE-2020-36518 - Upgrade jackson databind to 2.13.2.1Edwin Hobor2022-03-311-1/+1
| | | | | | | | | | | | CVE-2020-36518 vulnerability affects jackson-databind in Zookeeper (see https://github.com/advisories/GHSA-57j2-w4cx-62h2). Upgrading to jackson-databind version 2.13.2.1 should address this issue. Author: Edwin Hobor <edwinhobor@gmail.com> Reviewers: maoling <maoling@apache.org>,Enrico Olivelli <eolivelli@apache.org>, Mohammad Arshad <arshad@apache.org> Closes #1842 from edwin092/edwin/ZOOKEEPER-4505
* ZOOKEEPER-3652: Synchronize ClientCnxn outgoing queue flush on a stable ↵Sylvain Wallez2022-03-301-2/+4
| | | | | | | | | | | | | | | | | | | internal value When packets are added to ClientCnxn's outgoing packet queue we ensure there's no conflict with an ongoing flush of that queue because of connection loss. Synchronization used to be on the state field's value. This value is both not stable (its value changes over time), possibly causing improper synchronization, and global, which can cause contention in applications that run several ZooKeeper clients. We now synchronize on outgoingQueue which is both local to a ClientCnxn's instance and stable. Author: Sylvain Wallez <sylvain@bluxte.net> Reviewers: maoling <maoling@apache.org>, Mohammad Arshad <arshad@apache.org> Closes #1257 from swallez/ZOOKEEPER-3652 and squashes the following commits: 82e2cad2c [Sylvain Wallez] Instruct SpotBugs that we know what we're doing when synchronizing on outgoingQueue b0bc03d6f [Sylvain Wallez] ZOOKEEPER-3652: Synchronize ClientCnxn outgoing queue flush on a stable internal value
* ZOOKEEPER-4464: zooinspector display "Ephemeral Owner" in hex for easy match ↵672022-03-291-1/+16
| | | | | | | | | | | | | | to jmx session zooinspector now show "Ephemeral Owner" in 10 base number while JMX connections show in hex format. this makes it a little hard to match them. It will be much better if hex format is shown too, I will create a pr add hex format just beside the 10 based one. Author: 67 <67@gd67.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mohammad Arshad <arshad@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1813 from iamgd67/ZOOKEEPER-4464
* ZOOKEEPER-4494: Fix error message formattison2022-03-281-1/+1
| | | | | | | | | | cc maoling eolivelli Author: tison <wander4096@gmail.com> Reviewers: maoling <maoling@apache.org> Closes #1838 from tisonkun/patch-2
* Updated programmer docs for generating jute filesdeko23692022-03-211-2/+1
| | | | | | | | | | | Changes: * Updated programmer docs to build Zookeeper C client Author: deko2369 <keinissy@gmail.com> Reviewers: maoling <maoling@apache.org> Closes #1831 from deko2369/update_programmers_docs
* ZOOKEEPER-4474: Drop unused ZooDefs.opNamesKezhu Wang2022-03-121-2/+0
| | | | | | | | | | | Changes: * Unused `ZooDefs.opNames` dropped. Author: Kezhu Wang <kezhuw@gmail.com> Reviewers: maoling <maoling@apache.org> Closes #1822 from kezhuw/ZOOKEEPER-4474-drop-unused-ZooDefs.opNames
* 1829Enrico Olivelli2022-03-082-0/+203
| | | | | | | | | | | - rename commos-io LICENSE file to 2.11.0 - create file for commons-cli (ASF project) Author: Enrico Olivelli <eolivelli@apache.org> Reviewers: Mate Szalay-Beko <symat@apache.org>, maoling <maoling@apache.org> Closes #1829 from eolivelli/ZOOKEEPER-4482
* ZOOKEEPER-4473: zooInspector root child creates fail with path validate fix672022-03-044-11/+160
| | | | | | | | | | | | zooInspector root child creates fail with path validate fix. create node update UI only if creation success, if fail show message dialog about the reason. add basic ZooInspectorManagerImpl tests using mocked zookeeper client. Author: 67 <67@gd67.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1818 from iamgd67/ZOOKEEPER-4473
* ZOOKEEPER-4479: C tests: Avoid some jitter which results in flaky testsDamien Diederen2022-03-013-15/+20
| | | | | | | | | | | | With these commits, the various tests in `TestOperations.cc` set the `last_sent` and `last_recv` fields of the "force-connected" ZooKeeper handle to deterministic values (which match the initial value of the time mock). When that value is not specified, these fields get set to the "real" time at the end of the `forceConnected` function, which can be sufficiently different from the value held in the mock for some of the tests to fail. Author: Damien Diederen <ddiederen@apache.org> Reviewers: Enrico Olivelli <eolivelli@apache.org> Closes #1827 from ztzg/ZOOKEEPER-4479-flaky-c-test-operations
* ZOOKEEPER-4477: Single Kerberos ticket renewal failure can prevent all ↵Mate Szalay-Beko2022-03-015-66/+372
| | | | | | | | | | | | | | | | | | | | | | | future renewals since Java 9 This bug is similar to the one fixed in https://issues.apache.org/jira/browse/KAFKA-12730. Our Kerberos ticket refresh thread performs re-login by logging out and then logging in again. If login fails, we retry after some sleep. Every reLogin() operation performs loginContext.logout() and loginContext.login(). If login fails, we end up with two consecutive logouts. This used to work in older Java versions, but from Java 9 onwards, this results in a NullPointerException due to https://bugs.openjdk.java.net/browse/JDK-8173069. We should check if logout is required before attempting logout. I fixed the issue and added a new unit test to test some ticket renewal scenarios. I managed to reproduce the problem in KerberosTicketRenewalTest.shouldRecoverIfKerberosNotAvailableForSomeTime() which (before the fix) failed with Java13 but succeeded with Java8. Author: Mate Szalay-Beko <symat@apache.org> Reviewers: Enrico Olivelli <eolivelli@apache.org> Closes #1828 from symat/ZOOKEEPER-4477-master
* ZOOKEEPER-4480: Introduce end to end compatibility teststison2022-02-282-0/+122
| | | | | | | | | | | | | | So far, I add a simplest test executing `bin/zkCli.sh sync /` for testing connectivity. You can comment to enrich the test script. This command itself is enough for proceeding the original proposal that merge `readOnly` field into `ConnectRequest` and `ConnectResponse` as it's tested with any successfully setup connection. Author: tison <wander4096@gmail.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1826 from tisonkun/e2e
* ZOOKEEPER-4478: Suppress OWASP false positives ↵Enrico Olivelli2022-02-251-0/+9
| | | | | | | | | | zookeeper-jute-3.8.0-SNAPSHOT.jar: CVE-2021-29425, CVE-2021-28164, CVE-2021-34429 Author: Enrico Olivelli <eolivelli@apache.org> Reviewers: Mate Szalay-Beko <symat@apache.org> Closes #1824 from eolivelli/ZOOKEEPER-4478-owasp
* Fix typo in ZooKeeper Server PomShoothzj2022-02-172-3/+3
| | | | | | | | | | I think that the id of this task should be `build-time`. And it has original be `build-time`. Author: Shoothzj <shoothzj@gmail.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, maoling <maoling@apache.org> Closes #1781 from Shoothzj/fix-typo-in-zookeeper-server-pom
* ZOOKEEPER-4465: zooinspector logback pattern config add escape for '(' and ')'672022-02-152-1/+49
| | | | | | | | | | | | | | | | | | zooinspect logback config file `logback.xml` currently use a pattern of this `<pattern>%5p [%t] (%F:%L) - %m%n</pattern> ` which not escape the '(' and ')', cause logback to ignore parts after ')'. according to logback documents, '(' and ')' is used for grouping, need escape by `\` if used as normal char https://logback.qos.ch/manual/layouts.html#grouping this pr update it to (add '\' to escape) `<pattern>%5p [%t] \(%F:%L\) - %m%n</pattern> ` Author: 67 <67@gd67.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Andor Molnar <andor@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1814 from iamgd67/ZOOKEEPER-4465
* ZOOKEEPER-4469: Suppress OWASP false positives related to Netty TCNativeEnrico Olivelli2022-02-142-1/+13
| | | | | | | | | | | | | More context here: https://issues.apache.org/jira/browse/ZOOKEEPER-4469 I am also updating the OWASP dependency check Author: Enrico Olivelli <eolivelli@apache.org> Reviewers: Norbert Kalmar <nkalmar@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1817 from eolivelli/ZOOKEEPER-4469
* ZOOKEEPER-4468: Update documentation about BCFKS keystore/truststore formatMate Szalay-Beko2022-02-111-2/+2
| | | | | | | | | | The BCFKS keystore/truststore format support was backported to branch 3.5, I updated the documentation. Author: Mate Szalay-Beko <mszalay@cloudera.com> Reviewers: Norbert Kalmar <nkalmar@apache.org>, Andor Molnar <andor@apache.org> Closes #1816 from symat/ZOOKEEPER-4468-doc-update
* ZOOKEEPER-4315: Include reference to third party files in the source ↵Enrico Olivelli2022-02-041-0/+24
| | | | | | | | | | | | NOTICE.txt file More context here: https://issues.apache.org/jira/browse/ZOOKEEPER-4315 Author: Enrico Olivelli <eolivelli@apache.org> Reviewers: Mate Szalay-Beko <symat@apache.org> Closes #1812 from eolivelli/ZOOKEEPER-4315-notice
* [maven-release-plugin] prepare for next development iterationEnrico Olivelli2022-02-0321-22/+22
|
* [maven-release-plugin] prepare branch @{releaseLabel}Enrico Olivelli2022-02-031-1/+1
|
* ZOOKEEPER-4291: ZooInspector has very high latency when operating against ↵Brent Nash2022-02-0225-847/+808
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | remote clusters Apache Jira Issue: https://issues.apache.org/jira/browse/ZOOKEEPER-4291 Zookeeper Contribution Guidelines: https://cwiki.apache.org/confluence/display/zookeeper/howtocontribute This is a fairly substantial change and I will also send a note on the zookeeper-dev mailing list to start a discussion in case there are more questions/comments. The existing version of ZooInspector had an extremely short cache retention time combined with tying high frequency UI operations to network calls which resulted in almost unusable latency when using ZooInspector to talk to a Zookeeper cluster over a network. This change refactors the tree view to move network calls onto background threads in the TreeModel while keeping the UI itself responsive and only reloading data on request after initial node expansion. In general, I think these changes take the tool from being virtually unusable when talking to remote clusters to being performant enough and responsive enough to be useful in most cases. Some other related highlights include: - Made getNumChildren() use the NodeCache (it wasn't previously) - Remove network calls getting triggered during UI redraw animations such as using scroll bars or resizing the window - Addition of a mouse spinner animation when work is in progress - Addition of the number of child nodes in parentheses after the node name on the UI - Move Add/Delete node logic to be encapsulated in TreeViewer logic (and remove separate Add/Delete NodeAction classes) - Addition of a right-click menu item to refresh a selected subtree (previously this was only doable for the entire tree) - Fixed the broken "Node Viewer Settings" icon and button (it previously had no icon set and didn't show on the UI) - Fixed the broken "About" button (it previously was failing to find the about.html file) - Fixed a number of Javadoc-related build warnings - Fixed a number of naming typos (e.g. NodeVeiwers -> NodeViewers) - Removed some dead/unused code Testing - The build succeeds, though ZooInspector currently has no unit tests. I did test it fairly extensively with some remote clusters I have available. <img width="974" alt="zooinspector-helix-screenshot" src="https://user-images.githubusercontent.com/33364712/148818936-065d19fc-e06b-4b00-8cae-374cd8ac82a0.png"> I have attached a screenshot of the updated version of ZooInspector (examining an Apache Helix cluster in Zookeeper). Author: Brent Nash <brent.nash@crowdstrike.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1796 from brentwritescode/ZOOKEEPER-4291
* ZOOKEEPER-4461: Use logback in zookeeper-contrib projectAndor Molnar2022-02-0114-149/+196
| | | | | | | | | | | | I've only found Ant references in the `-recipes` projects which I don't necesseraly want to migrate, so this patch is focusing on `-contrib` projects. Please review. Author: Andor Molnar <andor@apache.org> Reviewers: Enrico Olivelli <eolivelli@apache.org> Closes #1807 from anmolnar/ZOOKEEPER-4461
* ZOOKEEPER-4462: Update Netty tcnative to 2.0.48Enrico Olivelli2022-01-313-0/+218
| | | | | | | | Author: Enrico Olivelli <eolivelli@apache.org> Reviewers: Mate Szalay-Beko <symat@apache.org> Closes #1810 from eolivelli/ZOOKEEPER-4462
* ZOOKEEPER-4396: Read Key/trust store password from fileliwang2022-01-2814-8/+352
| | | | | | | | | | | | | | | | | | | Key/trust store password is currently specified as plain text via system property or config property. To avoid exposing passwords as plain text and reduce security vulnerability, we provide the support of reading passwords from files. The following four properties are added: 1. ssl.keyStore.passwordPath 2. ssl.quorum.keyStore.passwordPath 3. ssl.trustStore.passwordPath 4. ssl.quorum.trustStore.passwordPath Specifies the file path that contains the key/trust store password. Reading the password from a file takes precedence over the explicit password property. Author: liwang <liwang@apple.com> Reviewers: hristopher Tubbs <ctubbsii@apache.org>, Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1773 from li4wang/ZOOKEEPER-4396
* ZOOKEEPER-4454: Upgrade Netty to 4.1.73Enrico Olivelli2022-01-279-1/+1
| | | | | | | | Author: Enrico Olivelli <eolivelli@apache.org> Reviewers: symat@apache.org, cnauroth@apache.org Closes #1801 from eolivelli/fix/netty-4.1.72
* ZOOKEEPER-4453: NettyServerCnxnFactory: allow to configure the early TLS ↵Enrico Olivelli2022-01-274-35/+83
| | | | | | | | | | | | | | | | | connection drop feature - add new flag netty.server.earlyDropSecureConnectionHandshakes to turn on/off ZOOKEEPER-3682 - disable ZOOKEEPER-3682 by default - add docs - add tests for this patch and for ZOOKEEPER-3682 see https://issues.apache.org/jira/browse/ZOOKEEPER-4453 for more context Author: Enrico Olivelli <eolivelli@apache.org> Reviewers: Mate Szalay-Beko <symat@apache.org> Closes #1800 from eolivelli/fix/ZOOKEEPER-4453-b
* ZOOKEEPER-4427: Migrate to LogbackAndor Molnar2022-01-2735-814/+1381
| | | | | | | | | | | | | | | | This is the first commit of Logback migration task. 1. Replaced log4j dependencies with logback alternatives, 2. Replaced log4j.properties files with logback.xml 3. Refactored unit tests to use logback for log capturing. This patch doesn't cover the zookeeper-contrib projects, only the main codebase. Author: Andor Molnar <andor@apache.org> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Chris Nauroth <cnauroth@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1793 from anmolnar/ZOOKEEPER-4427
* ZOOKEEPER-3988: rg.apache.zookeeper.server.NettyServerCnxn.receiveMessage ↵Enrico Olivelli2022-01-252-16/+30
| | | | | | | | | | | | | | | | | throws NullPointerException Modifications: - prevent the NPE, the code that throws NPE is only to record some metrics for non TLS requests Related to: - apache/pulsar#11070 - https://github.com/pravega/zookeeper-operator/issues/393 Author: Enrico Olivelli <eolivelli@apache.org> Reviewers: Nicolo² Boschi <boschi1997@gmail.com>, Andor Molnar <andor@apache.org>, Mate Szalay-Beko <symat@apache.org> Closes #1798 from eolivelli/fix/ZOOKEEPER-3988-npe
* ZOOKEEPER-4437: Bump Jackson version from 2.10.5.1 to 2.13.1Shoothzj2022-01-222-3/+3
| | | | | | | | | | | | Bump Jackson version from 2.10.5.1 to 2.13.1 `PropertyNamingStrategy.SNAKE_CASE` deprecated, use `PropertyNamingStrategies.SNAKE_CASE` instead Author: Shoothzj <shoothzj@gmail.com> Reviewers: Enrico Olivelli <eolivelli@apache.org>, Shoothzj <shoothzj@gmail.com>, maoling <maoling@apache.org> Closes #1794 from Shoothzj/bump-jackson-core-2.13.1
* Updated Notice file to 2022Enrico Olivelli2022-01-081-1/+1
|\
| * Updated Notice file to 2022Shoothzj2022-01-081-1/+1
|/
* ZOOKEEPER-4435: fix a tiny typoepugh@opensourceconnections.com2022-01-081-1/+1
| | | | | | | | | | | | | | Small typo in the log message. Author: epugh@opensourceconnections.com <> Reviewers: Enrico Olivelli <eolivelli@apache.org>, maoling <maoling@apache.org> Closes #1792 from epugh/ZOOKEEPER-4435 and squashes the following commits: ba3d78153 [epugh@opensourceconnections.com] ZOOKEEPER-4435: typo 392b16bae [epugh@opensourceconnections.com] Revert "typo" 52db6bad4 [epugh@opensourceconnections.com] typo