You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@pulsar.apache.org by Apache Pulsar Slack <ap...@gmail.com> on 2019/05/08 09:11:02 UTC

Slack digest for #general - 2019-05-08

2019-05-07 09:25:13 UTC - Brian Doran: Hello, I am wondering if its possible to use the Apache Kafka producer API to specify using AVRO schemas in Pulsar? It looks like this can just be done through the pulsar ProducerBuilder API `pulsarClient.newProducer(avro).create();` which returns a pulsar.Producer rather than a apache.kafka.Producer. I wanted to keep changes to integration to a minimum which is fine when not specifying a schema. `new PulsarKafkaProducer&lt;&gt;(props)` vs `new KafkaProducer&lt;&gt;(props)`
Thanks!
----
2019-05-07 09:29:42 UTC - Sijie Guo: You can use following command to build a avro schema. you can pass your avro schema definition into schemadefinitionBuilder#withJsonDef

```
Schema.AVRO(SchemaDefinitionBuilder.builder().withJsonDef(..); 
```
----
2019-05-07 09:30:54 UTC - Sijie Guo: do you setup any prometheus and grafana dashboard? if you do, you can use them to monitor the healthy status.
----
2019-05-07 09:32:22 UTC - Sijie Guo: Does adding a new Schema parameter to the PulsarKafkaProducer work for you?

```
new PulsarKafkaProducer&lt;&gt;(props, schema)
```
----
2019-05-07 09:41:56 UTC - Brian Doran: @Sijie Guo Thanks for your quick reply.. Will this allow Pulsar to handle the schemas correctly? If so then great!
For integration with Confluent Schema registry, for instance, we needed to provide a schema registry url and the value serializer from the confluent client libraries. Would this all be handled internally?
----
2019-05-07 09:48:25 UTC - Sijie Guo: yes. the schema will be passed down to the internal pulsar client, hence it can be handled correctly.

for handling the integration with external schema registry, we can implement a `ConfluentSchema` which talks to confluent schema registry. so it will use confluent schema registry and confluent converters to do serialization and deserialization.

so the code would be something like:

```
Schema&lt;T&gt; schema = ConfluentSchema.builder()
     .withSchemaRegistryUrl(...)
     .withKeySerializer(...)
     .withValueSerializer(...)
     ;

Producer&lt;&gt; producer = new PulsarKafkaProducer(props, schema);
```
----
2019-05-07 09:52:01 UTC - Brian Doran: :+1::+1:
----
2019-05-07 09:52:53 UTC - Brian Doran: what kind of timelines are we looking at for the changes to KafkaPulsarProducer?
----
2019-05-07 09:53:35 UTC - Sijie Guo: would you mind creating an issue on pulsar github? we can try to prioritize that. since some of my recent work is around schema. hence I might be able to pick it up
----
2019-05-07 09:58:24 UTC - Brian Doran: I will do that now. Thanks.
ok_hand : Sijie Guo
----
2019-05-07 10:09:55 UTC - Brian Doran: @Sijie Guo Added: <https://github.com/apache/pulsar/issues/4228>
----
2019-05-07 10:51:08 UTC - ateq: @ateq has joined the channel
----
2019-05-07 10:52:28 UTC - Shivji Kumar Jha: @Sijie Guo Can you please re-open this <https://github.com/apache/pulsar/issues/3954>
I would like to add Map&lt;String, Object&gt; to other places in flink connector.
<https://github.com/apache/pulsar/pull/3955> actually only handled streaming and producer use case. We need consumer at least.. I can contribute that PR in a couple of days to add Map everywhere (streaming + batch, producer + consumer etc)!
----
2019-05-07 11:02:25 UTC - Alexandre DUVAL: Hi, there is a way to instantiate avroschema from .avsc file?

Or I just need to place it somewhere in pulsar side, restart pulsar, then pulsar compile it and add it into its registry. Then when I create client I only need to pass the classname of the avro schema, then the client will download it from registry and there I go?

