golden-yang opened a new issue, #16132: URL: https://github.com/apache/pulsar/issues/16132
**Describe the bug** When we start task in separately pulsar-worker , upload nar file restful request failed. **To Reproduce** Steps to reproduce the behavior: 1. Run function workers separately 2. Submit function task to this worker and upload nar file as uploadedInputStream 3. Restful request blocked, and we got nothing **Solve this issue** We compare separately function-worker and function-worker start with broker. Function-worker use independent PulsarWorkerService to run a worker except rest server. When registering jersey Resource, it is slightly different. WebService in Broker will resgiter JsonMapperProvider and MultiPartFeature every time in [addResourceServlet](https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/WebService.java) . But in PulsarWorkerService there is only MultiPartFeature [org.apache.pulsar.functions.worker.rest.Resources.](https://github.com/apache/pulsar/blob/master/pulsar-functions/worker/src/main/java/org/apache/pulsar/functions/worker/rest/Resources.java). **Additional context** We use this script to submit task. It worker when function worker start with broker. When submit to function-worker, we got a 400 ERROR like this: > 2022-06-19T16:01:51,280+0800 [function-web-24-1] INFO org.eclipse.jetty.server.RequestLog - 127.0.0.1 - - [19/Jun/2022:16:01:50 +0800] "POST /admin/v3/sinks/public/default/pulsar-io-test2/ HTTP/1.1" 400 549 "-" "python-requests/2.6.0 CPython/2.7.5 Linux/3.10.107-1-tlinux2_kvm_guest-0049" 688 ` import json import requests from requests_toolbelt import MultipartEncoder config = { "classname": "org.apache.pulsar.io.kafka.KafkaBytesSink", "inputs": ["topic_name"], "configs": { "bootstrapServers": "localhost:9092", "topic": "test", "acks": "1", "batchSize": "16384", "maxRequestSize": "1048576", "producerConfigProperties": { "client.id": "test-pulsar-producer", "security.protocol": "SASL_PLAINTEXT", "sasl.mechanism": "GSSAPI", "sasl.kerberos.service.name": "kafka", "acks": "all" } } } url = "http://localhost:8080/admin/v3/sinks/public/default/pulsar-io-test/" mp_encoder = MultipartEncoder( fields={"%sConfig" % "sink": (None, json.dumps(config), "application/json"), "data": ('pulsar-io-kafka-2.10.0.nar', open('/opt/apache-pulsar-2.10.0/pulsar-io-kafka-2.10.0.nar', 'rb')) } ) res = requests.post(url, data=mp_encoder, headers={"Content-Type": mp_encoder.content_type}) print(res.status_code, res.text) ` -- 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]
