jiangpengcheng opened a new issue, #25729:
URL: https://github.com/apache/pulsar/issues/25729

   ### Search before reporting
   
   - [x] I searched in the [issues](https://github.com/apache/pulsar/issues) 
and found nothing similar.
   
   
   ### Read release policy
   
   - [x] I understand that [unsupported 
versions](https://pulsar.apache.org/contribute/release-policy/#supported-versions)
 don't get bug fixes. I will attempt to reproduce the issue on a supported 
version of Pulsar client and Pulsar broker.
   
   
   ### User environment
   
   - broker version: 50a31699406a52dfcacd4b5ead09ac5f89e2035d
   
   ### Issue Description
   
   Debezium Postgres source connector failed to start
   
   ### Error messages
   
   ```text
   "commonElementCount": 0,
           "localizedMessage": "org.asynchttpclient.DefaultAsyncHttpClient",
           "message": "org.asynchttpclient.DefaultAsyncHttpClient",
           "name": "java.io.NotSerializableException",
   
   
   the root stacktrace is here:
   
   
               {
                   "class": "org.apache.pulsar.io.debezium.SerDeUtils",
                   "method": "serialize",
                   "file": "SerDeUtils.java",
                   "line": 47,
                   "exact": false,
                   "location": "?",
                   "version": "?"
               },
               {
                   "class": "org.apache.pulsar.io.debezium.DebeziumSource",
                   "method": "open",
                   "file": "DebeziumSource.java",
                   "line": 113,
                   "exact": false,
                   "location": "?",
                   "version": "?"
               },
   
   
   and the code is here:
   
   
   String pulsarClientBuilder = 
SerDeUtils.serialize(sourceContext.getPulsarClientBuilder());
   ```
   
   ### Reproducing the issue
   
   1. start pulsar in standalone mode
   2. deploy a test PostgreSql instance
   3. deploy a DebeziumPostgreSql source in the pulsar
   
   ### Additional information
   
   the root reason is that the all debezium sources will try to serialize 
`ClientBuilder`, and which contains a `FlowBase` object for authentication, but 
this 
[commit](https://github.com/apache/pulsar/pull/24944/changes#diff-2500179fafc7b402ce9fd76e4908d9436f1b3ec8be8d44f0ebad9e78d1313550R57)
 added a `protected final AsyncHttpClient httpClient field` to the FlowBase 
class, it makes the `ClientBuilder` not serializable
   
   we need to make the ClientBuilder serializable again
   
   ### Are you willing to submit a PR?
   
   - [x] I'm willing to submit a PR!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to