The documentation has schema example:

```{
    "type": "STRING",
    "schema": "",
    "properties": {
        "key1" : "value1"
    }
}```

I wrote this

```# YoSyslog.avsc
{
  "type": "record",
  "namespace": "com.clevercloud",
  "name": "YoSyslog",
  "fields" : [
    {"name": "@source", "type": "string"},
    ...
    {"name": "message", "type": "string"},
  ]
}```

(edited)
What's the schema:"" on the example? (edited)
I mean what's the recipee to have schemas working, the documentation is bit light :stuck_out_tongue:.
----
2019-05-07 11:03:36 UTC - Alexandre DUVAL: <https://pulsar.apache.org/docs/en/admin-api-schemas/> shows payload, but not on the example :confused:.
----
2019-05-07 11:06:29 UTC - Shivji Kumar Jha: Hi @Alexandre DUVAL Does this work?

AvroSchema.of(SchemaDefinition.builder().withJsonDef&lt;(stringified-avsc-as-json&gt;).build())
----
2019-05-07 11:07:00 UTC - Alexandre DUVAL: Ok, but this is not using the registry?
----
2019-05-07 11:07:47 UTC - Shivji Kumar Jha: When you instantiate the producer, this schema will be added to registry
----
2019-05-07 11:07:55 UTC - Shivji Kumar Jha: @Alexandre DUVAL ^^ :slightly_smiling_face:
----
2019-05-07 11:08:11 UTC - Alexandre DUVAL: ok
----
2019-05-07 11:09:38 UTC - Alexandre DUVAL: @Shivji Kumar Jha there is no way to upload it manualy using pulsar admin and then just precise to the producer which schema to use? Or maybe the schema will be autoapplied because pulsar admin schemas upload has the topic linked?
----
2019-05-07 11:09:39 UTC - Shivji Kumar Jha: This was a recent change and I think doc is still catching up with the changes in latest release..
----
2019-05-07 11:10:33 UTC - Shivji Kumar Jha: ```
the schema will be autoapplied because pulsar admin schemas upload has the topic  linked?
```
Yes
----
2019-05-07 11:11:12 UTC - Shivji Kumar Jha: I generally use rest API to upload schema if I need to do the upload thing manually

