You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by rx...@apache.org on 2021/02/19 03:50:32 UTC

[pulsar-client-go] branch master updated: Fix reader with start latest message id inclusive (#329) (#467)

This is an automated email from the ASF dual-hosted git repository.

rxl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-client-go.git


The following commit(s) were added to refs/heads/master by this push:
     new 7d53914  Fix reader with start latest message id inclusive (#329) (#467)
7d53914 is described below

commit 7d5391439660dd3dc5c00a8c9a3c12da36b1acd7
Author: Rueian <ru...@gmail.com>
AuthorDate: Fri Feb 19 11:50:25 2021 +0800

    Fix reader with start latest message id inclusive (#329) (#467)
    
    * Fix reader with start latest message id inclusive (#329)
    
    Fixes #356
    Fixes #419
    
    Motivtions
    
    The changes made by the original PR #329 are no longer works.
    This PR is trying to fix the bugs and make the test case be more robust.
    
    Moditications
    
    * fix the wrong comparison `pc.startMessageID == lastestMessageID` with `pc.startMessageID.equal(lastestMessageID.(messageID))`
    * fix the hanging `pc.requestSeek(msgID.messageID)` with `pc.requestSeekWithoutClear(msgID.messageID)` before the dispatch loop
    * make the `TestReaderLatestInclusiveHasNext` test case be more robust
    
    * Renew the expired certs in integration-tests with script
---
 integration-tests/certs/broker-cert.pem | 119 ++++++++++++++++---------------
 integration-tests/certs/broker-key.pem  |  55 +++++++--------
 integration-tests/certs/cacert.pem      | 119 ++++++++++++++++++-------------
 integration-tests/certs/client-cert.pem | 121 +++++++++++++++++---------------
 integration-tests/certs/client-key.pem  |  55 +++++++--------
 integration-tests/certs/generate.sh     |  16 +++++
 integration-tests/certs/openssl.cnf     |  19 +++++
 pulsar/consumer_partition.go            |  15 ++--
 pulsar/reader_test.go                   |  12 ++--
 9 files changed, 301 insertions(+), 230 deletions(-)

diff --git a/integration-tests/certs/broker-cert.pem b/integration-tests/certs/broker-cert.pem
index 69ad71c..1c3ac16 100644
--- a/integration-tests/certs/broker-cert.pem
+++ b/integration-tests/certs/broker-cert.pem
@@ -1,73 +1,78 @@
 Certificate:
     Data:
         Version: 3 (0x2)
-        Serial Number:
-            88:08:98:b3:13:d8:00:97
-        Signature Algorithm: sha1WithRSAEncryption
-        Issuer: C=US, ST=CA, O=Apache, OU=Pulsar Incubator, CN=localhost
+        Serial Number: 11302484053501346331 (0x9cda7d5d1077021b)
+    Signature Algorithm: sha1WithRSAEncryption
+        Issuer: C=US, ST=CA, O=Apache, OU=Apache Pulsar, CN=localhost
         Validity
-            Not Before: Feb 17 02:06:21 2018 GMT
-            Not After : Nov 16 00:00:00 2030 GMT
+            Not Before: Feb 16 19:12:19 2021 GMT
+            Not After : Feb 14 19:12:19 2031 GMT
         Subject: C=US, ST=CA, O=Apache, OU=Apache Pulsar, CN=localhost
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-            RSA Public Key: (2048 bit)
-                Modulus (2048 bit):
-                    00:af:bf:b7:2d:98:ad:9d:f6:da:a3:13:d4:62:0f:
-                    98:be:1c:a2:89:22:ba:6f:d5:fd:1f:67:e3:91:03:
-                    98:80:81:0e:ed:d8:f6:70:7f:2c:36:68:3d:53:ea:
-                    58:3a:a6:d5:89:66:4b:bd:1e:57:71:13:6d:4b:11:
-                    e5:40:a5:76:84:24:92:40:58:80:96:c9:1f:2c:c4:
-                    55:eb:a3:79:73:70:5c:37:9a:89:ed:2f:ba:6b:e3:
-                    82:7c:69:4a:02:54:8b:81:5e:3c:bf:4c:8a:cb:ea:
-                    2c:5e:83:e7:b7:10:08:5f:82:58:a3:89:d1:da:92:
-                    ba:2a:28:ee:30:28:3f:5b:ae:10:71:96:c7:e1:12:
-                    c5:b0:1a:ad:44:6f:44:3a:11:4a:9a:3c:0f:8d:06:
-                    80:7b:34:ef:3f:6c:f4:5e:c5:44:54:1e:c8:dd:c7:
-                    80:85:80:d9:68:e6:c6:53:03:77:e1:fe:18:61:07:
-                    77:05:4c:ed:59:bc:5d:41:38:6a:ef:5d:a1:b2:60:
-                    98:d4:48:28:95:02:8a:0e:fd:cf:7b:1b:d2:11:cc:
-                    10:0c:50:73:d7:cc:38:6c:83:dd:79:26:aa:90:c8:
-                    9b:84:86:bc:59:e9:62:69:f4:98:1b:c4:80:78:7e:
-                    a0:1a:81:9d:d2:e1:66:dd:c4:cc:fc:63:04:ac:ec:
-                    a7:35
+                Public-Key: (2048 bit)
+                Modulus:
+                    00:bb:c0:b5:9c:7a:6e:bd:9d:18:c0:34:13:cb:e4:
+                    af:d7:ef:47:ee:78:2c:84:48:6c:35:8b:74:6a:58:
+                    ab:dc:52:5c:b3:38:bf:dd:3d:dd:c1:0d:af:8d:9c:
+                    53:db:1f:a5:53:f1:4a:05:63:b3:3a:97:1c:e1:5b:
+                    c3:2d:11:09:6d:fc:58:29:36:c1:ad:2d:3a:35:39:
+                    ab:52:81:89:6d:be:3a:25:4e:a2:29:aa:86:83:3e:
+                    72:92:1f:1f:33:8a:0c:f4:28:de:62:16:25:0b:f5:
+                    45:f7:a9:71:c2:30:ab:52:dc:07:d5:a4:5e:c9:46:
+                    e8:03:0d:a7:57:74:a4:e5:ed:8a:c9:e2:0c:f1:e1:
+                    10:4d:bb:7f:bc:84:c5:c1:13:22:3d:c9:d8:d0:55:
+                    8a:bb:51:98:e5:11:36:8e:9b:da:1a:f2:0f:48:99:
+                    49:24:38:94:fa:ab:ef:50:c5:13:a7:df:f6:17:8c:
+                    a5:5e:31:87:ab:5a:27:c8:e9:fb:e7:db:94:92:ec:
+                    4d:b6:2f:56:8e:73:b5:ff:57:f2:ed:f8:09:2d:f9:
+                    e2:93:ed:8d:6a:18:54:3e:86:04:79:5a:7f:d1:db:
+                    ae:47:b0:03:21:6b:57:f4:6b:84:a5:ba:41:84:09:
+                    e2:4c:5c:bd:f8:42:c6:46:39:d1:64:8e:db:7c:41:
+                    d9:b5
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
                 CA:FALSE
-            Netscape Comment: 
-                OpenSSL Generated Certificate
-            X509v3 Subject Key Identifier: 
-                D3:F3:19:AE:74:B1:AF:E7:AF:08:7B:16:72:78:29:87:79:ED:30:8C
             X509v3 Authority Key Identifier: 
-                keyid:D4:7A:CD:0F:44:1B:16:29:25:14:ED:A2:EF:13:0F:A7:46:09:78:F6
+                keyid:AE:7E:50:17:5D:13:6E:22:E5:C6:97:43:B9:8F:3A:B6:FA:FB:48:D2
 
+            X509v3 Subject Key Identifier: 
+                19:CF:49:FC:44:E7:14:CD:F8:D3:1F:F0:7F:1E:AB:BC:39:3B:4C:EE
     Signature Algorithm: sha1WithRSAEncryption
-        0f:04:f3:91:f2:87:19:fe:9d:f8:34:5a:24:4a:00:d1:58:bf:
-        1e:b2:77:67:07:bc:78:b5:4b:9a:4b:fd:a1:e5:dc:0e:09:84:
-        9e:59:c4:dd:cf:f7:2e:bf:da:f3:31:36:6b:81:6e:a2:88:76:
-        e4:2e:0b:36:44:82:36:8f:80:93:f4:9e:fc:ed:85:d0:97:da:
-        0f:fb:c9:b9:8b:da:ae:07:3d:4f:82:b7:0c:25:22:63:12:6b:
-        0a:e9:c4:12:a4:5c:ed:11:12:cc:fe:b0:2e:d4:c1:ec:79:01:
-        60:ea:cc:cc:e5:66:cc:57:f6:55:a9:09:4c:63:01:e9:b4:2e:
-        73:a5
+         de:68:16:95:78:37:bc:67:6f:a4:b2:ba:d4:9b:e8:d0:9c:d3:
+         c3:88:25:1a:db:c1:ad:d1:a3:b9:a4:22:0a:34:ce:30:ea:cc:
+         ca:95:b4:86:18:31:d7:be:45:62:cc:5e:97:8b:f8:01:3d:03:
+         ac:1e:d0:67:7d:ad:c6:0d:39:ce:61:bf:0b:ab:6b:7d:8b:41:
+         96:15:b4:d7:5d:9b:02:d2:15:9e:3d:03:84:f2:f5:41:f7:a8:
+         f0:14:e1:22:d3:81:8b:d1:e6:b5:55:95:83:85:c8:41:73:d4:
+         66:fb:4d:52:3b:5a:20:e0:1a:f2:44:08:b0:aa:31:8b:57:bf:
+         b0:d5:51:3c:af:c7:0f:2f:27:23:fe:32:12:57:f4:7d:a0:74:
+         a9:3b:05:fd:c2:12:90:33:e6:75:3b:56:66:4b:4b:b9:af:05:
+         f7:84:0d:78:fb:1d:94:4b:bf:d8:bb:85:b7:0b:d2:64:27:05:
+         1a:a3:81:00:31:76:83:7d:ed:e2:98:0b:02:e6:0e:c0:c8:42:
+         d1:54:cf:a4:20:50:f1:99:47:b9:06:18:29:24:4f:64:a2:86:
+         69:0c:61:59:53:77:86:0b:ec:ca:e6:5a:60:a9:72:6c:88:72:
+         8e:b2:75:0a:a1:fa:1d:6e:cd:e9:ee:a2:05:c4:f4:4c:6b:42:
+         e2:c4:6d:a2
 -----BEGIN CERTIFICATE-----
-MIIDLjCCApegAwIBAgIJAIgImLMT2ACXMA0GCSqGSIb3DQEBBQUAMFoxCzAJBgNV
-BAYTAlVTMQswCQYDVQQIEwJDQTEPMA0GA1UEChMGQXBhY2hlMRkwFwYDVQQLExBQ
-dWxzYXIgSW5jdWJhdG9yMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMTgwMjE3MDIw
-NjIxWhcNMzAxMTE2MDAwMDAwWjBXMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0Ex
-DzANBgNVBAoTBkFwYWNoZTEWMBQGA1UECxMNQXBhY2hlIFB1bHNhcjESMBAGA1UE
-AxMJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr7+3
-LZitnfbaoxPUYg+YvhyiiSK6b9X9H2fjkQOYgIEO7dj2cH8sNmg9U+pYOqbViWZL
-vR5XcRNtSxHlQKV2hCSSQFiAlskfLMRV66N5c3BcN5qJ7S+6a+OCfGlKAlSLgV48
-v0yKy+osXoPntxAIX4JYo4nR2pK6KijuMCg/W64QcZbH4RLFsBqtRG9EOhFKmjwP
-jQaAezTvP2z0XsVEVB7I3ceAhYDZaObGUwN34f4YYQd3BUztWbxdQThq712hsmCY
-1EgolQKKDv3PexvSEcwQDFBz18w4bIPdeSaqkMibhIa8WeliafSYG8SAeH6gGoGd
-0uFm3cTM/GMErOynNQIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQf
-Fh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU0/MZrnSx
-r+evCHsWcngph3ntMIwwHwYDVR0jBBgwFoAU1HrND0QbFiklFO2i7xMPp0YJePYw
-DQYJKoZIhvcNAQEFBQADgYEADwTzkfKHGf6d+DRaJEoA0Vi/HrJ3Zwe8eLVLmkv9
-oeXcDgmEnlnE3c/3Lr/a8zE2a4Fuooh25C4LNkSCNo+Ak/Se/O2F0JfaD/vJuYva
-rgc9T4K3DCUiYxJrCunEEqRc7RESzP6wLtTB7HkBYOrMzOVmzFf2VakJTGMB6bQu
-c6U=
+MIIDfjCCAmagAwIBAgIJAJzafV0QdwIbMA0GCSqGSIb3DQEBBQUAMFcxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIDAJDQTEPMA0GA1UECgwGQXBhY2hlMRYwFAYDVQQLDA1B
+cGFjaGUgUHVsc2FyMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMjEwMjE2MTkxMjE5
+WhcNMzEwMjE0MTkxMjE5WjBXMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExDzAN
+BgNVBAoMBkFwYWNoZTEWMBQGA1UECwwNQXBhY2hlIFB1bHNhcjESMBAGA1UEAwwJ
+bG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu8C1nHpu
+vZ0YwDQTy+Sv1+9H7ngshEhsNYt0alir3FJcszi/3T3dwQ2vjZxT2x+lU/FKBWOz
+Opcc4VvDLREJbfxYKTbBrS06NTmrUoGJbb46JU6iKaqGgz5ykh8fM4oM9CjeYhYl
+C/VF96lxwjCrUtwH1aReyUboAw2nV3Sk5e2KyeIM8eEQTbt/vITFwRMiPcnY0FWK
+u1GY5RE2jpvaGvIPSJlJJDiU+qvvUMUTp9/2F4ylXjGHq1onyOn759uUkuxNti9W
+jnO1/1fy7fgJLfnik+2NahhUPoYEeVp/0duuR7ADIWtX9GuEpbpBhAniTFy9+ELG
+RjnRZI7bfEHZtQIDAQABo00wSzAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFK5+UBdd
+E24i5caXQ7mPOrb6+0jSMB0GA1UdDgQWBBQZz0n8ROcUzfjTH/B/Hqu8OTtM7jAN
+BgkqhkiG9w0BAQUFAAOCAQEA3mgWlXg3vGdvpLK61Jvo0JzTw4glGtvBrdGjuaQi
+CjTOMOrMypW0hhgx175FYsxel4v4AT0DrB7QZ32txg05zmG/C6trfYtBlhW0112b
+AtIVnj0DhPL1Qfeo8BThItOBi9HmtVWVg4XIQXPUZvtNUjtaIOAa8kQIsKoxi1e/
+sNVRPK/HDy8nI/4yElf0faB0qTsF/cISkDPmdTtWZktLua8F94QNePsdlEu/2LuF
+twvSZCcFGqOBADF2g33t4pgLAuYOwMhC0VTPpCBQ8ZlHuQYYKSRPZKKGaQxhWVN3
+hgvsyuZaYKlybIhyjrJ1CqH6HW7N6e6iBcT0TGtC4sRtog==
 -----END CERTIFICATE-----
diff --git a/integration-tests/certs/broker-key.pem b/integration-tests/certs/broker-key.pem
index 004bf8e..9906b35 100644
--- a/integration-tests/certs/broker-key.pem
+++ b/integration-tests/certs/broker-key.pem
@@ -1,28 +1,27 @@
------BEGIN PRIVATE KEY-----
-MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCvv7ctmK2d9tqj
-E9RiD5i+HKKJIrpv1f0fZ+ORA5iAgQ7t2PZwfyw2aD1T6lg6ptWJZku9HldxE21L
-EeVApXaEJJJAWICWyR8sxFXro3lzcFw3montL7pr44J8aUoCVIuBXjy/TIrL6ixe
-g+e3EAhfglijidHakroqKO4wKD9brhBxlsfhEsWwGq1Eb0Q6EUqaPA+NBoB7NO8/
-bPRexURUHsjdx4CFgNlo5sZTA3fh/hhhB3cFTO1ZvF1BOGrvXaGyYJjUSCiVAooO
-/c97G9IRzBAMUHPXzDhsg915JqqQyJuEhrxZ6WJp9JgbxIB4fqAagZ3S4WbdxMz8
-YwSs7Kc1AgMBAAECggEAAaWEK9MwXTiA1+JJrRmETtOp2isPIBkbI/4vLZ6hASM0
-ZpoPxQIMAf58BJs/dF03xu/EaeMs4oxSC9ABG9fxAk/tZtjta3w65Ip6W5jOfHxj
-AMpb3HMEBhq9kDjUTq1IGVAutYQcEMkC3WfS9e4ahfqMpguWgbu6LsbvZFgcL9mv
-pGnKv9YVe6Xk6isvqtq6G1af0rd7c//xF0i0e/qEo83Buok3gLEZOELZbcRxjUYc
-jnyglnXnwkGjuL4E3wgS3l73ZKsb6+AYoqhMPVz8t4/PN3tTrsBJKOSYo8KzIm0U
-ek9T8XmPbP0cuheRxp9Dp8TXJJQZK0N9jz+EL0ogQQKBgQDnavm8GpR4pap9cDOc
-+YI5s823b507pNdSU8elO9gLsP0JlFzv+sqghVko29r85D7Vn3MkgYTy0S4ANLCs
-0NFDY8N2QH6U1dTkk1QXZydVZDuKJ5SSpC4v+Vafl8yDxhB4Nlxhbm9vJEMfLcXh
-2kL6UlAuFDtYD0AdczwnHu5DjQKBgQDCauocm55FpcyDMMBO2CjurxcjBYS3S1xT
-Bz+sPtxJLjlKbAt8kSHUQcCcX9zhrQBfsT38LATCmKaOFqUW5/PPh2LcrxiMqlL1
-OJBUJ3Te2LTjlUn8r+DHv/69UIh5tchwRr3YgB0DuIs7jfmr4VfiOWTBtPVhoGFR
-1Wt60j30SQKBgHzreS26J2VNAFBALgxRf6OIVMbtgDG/FOCDCyU9vazp+F2gcd61
-QYYPFYcBzx9uUiDctroBFHRCyJMh3jEbc6ruAogl3m6XUxmkEeOkMk5dEerM3N2f
-tLL+5Gy385U6aI+LwKhzhcG4EGeXPNdjC362ykNldnddnB2Jo/H2N2XNAoGAdnft
-xpbxP+GDGKIZXTIM5zzcLWQMdiC+1n1BSHVZiGJZWMczzKknYw7aDq+/iekApE79
-xW8RS373ZvfXi3i2Mcx+6pjrrbOQL4tTL2SHq8+DknaDCi4mG7IbyUKMlxW1WO1S
-e929UGogtZ6S+DCte9WbVwosyFuRUetpvgLk67kCgYBWetihZjgBWrqVYT24TTRH
-KxzSzH1JgzzF9qgTdlhXDv9hC+Kc0uTKsgViesDqVuCOjkwzY5OQr9c6duO0fwwP
-qNk/qltdgjMC5iiv7duyukfbEuqKEdGGer9HFb7en96dZdVQJpYHaaslAGurtD80
-ejCQZgzR2XaHSuIQb0IUVQ==
------END PRIVATE KEY-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAu8C1nHpuvZ0YwDQTy+Sv1+9H7ngshEhsNYt0alir3FJcszi/
+3T3dwQ2vjZxT2x+lU/FKBWOzOpcc4VvDLREJbfxYKTbBrS06NTmrUoGJbb46JU6i
+KaqGgz5ykh8fM4oM9CjeYhYlC/VF96lxwjCrUtwH1aReyUboAw2nV3Sk5e2KyeIM
+8eEQTbt/vITFwRMiPcnY0FWKu1GY5RE2jpvaGvIPSJlJJDiU+qvvUMUTp9/2F4yl
+XjGHq1onyOn759uUkuxNti9WjnO1/1fy7fgJLfnik+2NahhUPoYEeVp/0duuR7AD
+IWtX9GuEpbpBhAniTFy9+ELGRjnRZI7bfEHZtQIDAQABAoIBACDirSy+SR1PIeGw
+fXMuGBqzX58GT43P/ZwXVAm4hEmv52rA2uJOjsPcuM4N/qYX0eZ1EekFwIPXqghT
+AUmofUVVeL+nRp8ll9dwxXBLHh4pvpeAQWkY5DyiuICdkOJ/IKu3aNQ3Wr/QczPg
+6vr/eVKnFXw3MR8CG2tFffUUijl3Z/EswoezMhWNLJE8Gp1HqgPxSuEisw8aUBvT
+WqSg313FX+BKLKJKfddxmf6D4CkzKZBfxxVt0oCct0UmSMqNxPNpxGFuhi2+RBUp
+/tsRF8DXk2PZPh7FzeiAF4ebeUxXeh723i9ugROMMSOIoKjhAgKpRNaosXtDj6Mb
+sjw886ECgYEA6QdrzjqGIh7802+cLa63BWD1a6LA9lo8b9JmDT7/SPbjQ8hWVgUK
+h6zD8QnA3aK8oNX4/TR4xgBIaVgLgV2M8R3C4F5GFEwN9+rc4JUgfG3xOa3AG81I
+bQkOPr6weSwd1bsW4AddJEJ3jmLMgTBIG57p/vV3f931UOAx846hD40CgYEAzkK5
+mjWcUtAivNbOgSjPsgCM0e1WwVf5rh8Da65QoVFE1u1K+t9T311OhrdJG50BMc6V
+B4UdoM7s54BKFc68/3Kaen81bW3l3nmBVoWJGMiF/VLRF/W1PNFg2H3TSTjH8C3W
+xn+2i5tbAJfbv+Rj44sNjXsN/45blhzDuyA0NMkCgYEAwZFnjLRyjU9eRqgUfKH/
+59jlpFZaoYjNYTnNib1Fw69JkxmMFgI0AAWT8dpfOfwfYh67qGD43ciIXfFEBV7X
+X8aQBV5qKhwPElwmw+s8Q//zfC0HQlDgk6oNCjPOVak+0zaIxul3BlKsCzuokruv
+ejokN6RhcnbGezrwY1ecFFUCgYA73eYdOl5LMxpCEV8S4hOWqM42yFqb97sCrQHD
+KW9Bw2Llty5CLrwbYuu98kkH+MQ1/q4G5r44xJbCgtv+BGmbA1qPH4kUYAeOUVoX
+EN9AEEPDyVvjRm/6XRNtAuhmolJ2BfgG2V7Ump0JSQqBYfsUOnIOlJ71hA5VPbga
+Ajjk8QKBgQDoZUeFa5y6B3YWdgI24nRustuCOCBLPndL2Hx5S2EZN/ydoEd8I667
+1OhztTiLFBuHYdagOJp9XGoFIurbE/oMrOsWwS+L+QfXuQR9PKCdvxHIsj+bNzNg
+QdvUrlX+6kpriBN5dtniqCUVA+dlKcHSUllwVSvxTqrjs9U+N+fSnA==
+-----END RSA PRIVATE KEY-----
diff --git a/integration-tests/certs/cacert.pem b/integration-tests/certs/cacert.pem
index 55e9067..432b6a7 100644
--- a/integration-tests/certs/cacert.pem
+++ b/integration-tests/certs/cacert.pem
@@ -1,62 +1,81 @@
 Certificate:
     Data:
         Version: 3 (0x2)
-        Serial Number:
-            88:08:98:b3:13:d8:00:94
-        Signature Algorithm: sha1WithRSAEncryption
-        Issuer: C=US, ST=CA, O=Apache, OU=Pulsar Incubator, CN=localhost
+        Serial Number: 15605511759691510625 (0xd891ea438e97f361)
+    Signature Algorithm: sha256WithRSAEncryption
+        Issuer: C=US, ST=CA, O=Apache, OU=Apache Pulsar, CN=localhost
         Validity
-            Not Before: Feb 17 01:37:33 2018 GMT
-            Not After : Feb 16 01:37:33 2021 GMT
-        Subject: C=US, ST=CA, O=Apache, OU=Pulsar Incubator, CN=localhost
+            Not Before: Feb 16 19:12:19 2021 GMT
+            Not After : Feb 16 19:12:19 2024 GMT
+        Subject: C=US, ST=CA, O=Apache, OU=Apache Pulsar, CN=localhost
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-            RSA Public Key: (1024 bit)
-                Modulus (1024 bit):
-                    00:ea:16:8d:a5:b1:19:61:34:54:07:02:60:4e:6d:
-                    54:92:08:fd:fb:23:79:9c:05:bf:14:f7:bc:aa:db:
-                    2b:42:a4:35:74:86:e3:00:ad:8b:18:79:73:7d:f2:
-                    d1:74:dd:74:bc:b8:a2:4c:80:c9:f3:80:ce:bf:f8:
-                    6d:97:f5:05:4f:f4:b2:99:50:e8:d8:b0:c4:57:a0:
-                    e7:dc:82:57:75:2a:a2:02:21:76:f7:37:c2:dc:7c:
-                    4c:36:a6:73:6f:dc:75:48:72:ad:fa:98:02:70:b2:
-                    5e:a2:83:cc:c3:8d:20:a7:1e:bc:d7:1e:c1:d1:7e:
-                    39:35:4b:f5:be:6b:c1:0f:f9
+                Public-Key: (2048 bit)
+                Modulus:
+                    00:e3:31:32:9c:cc:a4:1d:2e:39:ed:7c:ee:14:3b:
+                    29:71:e0:90:56:f0:ca:00:86:66:4b:32:1e:e3:a5:
+                    3e:e6:bc:0c:98:ea:ff:0c:da:3e:00:7a:82:f5:a4:
+                    59:1c:f2:4c:35:2d:52:83:d6:f8:6d:33:2c:f7:ec:
+                    48:30:da:13:dd:a9:8f:98:88:21:80:ee:45:b5:44:
+                    73:62:69:2b:c4:47:1c:fb:9e:8f:0b:01:b7:94:28:
+                    62:f1:44:b3:64:44:fc:02:62:61:26:05:7a:26:45:
+                    4a:6f:6d:27:13:e4:07:6c:7c:01:d3:1e:ab:53:92:
+                    dc:2d:d0:bf:ce:eb:eb:52:cf:ed:e3:2a:c7:fd:dc:
+                    72:8b:09:6e:3f:23:1a:b8:ee:cc:bb:7f:be:02:16:
+                    8b:e0:e7:d3:10:88:54:68:01:64:c4:06:0a:c7:40:
+                    a0:65:f9:66:25:9b:8d:a2:37:e2:12:5d:fa:94:f4:
+                    27:98:b4:48:95:ef:f0:9c:88:32:9c:a9:7e:6e:8f:
+                    83:d6:d9:44:b4:8a:d1:68:cf:ad:aa:e7:64:b8:04:
+                    2f:02:1d:c0:85:77:b8:39:da:e7:21:28:4a:67:7c:
+                    56:f4:ae:62:e0:9f:74:dc:f4:b5:08:1f:99:50:73:
+                    08:55:90:01:0d:15:dc:ab:a3:cb:75:8c:73:7a:43:
+                    34:0f
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
-            X509v3 Subject Key Identifier: 
-                D4:7A:CD:0F:44:1B:16:29:25:14:ED:A2:EF:13:0F:A7:46:09:78:F6
-            X509v3 Authority Key Identifier: 
-                keyid:D4:7A:CD:0F:44:1B:16:29:25:14:ED:A2:EF:13:0F:A7:46:09:78:F6
-                DirName:/C=US/ST=CA/O=Apache/OU=Pulsar Incubator/CN=localhost
-                serial:88:08:98:B3:13:D8:00:94
-
             X509v3 Basic Constraints: 
                 CA:TRUE
-    Signature Algorithm: sha1WithRSAEncryption
-        5e:30:c5:7b:30:3e:1e:16:cd:ba:66:f1:2a:19:13:8a:1a:00:
-        08:f4:1e:8c:e4:3d:57:13:65:96:bf:07:58:55:52:37:3e:aa:
-        2c:19:de:ee:c3:92:6e:79:f3:06:0e:9a:7b:e0:02:50:c3:ef:
-        3b:84:ea:8f:e0:f0:16:a6:a6:67:8b:be:73:0e:5d:f7:88:39:
-        d3:d4:df:85:ad:7c:c1:4f:fa:55:55:6f:c2:48:4e:8e:82:fa:
-        72:3b:8e:9d:dc:f7:2e:9d:47:8e:e5:c9:a2:ee:b1:76:94:15:
-        7c:7a:62:bc:06:45:fa:61:2e:33:8c:18:3e:e9:d5:90:a5:a6:
-        80:5a
+            X509v3 Authority Key Identifier: 
+                DirName:/C=US/ST=CA/O=Apache/OU=Apache Pulsar/CN=localhost
+                serial:D8:91:EA:43:8E:97:F3:61
+
+            X509v3 Subject Key Identifier: 
+                AE:7E:50:17:5D:13:6E:22:E5:C6:97:43:B9:8F:3A:B6:FA:FB:48:D2
+    Signature Algorithm: sha256WithRSAEncryption
+         bd:b5:15:07:c1:be:04:dd:3a:09:5d:16:14:ff:67:ad:df:c3:
+         23:f0:92:1c:ce:35:c7:9d:38:91:bb:00:d3:51:6a:65:32:0e:
+         c9:5b:a7:cd:eb:51:ff:79:22:09:9b:f1:b3:a2:ae:b6:47:59:
+         5e:ef:2a:7a:47:a7:ca:06:9d:ba:e5:af:b1:06:28:25:91:92:
+         c0:0c:ab:22:22:cb:e5:38:7e:5e:f1:8b:b0:82:29:1a:36:db:
+         95:bc:0e:17:f7:9d:7d:9f:ac:52:b9:c3:64:a2:8f:a6:a4:f4:
+         a5:27:97:87:66:62:44:6c:f3:3a:63:aa:5e:ea:ae:58:74:d5:
+         c3:9c:a0:0c:d0:a3:fe:00:c6:7c:21:bd:ed:a5:8f:a6:ee:89:
+         77:e1:b0:4a:81:97:61:f9:59:df:50:b1:05:73:15:f5:cf:8e:
+         31:ad:4e:e5:00:60:ba:75:5c:92:71:68:bb:ca:04:f5:33:34:
+         a0:49:98:d0:17:cb:e4:49:09:6c:f3:7a:88:ad:f6:fd:f1:ed:
+         8d:ee:0f:45:bd:37:6c:26:0a:ab:b3:bd:c8:f3:cd:83:be:f4:
+         f2:94:6e:ca:d1:89:e0:f7:df:67:ec:6a:ee:2e:8d:40:33:45:
+         9f:f2:6a:8f:61:26:a6:02:4a:92:0f:0f:65:1b:6e:a6:35:9a:
+         04:ee:ba:e4
 -----BEGIN CERTIFICATE-----
-MIIC8jCCAlugAwIBAgIJAIgImLMT2ACUMA0GCSqGSIb3DQEBBQUAMFoxCzAJBgNV
-BAYTAlVTMQswCQYDVQQIEwJDQTEPMA0GA1UEChMGQXBhY2hlMRkwFwYDVQQLExBQ
-dWxzYXIgSW5jdWJhdG9yMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMTgwMjE3MDEz
-NzMzWhcNMjEwMjE2MDEzNzMzWjBaMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0Ex
-DzANBgNVBAoTBkFwYWNoZTEZMBcGA1UECxMQUHVsc2FyIEluY3ViYXRvcjESMBAG
-A1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqFo2l
-sRlhNFQHAmBObVSSCP37I3mcBb8U97yq2ytCpDV0huMArYsYeXN98tF03XS8uKJM
-gMnzgM6/+G2X9QVP9LKZUOjYsMRXoOfcgld1KqICIXb3N8LcfEw2pnNv3HVIcq36
-mAJwsl6ig8zDjSCnHrzXHsHRfjk1S/W+a8EP+QIDAQABo4G/MIG8MB0GA1UdDgQW
-BBTUes0PRBsWKSUU7aLvEw+nRgl49jCBjAYDVR0jBIGEMIGBgBTUes0PRBsWKSUU
-7aLvEw+nRgl49qFepFwwWjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMQ8wDQYD
-VQQKEwZBcGFjaGUxGTAXBgNVBAsTEFB1bHNhciBJbmN1YmF0b3IxEjAQBgNVBAMT
-CWxvY2FsaG9zdIIJAIgImLMT2ACUMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEF
-BQADgYEAXjDFezA+HhbNumbxKhkTihoACPQejOQ9VxNllr8HWFVSNz6qLBne7sOS
-bnnzBg6ae+ACUMPvO4Tqj+DwFqamZ4u+cw5d94g509Tfha18wU/6VVVvwkhOjoL6
-cjuOndz3Lp1HjuXJou6xdpQVfHpivAZF+mEuM4wYPunVkKWmgFo=
+MIID1TCCAr2gAwIBAgIJANiR6kOOl/NhMA0GCSqGSIb3DQEBCwUAMFcxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIDAJDQTEPMA0GA1UECgwGQXBhY2hlMRYwFAYDVQQLDA1B
+cGFjaGUgUHVsc2FyMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMjEwMjE2MTkxMjE5
+WhcNMjQwMjE2MTkxMjE5WjBXMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExDzAN
+BgNVBAoMBkFwYWNoZTEWMBQGA1UECwwNQXBhY2hlIFB1bHNhcjESMBAGA1UEAwwJ
+bG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4zEynMyk
+HS457XzuFDspceCQVvDKAIZmSzIe46U+5rwMmOr/DNo+AHqC9aRZHPJMNS1Sg9b4
+bTMs9+xIMNoT3amPmIghgO5FtURzYmkrxEcc+56PCwG3lChi8USzZET8AmJhJgV6
+JkVKb20nE+QHbHwB0x6rU5LcLdC/zuvrUs/t4yrH/dxyiwluPyMauO7Mu3++AhaL
+4OfTEIhUaAFkxAYKx0CgZflmJZuNojfiEl36lPQnmLRIle/wnIgynKl+bo+D1tlE
+tIrRaM+tqudkuAQvAh3AhXe4OdrnIShKZ3xW9K5i4J903PS1CB+ZUHMIVZABDRXc
+q6PLdYxzekM0DwIDAQABo4GjMIGgMAwGA1UdEwQFMAMBAf8wcQYDVR0jBGowaKFb
+pFkwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQ8wDQYDVQQKDAZBcGFjaGUx
+FjAUBgNVBAsMDUFwYWNoZSBQdWxzYXIxEjAQBgNVBAMMCWxvY2FsaG9zdIIJANiR
+6kOOl/NhMB0GA1UdDgQWBBSuflAXXRNuIuXGl0O5jzq2+vtI0jANBgkqhkiG9w0B
+AQsFAAOCAQEAvbUVB8G+BN06CV0WFP9nrd/DI/CSHM41x504kbsA01FqZTIOyVun
+zetR/3kiCZvxs6KutkdZXu8qekenygaduuWvsQYoJZGSwAyrIiLL5Th+XvGLsIIp
+GjbblbwOF/edfZ+sUrnDZKKPpqT0pSeXh2ZiRGzzOmOqXuquWHTVw5ygDNCj/gDG
+fCG97aWPpu6Jd+GwSoGXYflZ31CxBXMV9c+OMa1O5QBgunVcknFou8oE9TM0oEmY
+0BfL5EkJbPN6iK32/fHtje4PRb03bCYKq7O9yPPNg7708pRuytGJ4PffZ+xq7i6N
+QDNFn/Jqj2EmpgJKkg8PZRtupjWaBO665A==
 -----END CERTIFICATE-----
diff --git a/integration-tests/certs/client-cert.pem b/integration-tests/certs/client-cert.pem
index 61847f2..dcc387e 100644
--- a/integration-tests/certs/client-cert.pem
+++ b/integration-tests/certs/client-cert.pem
@@ -1,73 +1,78 @@
 Certificate:
     Data:
         Version: 3 (0x2)
-        Serial Number:
-            88:08:98:b3:13:d8:00:99
-        Signature Algorithm: sha1WithRSAEncryption
-        Issuer: C=US, ST=CA, O=Apache, OU=Pulsar Incubator, CN=localhost
+        Serial Number: 11302484053501346330 (0x9cda7d5d1077021a)
+    Signature Algorithm: sha1WithRSAEncryption
+        Issuer: C=US, ST=CA, O=Apache, OU=Apache Pulsar, CN=localhost
         Validity
-            Not Before: Feb 17 02:50:05 2018 GMT
-            Not After : Nov 16 00:00:00 2030 GMT
-        Subject: C=US, ST=CA, O=Apache, OU=Apache Pulsar, CN=superUser
+            Not Before: Feb 16 19:12:19 2021 GMT
+            Not After : Feb 14 19:12:19 2031 GMT
+        Subject: C=US, ST=CA, O=Apache, OU=Apache Pulsar, CN=localhost
         Subject Public Key Info:
             Public Key Algorithm: rsaEncryption
-            RSA Public Key: (2048 bit)
-                Modulus (2048 bit):
-                    00:cd:43:7d:98:40:f9:b0:5b:bc:ae:db:c0:0b:ad:
-                    26:90:96:e0:62:38:ed:68:b1:70:46:3b:de:44:f9:
-                    14:51:86:10:eb:ca:90:e7:88:e8:f9:91:85:e0:dd:
-                    b5:b4:14:b9:78:e3:86:d5:54:6d:68:ec:14:92:b4:
-                    f8:22:5b:05:3d:ed:31:25:65:08:05:84:ca:e6:0c:
-                    21:12:58:32:c7:1a:60:a3:4f:d2:4a:9e:28:19:7c:
-                    45:84:00:8c:89:dc:de:8a:e5:4f:88:91:cc:a4:f1:
-                    81:45:4c:7d:c2:ff:e2:c1:89:c6:12:73:95:e2:36:
-                    bd:db:ae:8b:5a:68:6a:90:51:de:2b:88:5f:aa:67:
-                    f4:a8:e3:63:dc:be:19:82:cc:9d:7f:e6:8d:fb:82:
-                    be:22:01:3d:56:13:3b:5b:04:b4:e8:c5:18:e6:2e:
-                    0d:fa:ba:4a:8d:e8:c6:5a:a1:51:9a:4a:62:d7:af:
-                    dd:b4:fc:e2:d5:cd:ae:99:6c:5c:61:56:0b:d7:0c:
-                    1a:77:5c:f5:3a:6a:54:b5:9e:33:ac:a9:75:28:9a:
-                    76:af:d0:7a:57:00:1b:91:13:31:fd:42:88:21:47:
-                    05:10:01:2f:59:bb:c7:3a:d9:e1:58:4c:1b:6c:71:
-                    b6:98:ef:dd:03:82:58:a3:32:dc:90:a1:b6:a6:1e:
-                    e1:0b
+                Public-Key: (2048 bit)
+                Modulus:
+                    00:be:80:9c:b6:0e:88:4b:61:3f:c9:fc:60:45:63:
+                    34:e0:1c:49:4a:0c:f0:0a:6a:e6:93:1d:38:db:03:
+                    14:68:56:54:41:be:8f:e9:48:3a:21:68:b3:f5:e4:
+                    60:e5:a7:90:af:be:37:0d:08:09:3e:bc:d4:9e:8c:
+                    7a:ae:ca:44:c6:cc:b5:96:9b:3f:8e:a0:50:da:7d:
+                    49:98:23:98:d5:b1:64:e6:f7:42:e0:21:ac:0a:75:
+                    58:72:bd:97:1a:72:bd:77:a6:00:38:d9:a3:e0:73:
+                    11:5b:a9:f1:c7:b8:5f:96:e9:d6:87:ae:82:37:1a:
+                    1d:81:78:74:46:a7:0a:ec:1d:4d:ec:95:b9:13:e0:
+                    e3:1f:af:7a:cd:61:2b:d2:af:9e:a4:4c:ca:00:8d:
+                    6d:24:39:7f:12:bc:c9:26:7a:68:f3:7b:c7:fa:2e:
+                    61:d4:88:30:37:b5:2a:ca:39:8d:10:ca:6b:00:b9:
+                    dd:6b:98:1f:84:bb:70:fc:fa:35:43:fe:9a:5d:da:
+                    7f:eb:8a:3a:22:0c:bf:70:d6:14:4d:50:89:7e:a7:
+                    92:1b:a9:2c:e4:14:a3:7f:e4:c3:aa:83:a1:c2:d8:
+                    54:52:07:5b:2b:dd:f4:db:88:0b:37:58:13:a9:2a:
+                    00:36:c1:ea:a5:84:90:19:ce:2c:71:47:9d:c2:94:
+                    71:8f
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Basic Constraints: 
                 CA:FALSE
-            Netscape Comment: 
-                OpenSSL Generated Certificate
-            X509v3 Subject Key Identifier: 
-                53:7C:D5:D1:52:97:9A:D6:D5:EA:EC:B6:0C:9B:43:39:19:73:F6:2C
             X509v3 Authority Key Identifier: 
-                keyid:D4:7A:CD:0F:44:1B:16:29:25:14:ED:A2:EF:13:0F:A7:46:09:78:F6
+                keyid:AE:7E:50:17:5D:13:6E:22:E5:C6:97:43:B9:8F:3A:B6:FA:FB:48:D2
 
+            X509v3 Subject Key Identifier: 
+                11:32:C6:4D:77:0F:D5:45:6C:73:CF:4C:26:97:30:21:EB:09:BB:1B
     Signature Algorithm: sha1WithRSAEncryption
-        e4:03:82:ff:be:df:7c:73:2a:c5:8f:7d:87:ab:95:b1:2b:e5:
-        f7:41:22:4f:28:54:84:7a:cc:fe:70:89:0f:48:e5:8a:17:e1:
-        44:ad:12:e9:a1:3a:c7:84:55:f0:7c:29:52:0a:a1:ab:cc:5b:
-        31:e5:b2:37:73:3a:8d:f2:f1:fb:e8:f6:a2:b9:ef:11:10:f8:
-        31:43:8f:af:ce:09:f4:cb:96:0e:d4:58:42:6e:86:ab:b9:03:
-        19:8b:4a:6e:ef:50:c0:7e:c9:0b:1d:2b:42:bf:eb:d0:06:05:
-        84:ea:5a:8a:22:5c:56:fa:da:2a:9f:8a:b2:90:66:8c:5e:01:
-        87:45
+         22:3d:be:97:7a:1e:fc:4a:1e:4f:e6:33:52:18:bc:df:aa:b5:
+         50:45:46:03:0c:fb:89:d3:08:ca:a0:f6:87:bd:27:24:96:87:
+         43:85:b7:33:ea:d6:e9:77:18:a5:2a:c9:78:bb:9d:da:2e:0d:
+         f1:1c:e2:dd:73:39:e3:1d:8d:a6:df:d5:29:06:28:72:de:75:
+         d5:06:0a:4c:42:83:83:a1:6c:ad:3d:37:47:d1:c8:5f:8b:2f:
+         1c:f4:0a:44:25:c1:e8:51:0a:1f:ab:29:bc:29:4d:5d:a4:5f:
+         50:30:cd:18:d6:66:c0:3c:d4:1d:41:72:5d:4d:42:36:7d:2b:
+         07:71:3b:51:a6:19:0a:24:46:5b:f2:4c:97:0d:ff:56:a1:4e:
+         49:0c:53:c3:9d:6e:97:9e:09:de:16:20:e9:ef:b5:2a:66:f5:
+         ad:a5:38:c8:ed:4d:63:19:cd:2d:34:c5:57:ee:13:e4:ac:b8:
+         4b:a0:f7:05:ab:75:5e:d9:40:af:cf:0d:a9:55:a2:c9:74:6a:
+         f1:44:a0:41:0b:80:30:ed:32:bf:e1:ae:81:0f:5e:78:c7:01:
+         cd:b0:05:c5:f0:d3:eb:fa:7a:12:5b:13:92:4d:1d:09:3c:d3:
+         be:70:5e:d3:17:a3:70:1b:b3:f2:88:1a:55:cd:a1:a8:2f:4c:
+         77:c2:f0:d1
 -----BEGIN CERTIFICATE-----
-MIIDLjCCApegAwIBAgIJAIgImLMT2ACZMA0GCSqGSIb3DQEBBQUAMFoxCzAJBgNV
-BAYTAlVTMQswCQYDVQQIEwJDQTEPMA0GA1UEChMGQXBhY2hlMRkwFwYDVQQLExBQ
-dWxzYXIgSW5jdWJhdG9yMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMTgwMjE3MDI1
-MDA1WhcNMzAxMTE2MDAwMDAwWjBXMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0Ex
-DzANBgNVBAoTBkFwYWNoZTEWMBQGA1UECxMNQXBhY2hlIFB1bHNhcjESMBAGA1UE
-AxMJc3VwZXJVc2VyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzUN9
-mED5sFu8rtvAC60mkJbgYjjtaLFwRjveRPkUUYYQ68qQ54jo+ZGF4N21tBS5eOOG
-1VRtaOwUkrT4IlsFPe0xJWUIBYTK5gwhElgyxxpgo0/SSp4oGXxFhACMidzeiuVP
-iJHMpPGBRUx9wv/iwYnGEnOV4ja9266LWmhqkFHeK4hfqmf0qONj3L4Zgsydf+aN
-+4K+IgE9VhM7WwS06MUY5i4N+rpKjejGWqFRmkpi16/dtPzi1c2umWxcYVYL1wwa
-d1z1OmpUtZ4zrKl1KJp2r9B6VwAbkRMx/UKIIUcFEAEvWbvHOtnhWEwbbHG2mO/d
-A4JYozLckKG2ph7hCwIDAQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQf
-Fh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUU3zV0VKX
-mtbV6uy2DJtDORlz9iwwHwYDVR0jBBgwFoAU1HrND0QbFiklFO2i7xMPp0YJePYw
-DQYJKoZIhvcNAQEFBQADgYEA5AOC/77ffHMqxY99h6uVsSvl90EiTyhUhHrM/nCJ
-D0jlihfhRK0S6aE6x4RV8HwpUgqhq8xbMeWyN3M6jfLx++j2ornvERD4MUOPr84J
-9MuWDtRYQm6Gq7kDGYtKbu9QwH7JCx0rQr/r0AYFhOpaiiJcVvraKp+KspBmjF4B
-h0U=
+MIIDfjCCAmagAwIBAgIJAJzafV0QdwIaMA0GCSqGSIb3DQEBBQUAMFcxCzAJBgNV
+BAYTAlVTMQswCQYDVQQIDAJDQTEPMA0GA1UECgwGQXBhY2hlMRYwFAYDVQQLDA1B
+cGFjaGUgUHVsc2FyMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMjEwMjE2MTkxMjE5
+WhcNMzEwMjE0MTkxMjE5WjBXMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExDzAN
+BgNVBAoMBkFwYWNoZTEWMBQGA1UECwwNQXBhY2hlIFB1bHNhcjESMBAGA1UEAwwJ
+bG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvoCctg6I
+S2E/yfxgRWM04BxJSgzwCmrmkx042wMUaFZUQb6P6Ug6IWiz9eRg5aeQr743DQgJ
+PrzUnox6rspExsy1lps/jqBQ2n1JmCOY1bFk5vdC4CGsCnVYcr2XGnK9d6YAONmj
+4HMRW6nxx7hflunWh66CNxodgXh0RqcK7B1N7JW5E+DjH696zWEr0q+epEzKAI1t
+JDl/ErzJJnpo83vH+i5h1IgwN7UqyjmNEMprALnda5gfhLtw/Po1Q/6aXdp/64o6
+Igy/cNYUTVCJfqeSG6ks5BSjf+TDqoOhwthUUgdbK93024gLN1gTqSoANsHqpYSQ
+Gc4scUedwpRxjwIDAQABo00wSzAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFK5+UBdd
+E24i5caXQ7mPOrb6+0jSMB0GA1UdDgQWBBQRMsZNdw/VRWxzz0wmlzAh6wm7GzAN
+BgkqhkiG9w0BAQUFAAOCAQEAIj2+l3oe/EoeT+YzUhi836q1UEVGAwz7idMIyqD2
+h70nJJaHQ4W3M+rW6XcYpSrJeLud2i4N8Rzi3XM54x2Npt/VKQYoct511QYKTEKD
+g6FsrT03R9HIX4svHPQKRCXB6FEKH6spvClNXaRfUDDNGNZmwDzUHUFyXU1CNn0r
+B3E7UaYZCiRGW/JMlw3/VqFOSQxTw51ul54J3hYg6e+1Kmb1raU4yO1NYxnNLTTF
+V+4T5Ky4S6D3Bat1XtlAr88NqVWiyXRq8USgQQuAMO0yv+GugQ9eeMcBzbAFxfDT
+6/p6ElsTkk0dCTzTvnBe0xejcBuz8ogaVc2hqC9Md8Lw0Q==
 -----END CERTIFICATE-----
diff --git a/integration-tests/certs/client-key.pem b/integration-tests/certs/client-key.pem
index 3835b3e..92e3794 100644
--- a/integration-tests/certs/client-key.pem
+++ b/integration-tests/certs/client-key.pem
@@ -1,28 +1,27 @@
------BEGIN PRIVATE KEY-----
-MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDNQ32YQPmwW7yu
-28ALrSaQluBiOO1osXBGO95E+RRRhhDrypDniOj5kYXg3bW0FLl444bVVG1o7BSS
-tPgiWwU97TElZQgFhMrmDCESWDLHGmCjT9JKnigZfEWEAIyJ3N6K5U+Ikcyk8YFF
-TH3C/+LBicYSc5XiNr3brotaaGqQUd4riF+qZ/So42PcvhmCzJ1/5o37gr4iAT1W
-EztbBLToxRjmLg36ukqN6MZaoVGaSmLXr920/OLVza6ZbFxhVgvXDBp3XPU6alS1
-njOsqXUomnav0HpXABuREzH9QoghRwUQAS9Zu8c62eFYTBtscbaY790DglijMtyQ
-obamHuELAgMBAAECggEBALGnokJuqiz7mTj2NSdl+6TVEOuyPbiJKpV/J4cm1XEh
-ye9qaTQcCRhH3UmcWrG75jM9KevloLRY8A1x1/lUMhtA+XJWGTU9k6a8BLut3nT4
-3X87jNTMQgSczEXNe9WudmZcxhN7rVVtOOdTpt1pP0cnCWna5HTf0D8cuLvM975j
-r1YGTjKsCF1W+tp6ZAIIMfJkUI2qBRKvSxVCSs1vZBraox3yUVnq9oRLHxZZoqOd
-d51G5phRtn6ReVPBdT8fGUBEGg3jKxTu2/vLQMUyHy0hyCAM20gzOP4FIc2g+QZU
-y42byAuc89m0OrdRWsmzHCOxcq9DwY9npaz1RscR/2ECgYEA9bHJQ0Y1afpS5gn2
-KnXenRIw9oal1utQZnohCEJ4um+K/BCEHtDnI825LPNf34IKM2rSmssvHrYN51o0
-92j9lHHXsf6MVluwsTsIu8MtNaJ1BLt96dub4ScGT6vvzObKTwsajUfIHk+FNsKq
-zps8yh1q0qyyfAcvR82+Xr6JIsMCgYEA1d+RHGewi/Ub/GCG99A1KFKsgbiIJnWB
-IFmrcyPWignhzDUcw2SV9XqAzeK8EOIHNq3e5U/tkA7aCWxtLb5UsQ8xvmwQY2cy
-X2XvSdIhO4K2PgRLgjlzZ8RHSULglqyjB2i6TjwjFl8TsRzYr6JlV6+2cMujw4Bl
-g3a8gz071BkCgYBLP7BMkmw5kRliqxph1sffg3rLhmG0eU2elTkYtoMTVqZSnRxZ
-89FW/eMBCWkLo2BMbyMhlalQ1qFbgh1GyTkhBdzx/uwsZtiu7021dAmcq6z7ThE6
-VrBfPPyJ2jcPon/DxbrUGnAIGILMSsLVlGYB4RCehZYEto6chz8O9Xw60QKBgCnd
-us1BqviqwZC04JbQJie/j09RbS2CIQXRJ9PBNzUMXCwaVYgWP5ivI1mqQcBYTqsw
-fAqNi+aAUcQ4emLS+Ec0vzsUclzTDbRJAv+DZ8f7fWtEcfeLAYFVldLMiaRVJRDF
-OnsoIII3mGY6TFyNQKNanS8VXfheQQDsFFjoera5AoGBALXYEXkESXpw4LT6qJFz
-ktQuTZDfS6LtR14/+NkYL9c5wBC4Otkg4bNbT8xGlUjethRfpkm8xRTB6zfC1/p/
-Cg6YU1cwqlkRurAhE3PEv1dCc1IDbzou8xnwqHrd6sGPDQmQ3aEtU5eJhDZKIZfx
-nQqPGK92+Jtne7+W1mFZooxs
------END PRIVATE KEY-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAvoCctg6IS2E/yfxgRWM04BxJSgzwCmrmkx042wMUaFZUQb6P
+6Ug6IWiz9eRg5aeQr743DQgJPrzUnox6rspExsy1lps/jqBQ2n1JmCOY1bFk5vdC
+4CGsCnVYcr2XGnK9d6YAONmj4HMRW6nxx7hflunWh66CNxodgXh0RqcK7B1N7JW5
+E+DjH696zWEr0q+epEzKAI1tJDl/ErzJJnpo83vH+i5h1IgwN7UqyjmNEMprALnd
+a5gfhLtw/Po1Q/6aXdp/64o6Igy/cNYUTVCJfqeSG6ks5BSjf+TDqoOhwthUUgdb
+K93024gLN1gTqSoANsHqpYSQGc4scUedwpRxjwIDAQABAoIBADkDiOM7yjK1MkAj
+VjSuEj8YeB6/bH/RqpxQ3Jk/fLYVUDY08CEjSrKBAYsQBKf21GikhxlRVGMAZKnm
+5Ti2tIrC7X3bjNQEyu35HTN5Q96ArvApBEzMBw9CO2xrrXNu76GFfv+Es3UTOxix
+7fiWB5XE+j21TqdrG3WKNVKH3872GMentMRlealvV5joKAtlrEL9kmwPYYoZONwD
+IKXz8NxXXxiU9v3ALcpq2BLv8zR2vgHJqAlBtBTMTFXF4CRMXVCdkfS0+qBIgQRT
+khevQzwF2YvgCdq3k7jaZd5p0dLATL9RmRpT05H/uDGf6EZrIPhCGL41VjVysOpq
+NMAcVkECgYEA/fQNoOeZUkX4dGsxB4/4mTfJzve0jp3tOV2np+Ho2noi5lksPt9O
+nxMLl+Dvn5lOdQDwqpA32ixE2sohvem/SC8U27xDncAiXbdYpy3749uAX14XSNMY
+rvyzwnWMvySCIKpEThAiPrbMDI+A52564XwIX9ALqygDpa6kHWmsYx8CgYEAwAmm
+PSJ2G69IfOrsSRKiqigEdpAD5L59TxAAk+AjuisIYnOqTYYcn7OL3IAxzksbwyRc
+m/Bd7iBPGlx6d7CKN8dqX/93sdl0yxGVJi6VbLbY6yQweZrskwJXa4sPDeQi/h8T
+8P7ZrhRnE5l0vJQ6VvBaqwQRBZcRk4K40B3LE5ECgYAqKtYAe7RHpvqkShAwE0XS
+GyNVTGgcrjhvqA9onuhNLq6Q1Qm1vtqNK1pnc6AWPhx67RcJGz1K6sLcGWgU4rUy
+RS8PdWk8zmRmb0U3LTmAEjh0nWj8XKDinW8zwNUIAAXjaqJA3AjzpOKoy0M6KmwY
++MFjN2ZYmyJP5nm1sJBBPQKBgQCFFyrrO7L3ROfMC1Ru4Edz/f/5252XLp3R6Zk8
+4x5fq+tHsDnbOJMl612HGCFsg4leGRlFybSPkDzCXE1UHjnspnwGxBrEW50iD7F6
+oNZWXfLAJHikDsbeq8TCd8GbMv09eXRslXNvvhwh7TyGZYR5NGLiGxNg+G3p+bL0
+KXHQwQKBgQDbWF9IHCJOm8VI1PIVaPAqQ+ZmYaH9og6pJtiNgrCMTDSuvCONhd4K
+SqNr9+ap4YgkCg4JIbjJw3WNhoOQRe4GPiU9E1zi2XBVTyfg0bs7edNCYn9+Dgnp
+x5E+KfZWh0dLWwq6zt4LtGKEJk5msgdlqZaoaDCbeMmTCvnSmhrTqQ==
+-----END RSA PRIVATE KEY-----
diff --git a/integration-tests/certs/generate.sh b/integration-tests/certs/generate.sh
new file mode 100755
index 0000000..0b587c0
--- /dev/null
+++ b/integration-tests/certs/generate.sh
@@ -0,0 +1,16 @@
+#/bin/sh
+
+openssl genrsa -out ca.key 2048
+openssl genrsa -out client-key.pem 2048
+openssl genrsa -out broker-key.pem 2048
+
+openssl req -sha256 -x509 -new -text -out cacert.pem -key ca.key -config openssl.cnf -extensions v3_ca -days 1095
+openssl req -sha256 -new -text -out client.csr -key client-key.pem -config openssl.cnf -extensions v3_req
+openssl req -sha256 -new -text -out broker.csr -key broker-key.pem -config openssl.cnf -extensions v3_req
+
+openssl x509 -req -extfile openssl.cnf -extensions v3_req -in client.csr -out client.crt -CA cacert.pem -CAkey ca.key -CAcreateserial -days 3650
+openssl x509 -in client.crt -text > client-cert.pem
+openssl x509 -req -extfile openssl.cnf -extensions v3_req -in broker.csr -out broker.crt -CA cacert.pem -CAkey ca.key -CAcreateserial -days 3650
+openssl x509 -in broker.crt -text > broker-cert.pem
+
+rm *.crt *.csr *.key *.srl
\ No newline at end of file
diff --git a/integration-tests/certs/openssl.cnf b/integration-tests/certs/openssl.cnf
new file mode 100644
index 0000000..53b095e
--- /dev/null
+++ b/integration-tests/certs/openssl.cnf
@@ -0,0 +1,19 @@
+[req]
+distinguished_name = req_distinguished_name
+prompt = no
+[req_distinguished_name]
+C = US
+ST = CA
+O = Apache
+OU = Apache Pulsar
+CN = localhost
+[v3_req]
+basicConstraints = CA:FALSE
+authorityKeyIdentifier=keyid,issuer
+subjectKeyIdentifier=hash
+[v3_ca]
+basicConstraints = CA:TRUE
+authorityKeyIdentifier=keyid,issuer
+subjectKeyIdentifier=hash
+
+
diff --git a/pulsar/consumer_partition.go b/pulsar/consumer_partition.go
index b75a7d7..031e0a3 100644
--- a/pulsar/consumer_partition.go
+++ b/pulsar/consumer_partition.go
@@ -185,7 +185,7 @@ func newPartitionConsumer(parent Consumer, client *client, options *partitionCon
 	pc.log.Info("Created consumer")
 	pc.setConsumerState(consumerReady)
 
-	if pc.options.startMessageIDInclusive && pc.startMessageID == lastestMessageID {
+	if pc.options.startMessageIDInclusive && pc.startMessageID.equal(lastestMessageID.(messageID)) {
 		msgID, err := pc.requestGetLastMessageID()
 		if err != nil {
 			pc.nackTracker.Close()
@@ -194,7 +194,8 @@ func newPartitionConsumer(parent Consumer, client *client, options *partitionCon
 		if msgID.entryID != noMessageEntry {
 			pc.startMessageID = msgID
 
-			err = pc.requestSeek(msgID.messageID)
+			// use the WithoutClear version because the dispatcher is not started yet
+			err = pc.requestSeekWithoutClear(msgID.messageID)
 			if err != nil {
 				pc.nackTracker.Close()
 				return nil, err
@@ -369,8 +370,15 @@ func (pc *partitionConsumer) internalSeek(seek *seekRequest) {
 	defer close(seek.doneCh)
 	seek.err = pc.requestSeek(seek.msgID.messageID)
 }
-
 func (pc *partitionConsumer) requestSeek(msgID messageID) error {
+	if err := pc.requestSeekWithoutClear(msgID); err != nil {
+		return err
+	}
+	pc.clearMessageChannels()
+	return nil
+}
+
+func (pc *partitionConsumer) requestSeekWithoutClear(msgID messageID) error {
 	state := pc.getConsumerState()
 	if state == consumerClosing || state == consumerClosed {
 		pc.log.WithField("state", state).Error("Consumer is closing or has closed")
@@ -396,7 +404,6 @@ func (pc *partitionConsumer) requestSeek(msgID messageID) error {
 		pc.log.WithError(err).Error("Failed to reset to message id")
 		return err
 	}
-	pc.clearMessageChannels()
 	return nil
 }
 
diff --git a/pulsar/reader_test.go b/pulsar/reader_test.go
index 36204cf..cd97964 100644
--- a/pulsar/reader_test.go
+++ b/pulsar/reader_test.go
@@ -577,10 +577,12 @@ func TestReaderLatestInclusiveHasNext(t *testing.T) {
 	assert.Nil(t, err)
 	defer reader.Close()
 
-	if reader.HasNext() {
-		msg, err := reader.Next(context.Background())
-		assert.NoError(t, err)
+	assert.True(t, reader.HasNext())
+	msg, err := reader.Next(context.Background())
+	assert.NoError(t, err)
 
-		assert.Equal(t, []byte("hello-9"), msg.Payload())
-	}
+	assert.Equal(t, []byte("hello-9"), msg.Payload())
+	assert.Equal(t, lastMsgID.Serialize(), msg.ID().Serialize())
+
+	assert.False(t, reader.HasNext())
 }