2019-12-09 09:11:13 UTC - Sijie Guo: ```Exception in thread "main"
org.apache.zookeeper.KeeperException$NodeExistsException: KeeperErrorCode =
NodeExists for /namespace
at org.apache.zookeeper.KeeperException.create(KeeperException.java:122)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:54)
at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:792)
at
org.apache.pulsar.PulsarClusterMetadataSetup.main(PulsarClusterMetadataSetup.java:175)```
----
2019-12-09 09:11:22 UTC - Sijie Guo: so the PulsarClusterMetadataSetup fails
----
2019-12-09 09:13:25 UTC - juraj: should i try again to delete everything and
deploy again?
----
2019-12-09 09:13:52 UTC - juraj: (got to jump out, i'll be back within 1hour)
----
2019-12-09 09:15:49 UTC - Sijie Guo: @xiaolong.ran is going to see if he can
reproduce using a helm deployment
----
2019-12-09 09:21:54 UTC - juraj: thanks guys
----
2019-12-09 09:30:06 UTC - tuteng: Can you check your log ? pulsar-manager.log
----
2019-12-09 09:30:17 UTC - Sijie Guo: @juraj the exception `NodeExists`
indicates `/namespaces` znode exists before.
it seems that the cluster setup metadata pod crashed before and when it starts
again, it hits `/namespaces` already exists. Can you check if the pod was
started multiple times?
My feeling is that the behavior doesn’t seem to be a regression between 2.4.1
and 2.4.2. the behavior is exactly same between versions. We can definitely
improve the cluster metadata setup become an atomic operation.
----
2019-12-09 09:32:26 UTC - juraj: seems like no restarts
----
2019-12-09 09:32:36 UTC - juraj: i will try the init again then, in a bit
----
2019-12-09 09:37:18 UTC - juraj: speaking about the init sequence, it would be
nice if pulsar could reuse the on-disk information from the previous
deployment, e,g. if you do k8s/helm undeploy and then again deploy, without
deleting the pvc/volumes.
----
2019-12-09 09:41:13 UTC - Sijie Guo: @juraj If you keep all the pvc, I think
you can do so.
----
2019-12-09 09:41:47 UTC - juraj: i tried once before, on 2.4.1, but didn't work
----
2019-12-09 09:41:55 UTC - Sijie Guo: > i will try the init again then, in a
bit
reinit doesn’t work as `/namespace` already exists. the init script will stop
when it sees NodeExists
----
2019-12-09 09:42:27 UTC - juraj: i mean, i will try the init on a completely
clean install
----
2019-12-09 09:43:00 UTC - Sijie Guo: > i tried once before, on 2.4.1, but
didn’t work
I am not sure how the helm chart handles that. but in theory it should work.
there might be changes in the helm chart to make it work.
----
2019-12-09 09:43:09 UTC - Sijie Guo: > i mean, i will try the init on a
completely clean install
ok
----
2019-12-09 10:07:39 UTC - Pedro Cardoso: Is it based on the registry-project?
<https://registry-project.readthedocs.io/en/latest/competition.html>
----
2019-12-09 10:11:05 UTC - Pedro Cardoso: I'm trying to understand whether I can
port a kafka-based system with evolving schemas over to pulsar and vice-versa.
Having distinct schema registries seems a problem, unless there is a porting
support in some way
----
2019-12-09 10:11:16 UTC - Sijie Guo: created an issue to improve the tool -
<https://github.com/apache/pulsar/issues/5825>
+1 : juraj, Roman Popenov
----
2019-12-09 11:04:45 UTC - juraj: tried again, still happening.
maybe this would be a good first bug for me to attempt to fix?
----
2019-12-09 11:07:01 UTC - juraj: the `mvn clean install -Pdocker` - ideally we
could run this build _in_ a docker container with a controlled environment --
is that how it works now / or would that be good to have/add ?
----
2019-12-09 11:21:35 UTC - juraj: note: the build won't run with e.g. java 12 bc
it is dependent on sun.* packages of java 8
----
2019-12-09 13:12:50 UTC - Roman Popenov: If you re-init and try to clean things
up, it appears some data is kept on the vdevs and some data persists even if
you re-init with to start from ‘scratch’. I got caught by surprise a couple of
times.
----
2019-12-09 13:29:24 UTC - juraj: no i'm deleting the pv, pvc and the physical
aws volumes, + recreating the k8s namespace
----
2019-12-09 13:29:57 UTC - Roman Popenov: Yeah, I found often that you actually
need to clean up the physical volumes because there are some data lingering
----
2019-12-09 13:30:38 UTC - Roman Popenov: Like on a local K8 cluster I often see
bookies and brokers break because there are there is a mismatch between IDs
----
2019-12-09 14:48:33 UTC - Greg: @Greg has joined the channel
----
2019-12-09 14:49:23 UTC - BOULARES: @BOULARES has joined the channel
----
2019-12-09 14:54:19 UTC - Fernando: hey guys, does anyone have the command to
publish the python client library? I want to publish master to a private repo
pypi for internal testing :snake:
----
2019-12-09 14:55:23 UTC - Greg: Hi, i tried to use your netty connector in UDP
but found 2 issues that prevent it to work. I just opened 2 tickets with some
proposal that i successfully tested :
<https://github.com/apache/pulsar/issues/5827> and
<https://github.com/apache/pulsar/issues/5828>. Are we allowed to propose pull
requests to help ?
pray : Roman Popenov
+1 : Roman Popenov
----
2019-12-09 15:20:39 UTC - adrian.lsk: @adrian.lsk has joined the channel
----
2019-12-09 15:24:09 UTC - Nicolas Ha: ```2019-12-09 15:20:19.418 INFO 42 ---
[restartedMain] o.a.p.manager.PulsarManagerApplication : No active profile
set, falling back to default profiles: default
2019-12-09 15:20:19.540 INFO 42 --- [restartedMain]
ConfigServletWebServerApplicationContext : Refreshing
org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@4
058b3b5: startup date [Mon Dec 09 15:20:19 GMT 2019]; parent:
org.springframework.context.annotation.AnnotationConfigApplicationContext@2b8f50d6
2019-12-09 15:20:19.418 INFO 42 --- [restartedMain]
o.a.p.manager.PulsarManagerApplication : No active profile set, falling back
to default profiles: default
2019-12-09 15:20:19.540 INFO 42 --- [restartedMain]
ConfigServletWebServerApplicationContext : Refreshing
org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@4
058b3b5: startup date [Mon Dec 09 15:20:19 GMT 2019]; parent:
org.springframework.context.annotation.AnnotationConfigApplicationContext@2b8f50d6
2019-12-09 15:20:22.800 INFO 42 --- [restartedMain]
o.s.b.f.s.DefaultListableBeanFactory : Overriding bean definition for bean
'dataSource' with a different definition: replacing [Root bean: class [n
ull]; scope=; abstract=false; lazyInit=false; autowireMode=3;
dependencyCheck=0; autowireCandidate=true; primary=false;
factoryBeanName=org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$
Dbcp2; factoryMethodName=dataSource; initMethodName=null;
destroyMethodName=(inferred); defined in class path resource
[org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Dbcp2.class]]
wi
th [Root bean: class [null]; scope=; abstract=false; lazyInit=false;
autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false;
factoryBeanName=org.springframework.boot.autoconfigure.jdbc.D
ataSourceConfiguration$Hikari; factoryMethodName=dataSource;
initMethodName=null; destroyMethodName=(inferred); defined in class path
resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfig
uration$Hikari.class]]
2019-12-09 15:20:23.930 INFO 42 --- [restartedMain]
o.s.b.f.s.DefaultListableBeanFactory : Overriding bean definition for bean
'counterFactory' with a different definition: replacing [Root bean: clas
s [null]; scope=; abstract=false; lazyInit=false; autowireMode=3;
dependencyCheck=0; autowireCandidate=true; primary=false;
factoryBeanName=org.springframework.cloud.netflix.zuul.ZuulServerAutoConfigurati
on$ZuulMetricsConfiguration; factoryMethodName=counterFactory;
initMethodName=null; destroyMethodName=(inferred); defined in class path
resource [org/springframework/cloud/netflix/zuul/ZuulServerAutoConfi
guration$ZuulMetricsConfiguration.class]] with [Root bean: class [null];
scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0;
autowireCandidate=true; primary=false; factoryBeanName=o
rg.springframework.cloud.netflix.zuul.ZuulServerAutoConfiguration$ZuulCounterFactoryConfiguration;
factoryMethodName=counterFactory; initMethodName=null;
destroyMethodName=(inferred); defined in class pat
h resource
[org/springframework/cloud/netflix/zuul/ZuulServerAutoConfiguration$ZuulCounterFactoryConfiguration.class]]
2019-12-09 15:20:25.834 INFO 42 --- [restartedMain]
o.s.cloud.context.scope.GenericScope : BeanFactory
id=814a02d3-328f-3a33-9d10-4fee410cd1f0
2019-12-09 15:20:25.861 INFO 42 --- [restartedMain]
f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject'
annotation found and supported for autowiring
2019-12-09 15:20:26.286 INFO 42 --- [restartedMain]
trationDelegate$BeanPostProcessorChecker : Bean
'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration'
of type [org.sprin
gframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$ab8e74f7]
is not eligible for getting processed by all BeanPostProcessors (for example:
not eligible for a
uto-proxying)
2019-12-09 15:20:27.089 INFO 42 --- [restartedMain]
trationDelegate$BeanPostProcessorChecker : Bean
'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration'
of type [org
.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$c7a877f4]
is not eligible for getting processed by all BeanPostProcessors (for example:
not el
igible for auto-proxying)
2019-12-09 15:20:27.917 DEBUG 42 --- [restartedMain]
o.a.catalina.core.AprLifecycleListener : The APR based Apache Tomcat Native
library could not be found using names [tcnative-1, libtcnative-1] on the
java.library.path
[/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64:/usr/lib/jvm/java-1.8-openjdk/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/l
ib64:/lib:/usr/lib]. The errors reported were [no tcnative-1 in
java.library.path, no libtcnative-1 in java.library.path]
org.apache.tomcat.jni.LibraryNotFoundError: no tcnative-1 in java.library.path,
no libtcnative-1 in java.library.path
at org.apache.tomcat.jni.Library.<init>(Library.java:74)
~[tomcat-embed-core-8.5.31.jar:8.5.31]
at org.apache.tomcat.jni.Library.initialize(Library.java:178)
~[tomcat-embed-core-8.5.31.jar:8.5.31]
at
org.apache.catalina.core.AprLifecycleListener.init(AprLifecycleListener.java:198)
[tomcat-embed-core-8.5.31.jar:8.5.31]
at
org.apache.catalina.core.AprLifecycleListener.isAprAvailable(AprLifecycleListener.java:107)
[tomcat-embed-core-8.5.31.jar:8.5.31]
at
org.apache.catalina.connector.Connector.setProtocol(Connector.java:582)
[tomcat-embed-core-8.5.31.jar:8.5.31]
at
org.apache.catalina.connector.Connector.<init>(Connector.java:74)
[tomcat-embed-core-8.5.31.jar:8.5.31]
at
org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:164)
[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:179)
[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:152)
[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544)
[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759)
[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395)
[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:327)
[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1255)
[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1243)
[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at
org.apache.pulsar.manager.PulsarManagerApplication.main(PulsarManagerApplication.java:27)
[pulsar-manager.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.8.0_212]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[na:1.8.0_212]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_212]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_212]
at
org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
[spring-boot-devtools-2.0.2.RELEASE.jar:2.0.2.RELEASE]```
----
2019-12-09 15:24:09 UTC - Nicolas Ha:
----
2019-12-09 15:39:29 UTC - David Kjerrumgaard: @Greg Pull requests are welcomed.
----
2019-12-09 15:43:05 UTC - David Kjerrumgaard: @Pedro Cardoso I am not aware of
any schema porting tools, or the registry project. The Pulsar schema registry
is not based on that project.
----
2019-12-09 17:00:17 UTC - Alexandre DUVAL: Hi, how can I debug this easily?
----
2019-12-09 17:00:20 UTC - Alexandre DUVAL: ```AuthenticationBiscuit
authenticationBiscuit = new AuthenticationBiscuit();
authenticationBiscuit.configure(Base64.getUrlEncoder().encodeToString(data));
final PulsarClient client = PulsarClient.builder()
.serviceUrl("pulsar://" + configuration.getString(PULSAR_IP_CLIENT_KEY) + ":"
+ configuration.getInt(PULSAR_PORT_KEY))
.authentication(authenticationBiscuit)
.build();```
----
2019-12-09 17:00:45 UTC - Alexandre DUVAL:
----
2019-12-09 17:06:08 UTC - Alexandre DUVAL: Here is the AuthenticationBiscuit
class:
<https://github.com/CleverCloud/biscuit-pulsar/blob/update/biscuit-pulsar/src/main/java/com/clevercloud/biscuitpulsar/AuthenticationBiscuit.java>
----
2019-12-09 17:54:54 UTC - Sijie Guo: It seems that the state of the connection
is not in the expected state. but can’t tell directly from the error.
----
2019-12-09 18:15:54 UTC - Sijie Guo: I am not sure about that. it can be custom
auth causing the channel into a unexpected state.
----
2019-12-09 18:19:45 UTC - Alexandre DUVAL: Will add more tests in the custom
authplugin provider as it's done for the authenticationprovidertoken
----
2019-12-09 18:20:59 UTC - Alexandre DUVAL: there integration tests using
authenticationprovidertoken, authenticationtoken using pulsar-client java?
can't find it
----
2019-12-09 19:01:30 UTC - juraj: the `mvn clean install -Pdocker` - ideally we
could run this build _in_ a docker container with a controlled environment --
is that how it works now / or would that be good to have/add ?
----
2019-12-09 20:02:15 UTC - Alexandre DUVAL: The error occurs on
producer/consumer creation, and not on the pulsarclient build
----
2019-12-09 20:33:45 UTC - Roman Popenov: I have made a quick experimentation
with Pulsar Function pulling the subject field out of RFC822 emails onto a
separate topic. There was a need to a schema for the topics. I thought this was
optional.
----
2019-12-09 20:47:08 UTC - Sijie Guo: you can use a maven docker image to run
this command; or use pulsar-build image
(<https://hub.docker.com/r/apachepulsar/pulsar-build/tags>)
+1 : juraj
----
2019-12-09 20:48:28 UTC - Sijie Guo: what is the issue you are seeing?
----
2019-12-09 20:49:33 UTC - Roman Popenov: I had to manually create the schema:
```cat '{"type": "STRING", "schema": "", "properties": {} }' > string.json
/pulsar/bin/pulsar-admin schemas upload -f string.json subjects
/pulsar/bin/pulsar-admin schemas upload -f string.json emails```
----
2019-12-09 20:56:24 UTC - Sijie Guo: since functions are typed, schema is
inferred by the arguments. functions will then use the corresponding schemas to
consume or write messages.
if the input topics and output topics exist prior to starting a function, you
need to guarantee they have the right schema matching with your function
argument types.
If the input topics and output topics don’t exist, they will be created with
the right schema when a function started.
----
2019-12-09 20:58:58 UTC - Sijie Guo: Created an issue to add documentation for
this - <https://github.com/apache/pulsar/issues/5831>
----
2019-12-09 21:46:17 UTC - Roman Popenov: I’ll give it a go, maybe I tried
re-using some topics in the chaos, thank you
----
2019-12-09 22:48:29 UTC - Ryan Samo: I would love to see this feature too!!!
+1 : Ryan
----