POST /admin/v2/schemas/public/default/test/schema?authoritative=false
----
2019-05-07 11:11:16 UTC - Alexandre DUVAL: So how to convert my avsc file to the good schema pattern to upload it using pulsar admin?
----
2019-05-07 11:13:23 UTC - Shivji Kumar Jha: You will have to escape certain chars (for instance”):
Here is an example body for the rest API
```
{
    "type": "AVRO",
     "schema": "{\"type\":\"record\",\"name\":\"foobar\",\"doc\":\"This is an avro schema for test\",\"fields\":[{\"name\":\"foo\",\"type\":\"string\",\"doc\":\"test doc\"},{\"name\":\"bar\",\"type\":\"int\",\"doc\":\"Name of the action - created/updated/deleted\"}]}"
}
```
----
2019-05-07 11:13:55 UTC - Alexandre DUVAL: Ok, thanks! :slightly_smiling_face:
----
2019-05-07 11:14:22 UTC - Alexandre DUVAL: but no difference using pulsr-admin or directly the rest api, no?
----
2019-05-07 11:14:25 UTC - Shivji Kumar Jha: i sort of use this online tool to escape json
<https://www.freeformatter.com/json-escape.html>
----
2019-05-07 11:14:59 UTC - Shivji Kumar Jha: I dont think there is a cli option to add a schema, if there is one it should do the exact same thing :slightly_smiling_face:
----
2019-05-07 11:16:18 UTC - Alexandre DUVAL: ` bin/pulsar-admin schemas upload -f conf/schemas/schema.avsc <persistent://yo/logs/full>     `
ok_hand : Shivji Kumar Jha
----
2019-05-07 11:16:30 UTC - Alexandre DUVAL: thanks for the tool :wink:.
----
2019-05-07 11:17:19 UTC - Shivji Kumar Jha: you are welcome :slightly_smiling_face:
----
2019-05-07 11:22:31 UTC - Alexandre DUVAL: and thanks for your help of course :slightly_smiling_face:
----
2019-05-07 11:42:34 UTC - Alexandre DUVAL: There is things about the auth for this endpoint? I'm using my admin token (jwt one), and got 401.
----
2019-05-07 11:45:37 UTC - Alexandre DUVAL: ```kannar@pond ~/git/kannar/apache-pulsar-2.3.1 % curl -X POST -H "Authorization: Bearer &lt;TOKEN&gt;" -k -i '<https://c1-pulsar-yo-customers.services.clever-cloud.com:2000/admin/v2/schemas/yo/logs/full/schema>' --data @conf/schemas/ApplicationAddonLog.schema
HTTP/1.1 401 Unauthorized
Date: Tue, 07 May 2019 11:38:57 GMT
Date: Tue, 07 May 2019 11:38:57 GMT
Cache-Control: must-revalidate,no-cache,no-store
Content-Type: text/html;charset=iso-8859-1
Server: Jetty(9.4.12.v20180830)
Content-Length: 390
Connection: close

&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8"/&gt;
&lt;title&gt;Error 401 Authentication required&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401&lt;/h2&gt;
&lt;p&gt;Problem accessing /admin/v2/schemas/yo/logs/full/schema. Reason:
&lt;pre&gt;    Authentication required&lt;/pre&gt;&lt;/p&gt;&lt;hr&gt;&lt;a href="<http://eclipse.org/jetty>"&gt;Powered by Jetty:// 9.4.12.v20180830&lt;/a&gt;&lt;hr/&gt;

&lt;/body&gt;
&lt;/html&gt;

kannar@pond ~/git/kannar/apache-pulsar-2.3.1 % curl -X GET -H "Authorization: Bearer &lt;TOKEN&gt;" -k -i '<https://c1-pulsar-yo-customers.services.clever-cloud.com:2000/admin/v2/tenants>'

HTTP/1.1 200 OK
Date: Tue, 07 May 2019 11:44:00 GMT
Date: Tue, 07 May 2019 11:44:00 GMT
Content-Type: application/json
Server: Jetty(9.4.12.v20180830)
Content-Length: 42

["yo","public","yolo","yoloyolo"]%   ```
----
2019-05-07 11:48:35 UTC - Alexandre DUVAL: And no problem to get the current schema
----
2019-05-07 11:48:36 UTC - Alexandre DUVAL: ```curl -X GET -H "Authorization: Bearer &lt;TOKEN&gt;" -k -i '<https://c1-pulsar-yo-customers.services.clever-cloud.com:2000/admin/v2/schemas/yo/logs/full/schema>'

HTTP/1.1 200 OK
Date: Tue, 07 May 2019 11:47:41 GMT
Date: Tue, 07 May 2019 11:47:41 GMT
broker-address: yo-pulsar-c1-n1
Content-Encoding: application/json
Content-Type: application/json
Server: Jetty(9.4.12.v20180830)
Content-Length: 69

{"version":0,"type":"STRING","timestamp":0,"data":"","properties":{}}% ```
----
2019-05-07 11:51:06 UTC - Alexandre DUVAL: @Shivji Kumar Jha ^ :smile:
----
2019-05-07 12:07:51 UTC - Alexandre DUVAL: ```curl -X GET -H "Authorization: Bearer &lt;TOKEN&gt;" -k -i '<https://c1-pulsar-yo-customers.services.yo.com:2000/admin/v2/schemas/yo/logs/full/schema>'

HTTP/1.1 200 OK
Date: Tue, 07 May 2019 11:47:41 GMT
Date: Tue, 07 May 2019 11:47:41 GMT
broker-address: yo-pulsar-c1-n1
Content-Encoding: application/json
Content-Type: application/json
Server: Jetty(9.4.12.v20180830)
Content-Length: 69

{"version":0,"type":"STRING","timestamp":0,"data":"","properties":{}}% 
kannar@pond ~/git/kannar/apache-pulsar-2.3.1 % curl -X POST -H "Authorization: Bearer &lt;TOKEN&gt;" -k -i '<https://c1-pulsar-yo-customers.services.yo.com:2000/admin/v2/schemas/yo/logs/full/schema>' --data @conf/schemas/ApplicationAddonLog.schema
HTTP/1.1 401 Unauthorized
Date: Tue, 07 May 2019 11:38:57 GMT
Date: Tue, 07 May 2019 11:38:57 GMT
Cache-Control: must-revalidate,no-cache,no-store
Content-Type: text/html;charset=iso-8859-1
Server: Jetty(9.4.12.v20180830)
Content-Length: 390
Connection: close

&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8"/&gt;
&lt;title&gt;Error 401 Authentication required&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401&lt;/h2&gt;
&lt;p&gt;Problem accessing /admin/v2/schemas/yo/logs/full/schema. Reason:
&lt;pre&gt;    Authentication required&lt;/pre&gt;&lt;/p&gt;&lt;hr&gt;&lt;a href="http://eclipse.org/jetty"&gt;Powered by Jetty:// 9.4.12.v20180830&lt;/a&gt;&lt;hr/&gt;

&lt;/body&gt;
&lt;/html&gt;```
----
2019-05-07 12:08:07 UTC - Alexandre DUVAL: Got 401 when post on schema's topic, but 200 when i get :open_mouth:.
----
2019-05-07 12:09:07 UTC - Alexandre DUVAL: And schema looks like ```{
  "type":"AVRO",
  "schema":"{\"type\":\"record\",\"namespace\":\"com.clevercloud\",\"name\":\"ApplicationAddonLog\",\"fields\":[{\"name\":\"@source\",\"type\":\"string\"},{\"name\":\"@source_host\",\"type\":\"string\"},{\"name\":\"@timestamp\",\"type\":\"string\"},{\"name\":\"@version\",\"type\":\"string\"},{\"name\":\"ownerId\",\"type\":\"string\"},{\"name\":\"appId\",\"type\":\"string\"},{\"name\":\"deploymentId\",\"type\":[\"null\",\"string\"]},{\"name\":\"instanceId\",\"type\":\"string\"},{\"name\":\"zone\",\"type\":\"string\"},{\"name\":\"type\",\"type\":\"string\"},{\"name\":\"tags\",\"type\":\"array\",\"items\":\"string\"},{\"name\":\"syslog_pri\",\"type\":\"string\"},{\"name\":\"syslog_program\",\"type\":\"string\"},{\"name\":\"syslog_severity_code\",\"type\":\"double\"},{\"name\":\"syslog_facility_code\",\"type\":\"double\"},{\"name\":\"syslog_facility\",\"type\":\"string\"},{\"name\":\"syslog_severity\",\"type\":\"string\"},{\"name\":\"syslog_program\",\"type\":\"string\"},{\"name\":\"message\",\"type\":\"string\"}]}"
}```
----
2019-05-07 12:09:26 UTC - Alexandre DUVAL: There is a custom auth to post schema or something that I need to know?
----
2019-05-07 12:22:21 UTC - Shivji Kumar Jha: Aaesome :blush::+1:
----
2019-05-07 12:25:01 UTC - Shivji Kumar Jha: Wait thats wierd...
----
2019-05-07 12:32:47 UTC - Sijie Guo: reopened
----
2019-05-07 12:41:15 UTC - Shivji Kumar Jha: Are you sure there was no schema on topic before 401? Basically:
1. check schema version using GET
2. post (401 one)
3. check version again
----
2019-05-07 12:41:21 UTC - Shivji Kumar Jha: @Alexandre DUVAL ^^
----
2019-05-07 12:41:42 UTC - Shivji Kumar Jha: thanks @Sijie Guo
----
2019-05-07 12:43:48 UTC - Alexandre DUVAL: now the request the post request seems stuck, no answer, it runs :confused:
----
2019-05-07 12:43:55 UTC - Alexandre DUVAL: ok, juts got 401
----
2019-05-07 12:45:12 UTC - Alexandre DUVAL: ```yo-pulsar-c1-n7 /pulsar/conf # curl -X GET -H "Authorization: Bearer &lt;TOKEN&gt;" -k -i '<https://c1-pulsar-yo-customers.services.yo.com:2000/admin/v2/schemas/yo/logs/full/schema>'                                          
HTTP/1.1 200 OK
Date: Tue, 07 May 2019 12:42:54 GMT
Date: Tue, 07 May 2019 12:42:54 GMT
broker-address: yo-pulsar-c1-n1
Content-Encoding: application/json
Content-Type: application/json
Server: Jetty(9.4.12.v20180830)
Content-Length: 69

{"version":0,"type":"STRING","timestamp":0,"data":"","properties":{}}
yo-pulsar-c1-n7 /pulsar/conf # curl -X POST -H "Authorization: Bearer &lt;TOKEN&gt;" -k -i '<https://c1-pulsar-yo-customers.services.yo.com:2000/admin/v2/schemas/yo/logs/full/schema>' --data @./schemas/ApplicationAddonLog.schema                                                                                                                                                                                                                                                                                                                           
HTTP/1.1 401 Unauthorized
Date: Tue, 07 May 2019 12:43:05 GMT
Date: Tue, 07 May 2019 12:43:05 GMT
Cache-Control: must-revalidate,no-cache,no-store
Content-Type: text/html;charset=iso-8859-1
Server: Jetty(9.4.12.v20180830)
Content-Length: 390
Connection: close

&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8"/&gt;
&lt;title&gt;Error 401 Authentication required&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&lt;h2&gt;HTTP ERROR 401&lt;/h2&gt;
&lt;p&gt;Problem accessing /admin/v2/schemas/yo/logs/full/schema. Reason:
&lt;pre&gt;    Authentication required&lt;/pre&gt;&lt;/p&gt;&lt;hr&gt;&lt;a href="<http://eclipse.org/jetty>"&gt;Powered by Jetty:// 9.4.12.v20180830&lt;/a&gt;&lt;hr/&gt;

&lt;/body&gt;
&lt;/html&gt;
yo-pulsar-c1-n7 /pulsar/conf # curl -X GET -H "Authorization: Bearer &lt;TOKEN&gt;" -k -i '<https://c1-pulsar-yo-customers.services.yo.com:2000/admin/v2/schemas/yo/logs/full/schema>'                                          
HTTP/1.1 200 OK
Date: Tue, 07 May 2019 12:43:57 GMT
Date: Tue, 07 May 2019 12:43:57 GMT
broker-address: yo-pulsar-c1-n1
Content-Encoding: application/json
Content-Type: application/json
Server: Jetty(9.4.12.v20180830)
Content-Length: 69
```
----
2019-05-07 12:45:18 UTC - Alexandre DUVAL: get, post and get
----
2019-05-07 12:45:26 UTC - Alexandre DUVAL: 200, 401, 200, same version, the version 0.
----
2019-05-07 12:45:29 UTC - Alexandre DUVAL: @Shivji Kumar Jha
----
2019-05-07 12:45:59 UTC - Alexandre DUVAL: @Sijie Guo (this is the current thread of the issue I was talking with you).
----
2019-05-07 12:48:28 UTC - Shivji Kumar Jha: @Alexandre DUVAL the schema was already there in the registry when you posted a new one. The new schema upload failed.
Your get then returned the same schema which was already there.

