{"push_id":2712831664,"size":17,"distinct_size":17,"ref":"refs/heads/fix-ipv6-literal","head":"ff4704984203921071877bdee4efef47b8c2a706","before":"8e275dc58312615b72baeb7b9f591b5d049f0084","commits":[{"sha":"a2623a625a4778720f7d5482d0a66e9b37ae556f","author":{"name":"Norbert Kalmar","email":"2bec10b891f1a5de7944929b4ba68ab873290fd7@yahoo.com"},"message":"ZOOKEEPER-3019: add metric for slow fsyncs count\n\nAdded metric to count fsyncWarningThresholdMS exceed in FileTxnLog.commit(). Both jmx bean and Command can be used to get the stat.\n\nAlso updated the python standalone client and documentation.\n\nTested the py script, i.e.:\nsrc/contrib/monitoring/check_zookeeper.py -o cacti -s \"localhost:2181\" -k zk_num_alive_connections\nlocalhost_2181:1\n\nrc/contrib/monitoring/check_zookeeper.py -o cacti -s \"localhost:2181\" -k zk_fsync_threshold_exceed_count\nlocalhost_2181:0\n\nmntr command now returns:\nzk_version\t3.6.0-SNAPSHOT-13c9f899ff62be6a2eacb28e522d06703f1dab08, built on 04/04/2018 12:09 GMT\nzk_avg_latency\t0\nzk_max_latency\t0\nzk_min_latency\t0\nzk_packets_received\t7\nzk_packets_sent\t6\nzk_num_alive_connections\t1\nzk_outstanding_requests\t0\nzk_server_state\tstandalone\nzk_znode_count\t5\nzk_watch_count\t0\nzk_ephemerals_count\t0\nzk_approximate_data_size\t44\nzk_open_file_descriptor_count\t61\nzk_max_file_descriptor_count\t10240\nzk_fsync_threshold_exceed_count\t0\n\nAuthor: Norbert Kalmar <nkalmar@yahoo.com>\n\nReviewers: Andor Molnar <andor@apache.org>\n\nCloses #501 from nkalmar/ZOOKEEPER-3019 and squashes the following commits:\n\n067edf6a [Norbert Kalmar] ZOOKEEPER-3019 remove redundant log\n7430dbce [Norbert Kalmar] ZOOKEEPER-3019 remove metric from 4ltr command as no longer supported\n1916a418 [Norbert Kalmar] ZOOKEEPER-3019 add extra warning log\n761450f9 [Norbert Kalmar] ZOOKEEPER-3019 remove fsync from py script stat check\n3b22bb7b [Norbert Kalmar] ZOOKEEPER-3019 remove fsyncEsceed from stats\n0be003a8 [Norbert Kalmar] ZOOKEEPER-3019 exclude serverStats IS chec from findbugs\nb48d2958 [Norbert Kalmar] ZOOKEEPER-3019 add unit test and fix PR comments\nfb4c7a31 [Norbert Kalmar] ZOOKEEPER-3019 add metric to track slow fsyncs count + update py script and docs","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/a2623a625a4778720f7d5482d0a66e9b37ae556f"},{"sha":"d6490d590725345638b5973a97e6e8d8bee67d22","author":{"name":"Yisong Yue","email":"47745f2660eae9e0762243f3b23bb296d13759c3@fb.com"},"message":"ZOOKEEPER-3063: Track outstanding changes with ArrayDeque\n\nChanged outstandingChanges from ArrayList to ArrayDeque.\n\nAuthor: Yisong Yue <yisongyue@fb.com>\n\nReviewers: Michael Han <hanm@apache.org>\n\nCloses #543 from yisong-yue/ZOOKEEPER-3063","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/d6490d590725345638b5973a97e6e8d8bee67d22"},{"sha":"13dd5d0db7a5c4fa926d1e44fc2047c24d5d012c","author":{"name":"LJ1043041006","email":"bfc04870b85ce5fa2a8ff7f66576224d79c989e5@qq.com"},"message":"ZOOKEEPER-3009: Potential NPE in NIOServerCnxnFactory\n\nWe have developed a static analysis tool [NPEDetector](https://github.com/lujiefsi/NPEDetector) to find some potential NPE. Our analysis shows that NPE reason can be simple:some callees may return null directly in corner case(e.g. node crash , IO exception), some of their callers have  !=null check but some do not have.\n### Bug:\nCallee getSocketAddress can return null, may caused by node crash, network exception....\n<pre>\n    public InetAddress getSocketAddress() {\n        if (sock.isOpen() == false) {\n            return null;\n        }\n        return sock.socket().getInetAddress();\n    }\n</pre>\ngetSocketAddress has two callers:  removeCnxn and removeCnxn\n\ncaller removeCnxn has null check\n<pre>\n public boolean removeCnxn(NIOServerCnxn cnxn) {\n        //other code\n        InetAddress addr = cnxn.getSocketAddress();\n        if (addr != null) {\n            Set<NIOServerCnxn> set = ipMap.get(addr);\n            //other code\n        }\n     //other code\n    }\n</pre>\n\nbut caller addCnxn has the similar code, but don't have the null check:\n<pre>\n     private void addCnxn(NIOServerCnxn cnxn) {\n         InetAddress addr = cnxn.getSocketAddress();\n         Set<NIOServerCnxn> set = ipMap.get(addr);\n        //other code\n      }\n</pre>\nI commit a patch to fix it: adding an null checker in addCnxn, and throws a semantics IOException rather than the ugly NPE.  I think the IOException  is ok, because the caller of addCnxn has the handler code:\n<pre>\n  private void processAcceptedConnections() {\n               //other code\n               try {\n                    addCnxn(cnxn);\n               } catch (IOException e) {\n                    // register, createConnection\n                    cleanupSelectionKey(key);\n                    fastCloseSock(accepted);\n               }\n             }\n</pre>\nMaybe i am wrong, please point out my error.\n\nAuthor: LJ1043041006 <1239497420@qq.com>\n\nReviewers: Patrick Hunt <phunt@apache.org>, Allan Lyu <fangmin@apache.org>, Michael Han <hanm@apache.org>\n\nCloses #525 from lujiefsi/ZOOKEEPER-3009","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/13dd5d0db7a5c4fa926d1e44fc2047c24d5d012c"},{"sha":"2a951868bda3b7343069f9155f6404c3d9d5aa8e","author":{"name":"Tim Ward","email":"d317719c71be19183e357e0f2850beaa89b56208@apache.org"},"message":"[ZOOKEEPER-2368] Send a watch event is when a client is closed\n\nCurrently, if the client is closed (rather than being remotely disconnected) there is no notification to the watcher. This means that asynchronous clients can end up waiting indefinitely for events that will never come. Watchers need to be aware that the client is closed for good.\n\nSigned-off-by: Tim Ward <timothyjwardapache.org>\n\nNote that this is a variation on a patch I produced some time ago, which was broadly accepted as a good idea, and didn't cause any problems for Curator, but was deemed by some to be too risky because it reused an existing KeeperState. This patch is therefore updated to use a new `Closed` KeeperState. Fixing this would allow me to avoid maintaining a separate fork of Zookeeper just to support this one feature!\n\nAuthor: Tim Ward <timothyjward@apache.org>\n\nReviewers: Andor Molnar <andor@apache.org>\n\nCloses #529 from timothyjward/ZOOKEEPER-2368 and squashes the following commits:\n\nd7196d19 [Tim Ward] Review comments from @anmolnar\n088056b4 [Tim Ward] Review comments from @enixon\n7fad1d36 [Tim Ward] [ZOOKEEPER-2368] Send a watch event is when a client is closed\n\n(cherry picked from commit 6748a0e3f58f2a398dec4c6988bc70ea4363b807)\nSigned-off-by: Andor Molnar <andor@cloudera.com>","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/2a951868bda3b7343069f9155f6404c3d9d5aa8e"},{"sha":"1fb644662b8e0530dec2c5668a3e49b3f614e9de","author":{"name":"Abhishek Singh Chouhan","email":"d3cac1bbaa06c74b6704d316e31817cf0d3e4458@gmail.com"},"message":"ZOOKEEPER-3059: EventThread leak in case of Sasl AuthFailed\n\nSince authFailed is similar to session expired and is considered a fatal event, we should clean up after ourselves once we get a AuthFailed, other wise this results in an unavoidable and un-cleanable thread leak  of EventThread since the close operation is also a no-op (we return after checking for isAlive).\n\nAuthor: Abhishek Singh Chouhan <abhishekchouhan121@gmail.com>\n\nReviewers: Andor Molnar <andor@apache.org>\n\nCloses #541 from abhishek-chouhan/master and squashes the following commits:\n\nc54a83a4 [Abhishek Singh Chouhan] ZOOKEEPER-3059 EventThread leak in case of Sasl AuthFailed. Adding testcase for the scenario\nc1d9d7af [Abhishek Singh Chouhan] ZOOKEEPER-3059 EventThread leak in case of Sasl AuthFailed","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/1fb644662b8e0530dec2c5668a3e49b3f614e9de"},{"sha":"3465e0ced5edda2e1299662f6b75a1979b6bdc6e","author":{"name":"Enrico Olivelli","email":"07e410ee8dc2e6e114c721434b1411e048f4444b@apache.org"},"message":"ZOOKEEPER-3066: Expose on JMX of Followers the id of the current leader\n\nExpose a new JMX attribute \"isLeader\" in RemotePeerBean and LocalPeerBean\n\nAuthor: Enrico Olivelli <eolivelli@apache.org>\n\nReviewers: Andor Molnar <andor@apache.org>\n\nCloses #546 from eolivelli/fix/ZOOKEEPER-3066-leader-jmx and squashes the following commits:\n\nbf09e37d [Enrico Olivelli] clean up spaces\nded4ce20 [Enrico Olivelli] reorder imports\n81d7bb1c [Enrico Olivelli] split tests into LocalPeerBeanTest and QuorumPeerTest\na1984ef1 [Enrico Olivelli] fix typo\neb8d1bea [Enrico Olivelli] split tests\n86b116b0 [Enrico Olivelli] enhance tests\nb5000efc [Enrico Olivelli] clean up test\n43782fe5 [Enrico Olivelli] introduce mockito tests\n2778e742 [Enrico Olivelli] revert \"ZOOKEEPER-3066 add servers restart to test case\"\n5f120631 [Enrico Olivelli] ZOOKEEPER-3066 add servers restart to test case\n067aed9e [Enrico Olivelli] ZOOKEEPER-3066 Expose on JMX of Followers the id of the current leader Enhance RemotePeerMXBean and LocalPeerMXBean by adding information about leadership","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/3465e0ced5edda2e1299662f6b75a1979b6bdc6e"},{"sha":"4607a3e156f36c52349bfb370e879dbd9e4d0691","author":{"name":"Norbert Kalmar","email":"2bec10b891f1a5de7944929b4ba68ab873290fd7@yahoo.com"},"message":"ZOOKEEPER-3022: MAVEN MIGRATION - Iteration 1 - docs, it\n\nFirst iteration of the directory changes in maven migration.\nThis time, the empty zookeeper-it for future integration tests were created, and the docs source were moved to zookeeper-docs.\nTested with forest v0.9, documents generations were successful with ant.\n\nAuthor: Norbert Kalmar <nkalmar@yahoo.com>\n\nReviewers: Andor Molnar <andor@apache.org>\n\nCloses #550 from nkalmar/ZOOKEEPER-3022-1","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/4607a3e156f36c52349bfb370e879dbd9e4d0691"},{"sha":"25fd549dcd4e01de073a2e25ef07c170389b28ea","author":{"name":"Norbert Kalmar","email":"2bec10b891f1a5de7944929b4ba68ab873290fd7@yahoo.com"},"message":"ZOOKEEPER-2873: abort startup on invalid ports\n\nThis change will check each server.x config if the client and election port are the same. Currently, ZK will startup and a race for the ports will take place. There will be an error, but ZK will keep running (without the ability to elect a leader). Now, ZK will fail on startup.\n\nAuthor: Norbert Kalmar <nkalmar@yahoo.com>\n\nReviewers: Andor Molnar <andor@apache.org>\n\nCloses #549 from nkalmar/ZOOKEEPER-2873 and squashes the following commits:\n\n022c8b70 [Norbert Kalmar] ZOOKEEPER-2873 modify test case to expect exception\n60b8128d [Norbert Kalmar] ZOOKEEPER-2873 fix old test - ReconfigTest.testUnspecifiedClientAddress\n3d747c08 [Norbert Kalmar] ZOOKEEPER-2873 abort startup on invalid ports","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/25fd549dcd4e01de073a2e25ef07c170389b28ea"},{"sha":"b593a8de1cc48534661526685e39d812aa680d36","author":{"name":"Fangmin Lyu","email":"4d09c68340da76ef9c2409b6158a0244140a5a3c@fb.com"},"message":"ZOOKEEPER-2886: Permanent session moved error in multi-op only conne…\n\n…ctions\n\nAuthor: Fangmin Lyu <allenlyu@fb.com>\n\nReviewers: Andor Molnár <andor@apache.org>, Benjamin Reed <breed@apache.org>\n\nCloses #353 from lvfangmin/ZOOKEEPER-2886","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/b593a8de1cc48534661526685e39d812aa680d36"},{"sha":"5d187ff0adc836e6d18fd4c78188f52cdbb56c25","author":{"name":"Kent R. Spillner","email":"51343197125d875cf5be1bd71b639b297abfbb7b@acm.org"},"message":"ZOOKEEPER-3079: avoid unsafe use of sprintf(3)\n\nThe function format_endpoint_info declares both addrstr and buf as 128\nelement char arrays, however on non-Windows platforms it calls\nsprintf(3) to write into buf the value of addrstr followed by ':'\nfollowed by the the port number.  This causes a compiler error when\nbuilding with GCC 8 because this could potentially overflow buf if the\nvalue of addrstr was ever 127 characters long (or a little less\ndepending on how many digits are in port).  Of course, this couldn't\nactually happen because addrstr is initialized by inet_ntop(3) which\nwon't write more than INET6_ADDRSTRLEN bytes (defined in <netinet/in.h>\non POSIX-compliant systems).  Of course, GCC doesn't know that, so let's\njust declare addrstr as a char array of only size INET6_ADDRSTRLEN\ninstead of 128.\n\nSigned-off-by: Kent R. Spillner <kspillneracm.org>\n\nAuthor: Kent R. Spillner <kspillner@acm.org>\n\nReviewers: Benjamin Reed <breed@apache.org>\n\nCloses #559 from sl4mmy/zookeeper-3079","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/5d187ff0adc836e6d18fd4c78188f52cdbb56c25"},{"sha":"32e4a1676656df57f9c73a249cb88bed5cb927ee","author":{"name":"Kent R. Spillner","email":"51343197125d875cf5be1bd71b639b297abfbb7b@acm.org"},"message":"ZOOKEEPER-3078: remove print_completion_queue\n\nThe fprintf(LOGSTREAM, ...) calls cause compiler errors when building\nwith GCC 8: \"error: null argument where non-null required\".  This is\nbecause since ZOOKEEPER-1400 (2013-05-19 commit 37973fab: Allow logging\nvia callback instead of raw FILE pointer) LOGSTREAM is defined as NULL.\nHowever, the last use of print_completion_queue was removed 2008-01-10\nin commit ffc4b0d4 (Changed zoo_get() signature, changed the watcher\ncallback signature, fixed zookeeper_close() resource leaks and race\nconditions, fixed the race condition causing xid mismatch).  So we can\navoid the compiler errors by just removing print_completion_queue.\n\nSigned-off-by: Kent R. Spillner <kspillneracm.org>\n\nAuthor: Kent R. Spillner <kspillner@acm.org>\n\nReviewers: Norbert Kalmar <nkalmar@cloudera.com>, Andor Molnár <andor@apache.org>, Benjamin Reed <breed@apache.org>\n\nCloses #558 from sl4mmy/zookeeper-3078","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/32e4a1676656df57f9c73a249cb88bed5cb927ee"},{"sha":"5fdd70ac49c7a5334bdcae309719ac4ada352dde","author":{"name":"Christine Poerschke","email":"fe80e9f6e59169f1a788f202f418965149df03ad@bloomberg.net"},"message":"ZOOKEEPER-3073: fix couple of typos\n\nAuthor: Christine Poerschke <cpoerschke@bloomberg.net>\n\nReviewers: Norbert Kalmar <nkalmar@cloudera.com>, 毛蛤丝 <maoling199210191@sina.com>, Benjamin Reed <breed@apache.org>\n\nCloses #554 from cpoerschke/master-ZOOKEEPER-3073","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/5fdd70ac49c7a5334bdcae309719ac4ada352dde"},{"sha":"c2e7ed1e6f8f2de48778db7f3d63f9629c086ea8","author":{"name":"Fangmin Lyu","email":"4d09c68340da76ef9c2409b6158a0244140a5a3c@fb.com"},"message":"ZOOKEEPER-3084: Exit when ZooKeeper cannot bind to the leader election port\n\nAuthor: Fangmin Lyu <allenlyu@fb.com>\n\nReviewers: Andor Molnár <andor@apache.org>, Benjamin Reed <breed@apache.org>, Norbert Kalmar <nkalmar@cloudera.com>, Michael Han <hanm@apache.org>\n\nCloses #562 from lvfangmin/ZOOKEEPER-3084","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/c2e7ed1e6f8f2de48778db7f3d63f9629c086ea8"},{"sha":"33f695f21f42bf0b67defda9466d2c89cfb5cbde","author":{"name":"Jeelani Mohamed Abdul Khader","email":"f30c473eb8052ecc48fc10440ce4b71f6dc2f7de@devvm3360.prn2.facebook.com"},"message":"Fix IPv6 literal usage\n\nZKPatch: 88e94e6f3665353446bf70a042c8f0cd50834f7c (extract)","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/33f695f21f42bf0b67defda9466d2c89cfb5cbde"},{"sha":"43e19e931fa0bfdf497b2b3b505be0a79cc9a8b2","author":{"name":"Mohamed Jeelani","email":"f30c473eb8052ecc48fc10440ce4b71f6dc2f7de@fb.com"},"message":"Incorporating code review comments\n\nIncorporating code review comments for pull request #548","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/43e19e931fa0bfdf497b2b3b505be0a79cc9a8b2"},{"sha":"f932e16e2d030d48c4ba7aa4ee0c0111228a3c31","author":{"name":"Mohamed Jeelani","email":"f30c473eb8052ecc48fc10440ce4b71f6dc2f7de@fb.com"},"message":"Added Unit Test and JavaDoc for splitServerConfig()","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/f932e16e2d030d48c4ba7aa4ee0c0111228a3c31"},{"sha":"ff4704984203921071877bdee4efef47b8c2a706","author":{"name":"Mohamed Jeelani","email":"f30c473eb8052ecc48fc10440ce4b71f6dc2f7de@fb.com"},"message":"Incorporating Review Feedback - Adding Unit Tests\n\nAdding unit tests for splitServerConfig()\n\n1) Successful case (IPv6)\n2) Successful case (IPv4)\n3) Failure case (IPv6 with missing closing brackets)\n4) Failure case (IPv6 with port but missing brackets)","distinct":true,"url":"https://api.github.com/repos/mjeelanimsft/zookeeper/commits/ff4704984203921071877bdee4efef47b8c2a706"}]}
{"actor":{"display_login":"mjeelanimsft"}}