There seems to be no probelm. Or am i missing something?
----
2019-05-07 12:48:56 UTC - Alexandre DUVAL: a Post should update the schema, no?
----
2019-05-07 12:49:16 UTC - Alexandre DUVAL: I need to recreate a topic?
----
2019-05-07 12:49:24 UTC - Alexandre DUVAL: (not familliar with these things :p)
----
2019-05-07 12:49:27 UTC - Alexandre DUVAL: @Shivji Kumar Jha
----
2019-05-07 12:50:00 UTC - Alexandre DUVAL: but why a 401 code? why not a 4xx, like 409 or something like that?
----
2019-05-07 12:50:04 UTC - Shivji Kumar Jha: but you got 401, so it doesnt update. A succesful update will return a status 2XX (200, 201 or something)
----
2019-05-07 12:50:20 UTC - Alexandre DUVAL: sure, that's the problem :stuck_out_tongue:
----
2019-05-07 12:50:24 UTC - Alexandre DUVAL: why i get 401
----
2019-05-07 12:50:26 UTC - Alexandre DUVAL: ^^
----
2019-05-07 12:52:08 UTC - Shivji Kumar Jha: @Alexandre DUVAL that could be because you are not authorized to update which possibly means your auth token can only read and not update schema? (Guessing!)
----
2019-05-07 12:52:33 UTC - Alexandre DUVAL: this is my admin token, so don't understand why it shouldn't
----
2019-05-07 12:53:20 UTC - Shivji Kumar Jha: then I am afraid it shouldn’t happen . It works fine for me :neutral_face:
----
2019-05-07 12:55:03 UTC - Alexandre DUVAL: do you use jwt auth?
----
2019-05-07 12:55:10 UTC - Shivji Kumar Jha: yes @Alexandre DUVAL
----
2019-05-07 12:55:35 UTC - Alexandre DUVAL: m'ok, will investigate then
----
2019-05-07 12:55:47 UTC - Alexandre DUVAL: for schema update the auth is only on proxies and brokers?
----
2019-05-07 12:55:51 UTC - Shivji Kumar Jha: yes @Alexandre DUVAL must be an extra space or some such things.
----
2019-05-07 12:56:38 UTC - Shivji Kumar Jha: ```
for schema update the auth is only on proxies and brokers?
```
Yes
----
2019-05-07 12:59:28 UTC - Alexandre DUVAL: will dive into schema post route code then :slightly_smiling_face:
----
2019-05-07 13:02:57 UTC - Shivji Kumar Jha: :+1:
----
2019-05-07 13:03:38 UTC - Alexandre DUVAL: Hum POST and GET have the same auth checks ://
----
2019-05-07 13:03:47 UTC - Alexandre DUVAL: `validateDestinationAndAdminOperation`
----
2019-05-07 13:12:36 UTC - Alexandre DUVAL: @Shivji Kumar Jha do you have some permissions for your admin token on your tenant/functions ?
----
2019-05-07 13:12:49 UTC - Alexandre DUVAL: I have only mention of adminRole on tenant get &lt;tenant&gt;
----
2019-05-07 13:24:20 UTC - Shivji Kumar Jha: @Sijie Guo I am starting to wonder if composing
    private ClientConfigurationData clientConf;
    private ProducerConfigurationData producerConf;
 is better than map&lt;String, Object&gt;, or maybe thats a big change! thoughts?
----
2019-05-07 13:26:51 UTC - Sijie Guo: I think using clientConf and producerConf is better.
----
2019-05-07 13:31:52 UTC - Shivji Kumar Jha: @Sijie Guo Should we keep the flink connector backward compatible for 2.4? it pollutes code… or remove the old constructor altogether?
```
    protected BasePulsarOutputFormat(final String serviceUrl, final String topicName, final Authentication authentication) {
        Preconditions.checkArgument(StringUtils.isNotBlank(serviceUrl), "serviceUrl cannot be blank.");
        Preconditions.checkArgument(StringUtils.isNotBlank(topicName),  "topicName cannot be blank.");

        this.clientConf.setServiceUrl(serviceUrl);
        this.clientConf.setAuthentication(authentication);
        this.producerConf.setTopicName(topicName);

        <http://LOG.info|LOG.info>("PulsarOutputFormat is being started to write batches to Pulsar topic: {}", this.topicName);
    }

    protected BasePulsarOutputFormat(ClientConfigurationData clientConf, ProducerConfigurationData producerConf) {
        this.clientConf = clientConf;
        this.producerConf = producerConf;

        <http://LOG.info|LOG.info>("PulsarOutputFormat is being started to write batches to Pulsar topic: {}", this.topicName);
    }
```
----
2019-05-07 14:05:21 UTC - Sijie Guo: it would good to keep BC to some extends if possible. unless you have to break it
----
2019-05-07 14:06:06 UTC - Shivji Kumar Jha: sure will keep BC @Sijie Guo
----
2019-05-07 14:06:20 UTC - Shivji Kumar Jha: thx
----
2019-05-07 14:37:59 UTC - Nicolas Ha: Thanks! I finally found out about WithJsonDef but haven't had time to try yet
----
2019-05-07 14:55:29 UTC - Alexandre DUVAL: @Matteo Merli seems there are issues on authentication forwarding for schemas uploads.
----
2019-05-07 15:32:26 UTC - Byron: hi folks, i tried adding the Pulsar connector to an existing Presto cluster (version 310 from <http://prestosql.io>) and am getting the following error:
```
2019-05-07T14:18:36.826Z	INFO	main	io.prestosql.server.PluginManager	-- Loading plugin /opt/presto/data/plugin/pulsar --
2019-05-07T14:18:36.865Z	ERROR	main	io.prestosql.server.PrestoServer	No service providers of type io.prestosql.spi.Plugin
java.lang.IllegalStateException: No service providers of type io.prestosql.spi.Plugin
	at com.google.common.base.Preconditions.checkState(Preconditions.java:588)
	at io.prestosql.server.PluginManager.loadPlugin(PluginManager.java:176)
	at io.prestosql.server.PluginManager.loadPlugin(PluginManager.java:167)
	at io.prestosql.server.PluginManager.loadPlugins(PluginManager.java:148)
	at io.prestosql.server.PrestoServer.run(PrestoServer.java:137)
	at io.prestosql.server.PrestoServer.main(PrestoServer.java:77)
```
----
2019-05-07 15:33:06 UTC - Byron: It seems the connector may not be implementing a specific interface required by Presto?
----
2019-05-07 15:55:42 UTC - James Creedy: @James Creedy has joined the channel
----
2019-05-07 16:02:44 UTC - Alexandre DUVAL: considering the quoted message, even when i lookup and query directly the right broker I've got 500 with no stacktrace even in debug log level... ```16:01:35.627 [ForkJoinPool.commonPool-worker-0] INFO  org.eclipse.jetty.server.RequestLog - 192.168.10.48 - - [07/May/2019:16:01:35 +0000] "POST /admin/v2/schemas/yo/logs/full/schema HTTP/1.1" 500 386 "-" "PostmanRuntime/7.11.0" 31
```
----
2019-05-07 16:10:06 UTC - Alexandre DUVAL: I think the expcetion threw from <https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/PulsarWebResource.java#L276> or <https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/PulsarWebResource.java#L199> :confused:
----
2019-05-07 16:23:04 UTC - Alexandre DUVAL: @Shivji Kumar Jha suggested me to poke you @Sijie Guo if you have an idea, (and I know you are probably off at this moment, but when u'lll have a moment :p)
----
2019-05-07 16:27:05 UTC - Alexandre DUVAL: note that i only have 500 on post, get schema works well
----
2019-05-07 21:45:32 UTC - Michael Lyons: @Michael Lyons has joined the channel
----
2019-05-08 01:52:19 UTC - Justin: Yes, I have setup prometheus and grafana. The issue was found via them and I confirmed it in the physical machine. After several minutes(from restart), the server get normal.
----