Re: [VOTE] [PIP-158] Split client TLS transport encryption from authentication

2022-05-13 Thread Michael Marshall
+1, great addition! (non-binding)

Thanks,
Michael

On Wed, May 11, 2022 at 11:19 PM Ran Gao  wrote:
>
> +1 (non-binding)
>
> Best,
> Ran
>
> On 2022/05/10 08:46:26 Zixuan Liu wrote:
> > Hi Pulsar community,
> >
> > Voting for https://github.com/apache/pulsar/issues/15289
> >
> > Discussion thread:
> > https://lists.apache.org/thread/fblmm8oc7h907cfnppvk71o2cbp5mk8q
> >
> > Thanks,
> > Zixuan
> >
> > --
> >
> > ## Motivation
> >
> > The client supports TLS transport encryption and TLS authentication, this
> > code so like:
> >
> > ```java
> > PulsarClient client = PulsarClient.builder()
> > .serviceUrl("pulsar+ssl://localhost:6651")
> > .tlsTrustCertsFilePath("/path/to/cacert.pem")
> > .authentication(AuthenticationTls.class.getName(),
> > authParams)
> > .build()
> > ```
> >
> > This causes an issue that cannot use other authentication with TLS
> > transport encryption, and also made our confusion if we use TLS transport
> > encryption by setting `authentication`.
> >
> > ## Goal
> >
> > Split client TLS transport encryption from authentication is used to
> > support TLS transport encryption with any authentication.
> >
> > ## API Changes
> >
> > - Add new methods in `org.apache.pulsar.client.api.ClientBuilder`
> >
> > ```java
> > public interface ClientBuilder extends Serializable, Cloneable {
> > /**
> >  * Set the path to the TLS key file.
> >  *
> >  * @param tlsKeyFilePath
> >  * @return the client builder instance
> >  */
> > ClientBuilder tlsKeyFilePath(String tlsKeyFilePath);
> >
> > /**
> >  * Set the path to the TLS certificate file.
> >  *
> >  * @param tlsCertificateFilePath
> >  * @return the client builder instance
> >  */
> > ClientBuilder tlsCertificateFilePath(String tlsCertificateFilePath);
> >
> > /**
> >  * The file format of the key store file.
> >  *
> >  * @param tlsKeyStoreType
> >  * @return the client builder instance
> >  */
> > ClientBuilder tlsKeyStoreType(String tlsKeyStoreType);
> >
> > /**
> >  * The location of the key store file.
> >  *
> >  * @param tlsTrustStorePath
> >  * @return the client builder instance
> >  */
> > ClientBuilder tlsKeyStorePath(String tlsTrustStorePath);
> >
> > /**
> >  * The store password for the key store file.
> >  *
> >  * @param tlsKeyStorePassword
> >  * @return the client builder instance
> >  */
> > ClientBuilder tlsKeyStorePassword(String tlsKeyStorePassword);
> > }
> > ```
> >
> > ## Implementation
> >
> > ### TLS transport encryption
> >
> > We can call the `tlsKeyFilePath()`, `tlsCertificateFilePath()` and
> > `tlsTrustCertsFilePath()` to configurate the TLS transport encryption, the
> > code so like:
> >
> > ```java
> > PulsarClient client = PulsarClient.builder()
> > .serviceUrl("pulsar+ssl://my-host:6650")
> > .tlsTrustCertsFilePath("/path/to/cacert.pem")
> > .tlsKeyFilePath("/path/to/client-key.pem")
> > .tlsCertificateFilePath("/path/to/client-cert.pem")
> > .build();
> > ```
> >
> >
> > Call the `tlsKeyFilePath()`, `tlsTrustStorePath()` to configurate the JKS
> > TLS transport encryption, the code so like:
> >
> > ```java
> > PulsarClient client = PulsarClient.builder()
> > .serviceUrl("pulsar+ssl://my-host:6650")
> > .tlsKeyFilePath("/path/key.jks")
> > .tlsKeyStorePassword("hello")
> > .tlsTrustStorePath("/path/trust.jks")
> > .tlsTrustStorePassword("hello")
> > .build();
> > ```
> >
> >
> > ### TLS transport encryption with any authentication
> >
> > We can call the `tlsKeyFilePath()`, `tlsCertificateFilePath()`,
> > `tlsTrustCertsFilePath()` and `authentication()` to configurate  the TLS
> > transport encryption with any authentication, the code so like:
> >
> > ```java
> > PulsarClient client = PulsarClient.builder()
> > .serviceUrl("pulsar+ssl://my-host:6650")
> > .tlsTrustCertsFilePath("/path/to/cacert.pem")
> > .tlsKeyFilePath("/path/to/client-key.pem")
> > .tlsCertificateFilePath("/path/to/client-cert.pem")
> > .authentication(AuthenticationTls.class.getName() /*
> > AuthenticationToken.class.getName()*/, authParams)
> > .builder()
> > ```
> >
> > Call the `tlsKeyFilePath()`, `tlsTrustStorePath()` to configurate the JKS
> > TLS transport encryption, the code so like:
> >
> > ```java
> > PulsarClient client = PulsarClient.builder()
> > .serviceUrl("pulsar+ssl://my-host:6650")
> > .tlsKeyFilePath("/path/key.jks")
> > .tlsKeyStorePassword("hello")
> > .tlsTrustStorePath("/path/trust.jks")
> > .authentication(AuthenticationTls.class.getName() /*
> > AuthenticationToken.class.getName()*/, authParams)
> > .build();
> > ```
> >
> > For `AuthenticationTls`, we need to check the authParams, when the
> > authParams is empty, we need to read TLS 

Re: [DISCUSS] PIP-158: Split client TLS transport encryption from authentication

2022-05-13 Thread Michael Marshall
Thanks for your responses, Zixuan.

I think it might make sense to eventually deprecate the
AuthenticationTLS class, if only because I think it can be confusing
to give users two ways to configure the same thing. However, that is a
minor detail. For now, we'll need to support both.

Thanks,
Michael

On Thu, May 12, 2022 at 4:43 AM Zixuan Liu  wrote:
>
> You can see the code in the implementation part, this will be consistent
> with the actual document.
>
> Zixuan Liu  于2022年5月12日周四 17:03写道:
>
> > Hi Michael,
> >
> > Thanks for your feedback!
> >
> > >  I notice that the PIP doesn't
> > mention documentation. Since we're adding another way to configure
> > mTLS, please make sure to document the recommended way that users
> > should take advantage of this feature and how this feature relates to the
> > existing AuthenticationTLS feature.
> >
> > Good idea, let me add a simple document that how to use TLS transport and
> > TLS authentication.
> >
> > > We are removing the client's need to use the AuthenticationTLS class
> > to perform TLS authentication of clients by the server.
> >
> > We don't remove the use of the AuthenticationTLS.
> >
> > > If a user wants to use TLS certificates for authorization, they can
> > still put
> > roles in their client certificates and continue to use the
> > AuthenticationProviderTLS class to map a TLS certificate to a role on
> > the server side.
> >
> > You are right, the users still can use the AuthenticationTLS to perform
> > the TLS transport and TLS authentication.
> >
> > Currently, the AuthenticationTLS includes TLS transport and TLS
> > authentication, if the user only uses the TLS transport, not use the TLS
> > authentication, it is confusing, so I want to add a TLS transport config in
> > `ClientBuilder`.
> >
> > Thanks,
> > Zixuan
> >
> >
> > Michael Marshall  于2022年5月12日周四 01:51写道:
> >
> >> I agree that the current state of this feature is a bit confusing, and
> >> I think the proposed changes make sense. I notice that the PIP doesn't
> >> mention documentation. Since we're adding another way to configure
> >> mTLS, please make sure to document the recommended way that users
> >> should take advantage of this feature and how this feature relates to the
> >> existing AuthenticationTLS feature.
> >>
> >> In order to make sure I understand the feature correctly, can you
> >> confirm that the following is correct?
> >>
> >> We are removing the client's need to use the AuthenticationTLS class
> >> to perform TLS authentication of clients by the server. If a user
> >> wants to use TLS certificates for authorization, they can still put
> >> roles in their client certificates and continue to use the
> >> AuthenticationProviderTLS class to map a TLS certificate to a role on
> >> the server side.
> >>
> >> Thanks,
> >> Michael
> >>
> >>
> >>
> >>
> >>
> >>
> >> On Mon, May 9, 2022 at 12:58 AM Yunze Xu 
> >> wrote:
> >> >
> >> > Thanks for your clarification. Let’s continue maintaining these configs
> >> in
> >> > `ClientBuilder`.
> >> >
> >> > Thanks,
> >> > Yunze
> >> >
> >> >
> >> >
> >> >
> >> > > 2022年5月9日 13:54,Zixuan Liu  写道:
> >> > >
> >> > > Hi Yunze,
> >> > >
> >> > > Thanks for your suggestion, your idea is great, but we have the
> >> > > `tlsProtocols()` and `tlsCiphers()` in `ClientBuilder`, so I use this
> >> style.
> >> > >
> >> > > Thanks,
> >> > > Zixuan
> >> > >
> >> > > Yunze Xu  于2022年5月9日周一 13:31写道:
> >> > >
> >> > >> It totally LGTM. I have a suggestion that it might be better to
> >> configure a
> >> > >> class like `TlsConfiguration` instead of multiple TLS related configs
> >> > >> added to
> >> > >> `ClientBuilder`.
> >> > >>
> >> > >> Thanks,
> >> > >> Yunze
> >> > >>
> >> > >>
> >> > >>
> >> > >>
> >> > >>> 2022年4月24日 14:15,Zixuan Liu  写道:
> >> > >>>
> >> > >>> Hi Pulsar community,
> >> > >>>
> >> > >>> I open a https://github.com/apache/pulsar/issues/15289 for Split
> >> client
> >> > >> TLS
> >> > >>> transport encryption from authentication.
> >> > >>>
> >> > >>> Let me know what you think.
> >> > >>>
> >> > >>> Thanks,
> >> > >>> Zixuan
> >> > >>>
> >> > >>> --
> >> > >>>
> >> > >>> Motivation
> >> > >>>
> >> > >>> The client supports TLS transport encryption and TLS
> >> authentication, this
> >> > >>> code so like:
> >> > >>>
> >> > >>> PulsarClient client = PulsarClient.builder()
> >> > >>>   .serviceUrl("pulsar+ssl://localhost:6651")
> >> > >>>   .tlsTrustCertsFilePath("/path/to/cacert.pem")
> >> > >>>   .authentication(AuthenticationTls.class.getName(),
> >> > >> authParams)
> >> > >>>   .build()
> >> > >>>
> >> > >>> This causes an issue that cannot use other authentication with TLS
> >> > >>> transport encryption, and also made our confusion if we use TLS
> >> transport
> >> > >>> encryption by setting authentication.
> >> > >>> Goal
> >> > >>>
> >> > >>> Split client TLS transport encryption from authentication is used to
> >> > >>> support TLS transport encryption with any authentic

[GitHub] [pulsar-helm-chart] michaeljmarshall commented on pull request #205: Tiered Storage config

2022-05-13 Thread GitBox


michaeljmarshall commented on PR #205:
URL: 
https://github.com/apache/pulsar-helm-chart/pull/205#issuecomment-1126642759

   @pellicano - looks like some of the tests failed with this error: 
   
   > Error: template: pulsar/templates/broker-statefulset.yaml:260:50: 
executing "pulsar/templates/broker-statefulset.yaml" at : error calling eq: incompatible 
types for comparison
   
   I assume this fails because it's comparing an unset value to a string value.


-- 
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: dev-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [pulsar-helm-chart] michaeljmarshall opened a new pull request, #266: Add bk, zk securityContext to support upgrade to non-root docker image

2022-05-13 Thread GitBox


michaeljmarshall opened a new pull request, #266:
URL: https://github.com/apache/pulsar-helm-chart/pull/266

   Master Issue: https://github.com/apache/pulsar/issues/11269
   
   ### Motivation
   
   Apache Pulsar's docker images for 2.10.0 and above are non-root by default. 
In order to ensure there is a safe upgrade path, we need to expose the 
`securityContext` for the Bookkeeper and Zookeeper StatefulSets. Here is the 
relevant k8s documentation on this k8s feature: 
https://kubernetes.io/docs/tasks/configure-pod-container/security-context.
   
   Once released, all deployments using the default `values.yaml` configuration 
for the `securityContext` will pay a one time penalty on upgrade where the 
kubelet will recursively chown files to be root group writable. It's possible 
to temporarily avoid this penalty by setting `securityContext: {}`.
   
   ### Modifications
   
   * Add config blocks for the `bookkeeper.securityContext` and 
`zookeeper.securityContext`.
   * Default to `fsGroup: 0`. This is already the default group id in the 
docker image, and the docker image assumes the user has root group permission.
   * Default to `fsGroupChangePolicy: "OnRootMismatch"`. This configuration 
will work for all deployments where the user id is stable. If the user id 
switches between restarts, like it does in OpenShift, please set to `Always`.
   * Remove gc configuration writing to directory that the user lacks 
permission. (Perhaps we want to write to `/pulsar/log/bookie-gc.log`?) 
   * Add documentation to the README.
   
   ### Verifying this change
   
   I first attempted verification of this change with minikube. It did not work 
because minikube uses hostPath volumes by default. I then tested on EKS 
v1.21.9-eks-0d102a7. I tested by deploying the current, latest version of the 
helm chart (2.9.3) and then upgrading to this PR's version of the helm chart 
along with using the 2.10.0 docker image. I also tested upgrading from a 
default version 
   
   Test 1 is a plain upgrade using the default 2.9.3 version of the chart, then 
upgrading to this PR's version of the chart with the modification to use the 
2.10.0 docker images. It worked as expected.
   
   ```bash
   $ helm install test apache/pulsar
   $ # Wait for chart to deploy, then run the following, which uses Pulsar 
version 2.10.0:
   $  helm upgrade test -f charts/pulsar/values.yaml charts/pulsar/
   ```
   
   Test 2 is a plain upgrade using the default 2.9.3 version of the chart, then 
an upgrade to this PR's version of the chart, then an upgrade to this PR's 
version of the chart using 2.10.0 docker images. There is a minor error 
described in the `README.md`. The solution is to chown the bookie's data 
directory.
   
   ```bash
   $ helm install test apache/pulsar
   $ # Wait for chart to deploy, then run the following, which uses Pulsar 
version 2.9.2:
   $  helm upgrade test -f charts/pulsar/values.yaml charts/pulsar/
   $ # Upgrade using Pulsar version 2.10.0
   $  helm upgrade test -f charts/pulsar/values.yaml charts/pulsar/
   ```
   
   ### GC Logging
   
   In my testing, I ran into the following errors when using 
`-Xlog:gc:/var/log/bookie-gc.log`:
   
   ```
   pulsar-bookkeeper-verify-clusterid [0.008s] Error opening log file 
'/var/log/bookie-gc.log': Permission denied
   pulsar-bookkeeper-verify-clusterid [0.008s] Initialization of output 
'file=/var/log/bookie-gc.log' using options '(null)' failed.
   pulsar-bookkeeper-verify-clusterid [0.005s] Error opening log file 
'/var/log/bookie-gc.log': Permission denied
   pulsar-bookkeeper-verify-clusterid [0.006s] Initialization of output 
'file=/var/log/bookie-gc.log' using options '(null)' failed.
   pulsar-bookkeeper-verify-clusterid Invalid -Xlog option 
'-Xlog:gc:/var/log/bookie-gc.log', see error log for details.
   pulsar-bookkeeper-verify-clusterid Error: Could not create the Java Virtual 
Machine.
   pulsar-bookkeeper-verify-clusterid Error: A fatal exception has occurred. 
Program will exit.
   pulsar-bookkeeper-verify-clusterid Invalid -Xlog option 
'-Xlog:gc:/var/log/bookie-gc.log', see error log for details.
   pulsar-bookkeeper-verify-clusterid Error: Could not create the Java Virtual 
Machine.
   pulsar-bookkeeper-verify-clusterid Error: A fatal exception has occurred. 
Program will exit.
   ```
   
   I resolved the error by removing the setting.
   
   ### OpenShift Observations
   
   I wanted to seamlessly support OpenShift, so I investigated using 
configuring the bookkeeper and zookeeper process with `umask 002` so that they 
would create files and directories that are group writable (OpenShift has a 
stable group id, but gives the process a random user id). That worked for most 
tools when switching the user id, but not for RocksDB, which creates a lock 
file at `/pulsar/data/bookkeeper/ledgers/current/ledgers/LOCK` with the 
permission `0644` ignoring the umask. Here is the relevant error:
   
   ```
   2022-05-14T03:45:06,903+  ERROR org.apache.bookk

[jira] [Updated] (PULSAR-21) "reconsumeLater method not support" exception using Pulsar client in Flink 1.15.0

2022-05-13 Thread Jason Kania (Jira)


 [ 
https://issues.apache.org/jira/browse/PULSAR-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Kania updated PULSAR-21:
--
Description: 
I have just upgraded from 1.12.7 to 1.15.0 of Flink. The installation is 
currently using the 2.9.2 version of Pulsar. Now, the pulsar client is 
generating the following exception:

 

2022-05-13 02:37:42,674 ERROR 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcherManager [] - 
Received uncaught exception.
java.lang.RuntimeException: SplitFetcher thread 0 received unexpected exception 
while polling the records
        at 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:150)
 ~[flink-connector-files-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:105)
 [flink-connector-files-1.15.0.jar:1.15.0]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
[?:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.io.IOException: 
org.apache.pulsar.client.api.PulsarClientException: reconsumeLater method not 
support!
        at 
org.apache.flink.connector.pulsar.source.reader.split.PulsarPartitionSplitReaderBase.fetch(PulsarPartitionSplitReaderBase.java:140)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.pulsar.source.reader.split.PulsarUnorderedPartitionSplitReader.fetch(PulsarUnorderedPartitionSplitReader.java:55)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:58)
 ~[flink-connector-files-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:142)
 ~[flink-connector-files-1.15.0.jar:1.15.0]
        ... 6 more
Caused by: org.apache.pulsar.client.api.PulsarClientException: reconsumeLater 
method not support!
        at 
org.apache.pulsar.client.impl.ConsumerBase.reconsumeLater(ConsumerBase.java:345)
 ~[pulsar-client-all-2.9.2.jar:2.9.2]
        at 
org.apache.flink.connector.pulsar.source.reader.split.PulsarUnorderedPartitionSplitReader.lambda$pollMessage$1(PulsarUnorderedPartitionSplitReader.java:109)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneaky(PulsarExceptionUtils.java:60)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneakyClient(PulsarExceptionUtils.java:41)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.pulsar.source.reader.split.PulsarUnorderedPartitionSplitReader.pollMessage(PulsarUnorderedPartitionSplitReader.java:107)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.pulsar.source.reader.split.PulsarPartitionSplitReaderBase.fetch(PulsarPartitionSplitReaderBase.java:115)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.pulsar.source.reader.split.PulsarUnorderedPartitionSplitReader.fetch(PulsarUnorderedPartitionSplitReader.java:55)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]

 

I attempted to set the configuration for the PulsarSource through Flink for the 
PULSAR_RETRY_ENABLE parameter to true, but it took me a long time to determine 
the connection. The exception should be changed to indicate one of the 
following:

 

1) reconsumeLater/retry option not enabled for topic X

2) retry option not enabled for topic X

  was:
I have just upgraded from 1.12.7 to 1.15.0 of Flink. The installation is 
currently using the 2.9.2 version of Pulsar. Now, the pulsar client is 
generating the following exception:

 

2022-05-13 02:37:42,674 ERROR 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcherManager [] - 
Received uncaught exception.
java.lang.RuntimeException: SplitFetcher thread 0 received unexpected exception 
while polling the records
        at 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:150)
 ~[flink-connector-files-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:105)
 [flink-connector-files-1.15.0.jar:1.15.0]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 

[jira] [Updated] (PULSAR-21) "reconsumeLater method not support" exception using Pulsar client in Flink 1.15.0

2022-05-13 Thread Jason Kania (Jira)


 [ 
https://issues.apache.org/jira/browse/PULSAR-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Kania updated PULSAR-21:
--
Description: 
I have just upgraded from 1.12.7 to 1.15.0 of Flink. The installation is 
currently using the 2.9.2 version of Pulsar. Now, the pulsar client is 
generating the following exception:

 

2022-05-13 02:37:42,674 ERROR 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcherManager [] - 
Received uncaught exception.
java.lang.RuntimeException: SplitFetcher thread 0 received unexpected exception 
while polling the records
        at 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:150)
 ~[flink-connector-files-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:105)
 [flink-connector-files-1.15.0.jar:1.15.0]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
[?:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.io.IOException: 
org.apache.pulsar.client.api.PulsarClientException: reconsumeLater method not 
support!
        at 
org.apache.flink.connector.pulsar.source.reader.split.PulsarPartitionSplitReaderBase.fetch(PulsarPartitionSplitReaderBase.java:140)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.pulsar.source.reader.split.PulsarUnorderedPartitionSplitReader.fetch(PulsarUnorderedPartitionSplitReader.java:55)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:58)
 ~[flink-connector-files-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:142)
 ~[flink-connector-files-1.15.0.jar:1.15.0]
        ... 6 more
Caused by: org.apache.pulsar.client.api.PulsarClientException: reconsumeLater 
method not support!
        at 
org.apache.pulsar.client.impl.ConsumerBase.reconsumeLater(ConsumerBase.java:345)
 ~[pulsar-client-all-2.9.2.jar:2.9.2]
        at 
org.apache.flink.connector.pulsar.source.reader.split.PulsarUnorderedPartitionSplitReader.lambda$pollMessage$1(PulsarUnorderedPartitionSplitReader.java:109)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneaky(PulsarExceptionUtils.java:60)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneakyClient(PulsarExceptionUtils.java:41)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.pulsar.source.reader.split.PulsarUnorderedPartitionSplitReader.pollMessage(PulsarUnorderedPartitionSplitReader.java:107)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.pulsar.source.reader.split.PulsarPartitionSplitReaderBase.fetch(PulsarPartitionSplitReaderBase.java:115)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.pulsar.source.reader.split.PulsarUnorderedPartitionSplitReader.fetch(PulsarUnorderedPartitionSplitReader.java:55)
 ~[flink-connector-pulsar-1.15.0.jar:1.15.0]

 

I attempted to set the configuration for the PulsarSource through Flink for the 
PULSAR_RETRY_ENABLE parameter to true, but that had no effect but I am only 
guessing whether that is the related configuration parameter.

  was:
I have just upgraded from 1.12.7 to 1.15.0 of Flink. The installation is 
currently using the 2.9.2 version of Pulsar. Now, the pulsar client is 
generating the following exception:

 

2022-05-13 02:37:42,674 ERROR 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcherManager [] - 
Received uncaught exception.
java.lang.RuntimeException: SplitFetcher thread 0 received unexpected exception 
while polling the records
        at 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:150)
 ~[flink-connector-files-1.15.0.jar:1.15.0]
        at 
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:105)
 [flink-connector-files-1.15.0.jar:1.15.0]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
[?:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.io.IOException: 
org.apache.pulsar.client.api.P

[jira] [Updated] (PULSAR-21) "reconsumeLater method not support" exception using Pulsar client in Flink 1.15.0

2022-05-13 Thread Jason Kania (Jira)


 [ 
https://issues.apache.org/jira/browse/PULSAR-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Kania updated PULSAR-21:
--
Issue Type: Bug  (was: Improvement)

> "reconsumeLater method not support" exception using Pulsar client in Flink 
> 1.15.0
> -
>
> Key: PULSAR-21
> URL: https://issues.apache.org/jira/browse/PULSAR-21
> Project: Pulsar
>  Issue Type: Bug
> Environment: Java 11 on Ubuntu 20.04
>Reporter: Jason Kania
>Priority: Major
>
> I have just upgraded from 1.12.7 to 1.15.0 of Flink. The installation is 
> currently using the 2.9.2 version of Pulsar. Now, the pulsar client is 
> generating the following exception:
>  
> 2022-05-13 02:37:42,674 ERROR 
> org.apache.flink.connector.base.source.reader.fetcher.SplitFetcherManager [] 
> - Received uncaught exception.
> java.lang.RuntimeException: SplitFetcher thread 0 received unexpected 
> exception while polling the records
>         at 
> org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:150)
>  ~[flink-connector-files-1.15.0.jar:1.15.0]
>         at 
> org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:105)
>  [flink-connector-files-1.15.0.jar:1.15.0]
>         at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>         at java.lang.Thread.run(Thread.java:829) [?:?]
> Caused by: java.io.IOException: 
> org.apache.pulsar.client.api.PulsarClientException: reconsumeLater method not 
> support!
>         at 
> org.apache.flink.connector.pulsar.source.reader.split.PulsarPartitionSplitReaderBase.fetch(PulsarPartitionSplitReaderBase.java:140)
>  ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
>         at 
> org.apache.flink.connector.pulsar.source.reader.split.PulsarUnorderedPartitionSplitReader.fetch(PulsarUnorderedPartitionSplitReader.java:55)
>  ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
>         at 
> org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:58)
>  ~[flink-connector-files-1.15.0.jar:1.15.0]
>         at 
> org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:142)
>  ~[flink-connector-files-1.15.0.jar:1.15.0]
>         ... 6 more
> Caused by: org.apache.pulsar.client.api.PulsarClientException: reconsumeLater 
> method not support!
>         at 
> org.apache.pulsar.client.impl.ConsumerBase.reconsumeLater(ConsumerBase.java:345)
>  ~[pulsar-client-all-2.9.2.jar:2.9.2]
>         at 
> org.apache.flink.connector.pulsar.source.reader.split.PulsarUnorderedPartitionSplitReader.lambda$pollMessage$1(PulsarUnorderedPartitionSplitReader.java:109)
>  ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
>         at 
> org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneaky(PulsarExceptionUtils.java:60)
>  ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
>         at 
> org.apache.flink.connector.pulsar.common.utils.PulsarExceptionUtils.sneakyClient(PulsarExceptionUtils.java:41)
>  ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
>         at 
> org.apache.flink.connector.pulsar.source.reader.split.PulsarUnorderedPartitionSplitReader.pollMessage(PulsarUnorderedPartitionSplitReader.java:107)
>  ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
>         at 
> org.apache.flink.connector.pulsar.source.reader.split.PulsarPartitionSplitReaderBase.fetch(PulsarPartitionSplitReaderBase.java:115)
>  ~[flink-connector-pulsar-1.15.0.jar:1.15.0]
>         at 
> org.apache.flink.connector.pulsar.source.reader.split.PulsarUnorderedPartitionSplitReader.fetch(PulsarUnorderedPartitionSplitReader.java:55)
>  ~[flink-connector-pulsar-1.15.0.jar:1.15.0]



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


Re: [Discussion] Do you like the blue background of the New Pulsar Website?

2022-05-13 Thread Dave Fisher
Hi Yu -

Google Analytics are no longer allowed on ASF websites due to privacy concerns. 
See https://privacy.apache.org/policies/website-policy.html

This is a new policy. The privacy committee has setup an alternative Matomo 
service - https://privacy.apache.org/matomo/

ATB,
Dave

> On May 13, 2022, at 12:57 AM, Yu  wrote:
> 
> - Translation work will start from zero after we finish the rest tasks here
> [1].
> 
> - We've collected similar feedback on the background color from the
> previous New Pulsar Website Survey, and now we get more from DMs.
> 
> [1]
> https://docs.google.com/document/d/1IV35SI_F8G8cL-Vuzknc6RTGLK9_edRMpZpnrHvAWNs/edit#heading=h.xgaqzjl3894x
> 
> On Fri, May 13, 2022 at 3:03 PM Li Li  wrote:
> 
>> About the search issue, here is the discussion context link:
>> https://apache-pulsar.slack.com/archives/C02Q4JLUB38/p1649233950692869 <
>> https://apache-pulsar.slack.com/archives/C02Q4JLUB38/p1649233950692869>
>> 
>> Anyway, May need cckell...@gmail.com to help with this
>> 
>> 
>>> On May 13, 2022, at 11:33 AM, Dave Fisher  wrote:
>>> 
>>> Hi -
>>> 
>>> The two most important issues are search and translations. I’d like to
>> know when these will be fixed. Also, I’ve been trying google as an
>> alternative to our broken search and it is giving me ancient docs instead
>> of latest.
>>> 
>>> IMO - These graphical issues are comparatively trivial. That and there
>> was a survey. Why weren’t these criticisms provided?
>>> 
>>> Regards,
>>> Dave
>>> 
>>> Sent from my iPhone
>>> 
 On May 12, 2022, at 8:23 PM, Yu  wrote:
 
 Hi everyone,
 
 For the new Pulsar website, we got much negative feedback about the
 blue background
 color, it decreases readability significantly.
 
 They prefer the white background color as before, which looks more
>> clearly.
 
 Feel free to thumb up on this comment [1] if you feel the same.
 
 
 We may change the background color to white based on your thoughts,
>> thanks!
 
 
 [1]
>> https://github.com/apache/pulsar/issues/15538#issuecomment-1125602899
 
 
 Anonymitaet
>>> 
>> 
>> 



[DISCUSS] PIP-167: Make it Configurable to Require Subscription Permission

2022-05-13 Thread Michael Marshall
Hello Pulsar Community,

Here is a PIP to add a new namespace policy to configure how the
PulsarAuthorizationProvider handles the default subscription
permission value (null/an empty set). I look forward to your feedback.

PIP: https://github.com/apache/pulsar/issues/15597

Thanks,
Michael

## Motivation

Pulsar supports subscription level authorization. When combined with
topic level authorization, a user can configure Pulsar to limit which
roles can consume from which topic subscriptions. However, when this
feature is left unconfigured for a subscription, a role that has
permission to consume from a topic is, by default, implicitly granted
permission to consume from any subscription on that topic. As a
consequence, a missed security configuration could lead to accidental
privilege escalation. Here is a reference to the code responsible for
the current behavior:

https://github.com/apache/pulsar/blob/6864b0ae5520e06b9d0fc5dcfa5a0a0a44feee87/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/authorization/PulsarAuthorizationProvider.java#L115-L122

## Goal

I propose we add a namespace policy to configure a Pulsar namespace to
either allow all or reject all roles when there is no configuration
for a specific subscription’s permission. This way, a missed
configuration results in a rejected request due to insufficient
permission.

This PIP will not change the current behavior and will be backwards
compatible. It will add a new boolean field to the existing
`auth_policies` namespace policy to configure how the
`PulsarAuthorizationProvider` handles an empty set of allowed roles in
the `canConsume` method.

## Naming

I am not settled on the right name for this feature/namespace policy
yet. Hopefully this thread can help identify the right name.

First, the existing subscription level authorization feature has
several names. The Admin API calls this feature
`PermissionOnSubscription`, the Pulsar Admin CLI tool calls it
`subscription-permission`, the AuthPolicies interface calls it
`SubscriptionAuthentication`, and the value is stored in the metadata
store as `subscription_auth_roles`.

My preferred names for this feature are `implicit_subscription_auth`
and `implicitPermissionOnSubscription` because they work well with the
“grant” and “revoke” actions, e.g.
`grantImplicitPermissionOnSubscription` would be a PUT/POST call to
the `/implicitPermissionOnSubscription` endpoint to set the policy
value to true. However, that policy name requires the default value to
be true to maintain backwards compatibility. Enrico expressed concern
that defaulting to true is problematic for the upgrade path:
https://github.com/apache/pulsar/pull/15576#discussion_r872045946.

Alternatively, we could use the names
`PermissionOnSubscriptionRequired` and `subscription_auth_required`.
In that case, I would switch the admin API so that the admin API has a
single setter endpoint that takes the configuration as a part of the
body instead of relying on PUT to mean grant permission and DELETE to
mean revoke permission.

Please let me know if you have thoughts on what name(s) make sense for
this feature.

## API Changes

The API changes include updating the Admin API to enable getting and
modifying the namespace policy, as well as updating the namespace
AuthPolicy interface to store this new metadata field.

## Implementation

Draft implementation: https://github.com/apache/pulsar/pull/15576

The core update is to the
`PulsarAuthorizationProvider#canConsumeAsync` method so that when
`implicit_subscription_auth` is true, a null or empty set of roles for
a subscription’s permission will result in granted permission to
consume from the subscription, and when `implicit_subscription_auth`
is false, a null or empty set of roles for a subscription’s permission
will result in rejected permission to consume from the subscription.
Note that if we negate the meaning of the variable name, the logic
will also be inverted appropriately.

## Rejected Alternatives

First, we have already received a PR proposing to change the default
behavior for all use cases:
https://github.com/apache/pulsar/pull/3. This PR went stale
because changing the default would break many deployments. By making
the behavior configurable, we satisfy the requirements requested in
that PR without breaking existing deployments.

Second, it’s possible to implement a new `AuthorizationProvider` to
get this feature. However, I believe this feature will benefit users
and is a natural development on the existing Pulsar features around
subscription authorization, so I think we should include it in the
default `PulsarAuthorizationProvider`.


Re: [Discussion] Do you like the blue background of the New Pulsar Website?

2022-05-13 Thread Aaron Williams
I agree with Dave.  This process has gone on for 7 months? or is it 10? and
when it gets released, there are complaints about the color scheme?  It is
a little late.

The search function is broken and needs to be fixed, this should be the
highest priority.

Thank you to all involved over the last 7+ months.  The site looks
professional.


On Thu, May 12, 2022 at 8:36 PM Dave Fisher  wrote:

> In addition those who don’t like the light blue background have the dark
> option of a black background.
>
> Sent from my iPhone
>
> > On May 12, 2022, at 8:33 PM, Dave Fisher  wrote:
> >
> > Hi -
> >
> > The two most important issues are search and translations. I’d like to
> know when these will be fixed. Also, I’ve been trying google as an
> alternative to our broken search and it is giving me ancient docs instead
> of latest.
> >
> > IMO - These graphical issues are comparatively trivial. That and there
> was a survey. Why weren’t these criticisms provided?
> >
> > Regards,
> > Dave
> >
> > Sent from my iPhone
> >
> >> On May 12, 2022, at 8:23 PM, Yu  wrote:
> >>
> >> Hi everyone,
> >>
> >> For the new Pulsar website, we got much negative feedback about the
> >> blue background
> >> color, it decreases readability significantly.
> >>
> >> They prefer the white background color as before, which looks more
> clearly.
> >>
> >> Feel free to thumb up on this comment [1] if you feel the same.
> >>
> >>
> >> We may change the background color to white based on your thoughts,
> thanks!
> >>
> >>
> >> [1]
> https://github.com/apache/pulsar/issues/15538#issuecomment-1125602899
> >>
> >>
> >> Anonymitaet
>
>


Re: [Discussion] Do you like the blue background of the New Pulsar Website?

2022-05-13 Thread Niclas Hedhman



I am someone who generally has problem with the lack of contrast on many 
websites. pulsar.apache.org is NOT one of them. As long as the text is 
kept (near) black, I am fine.


Of course; Only one datapoint, and in the positive, so not too much 
weight to it. Should hear from those who has worse eyes than me.


I have no opinion on whether current color or white should be used.

Niclas

On 2022-05-13 05:22, Yu wrote:

Hi everyone,

For the new Pulsar website, we got much negative feedback about the
blue background
color, it decreases readability significantly.

They prefer the white background color as before, which looks more 
clearly.


Feel free to thumb up on this comment [1] if you feel the same.


We may change the background color to white based on your thoughts, 
thanks!



[1] 
https://github.com/apache/pulsar/issues/15538#issuecomment-1125602899



Anonymitaet


[GitHub] [pulsar-site] urfreespace merged pull request #76: Add announcement bar

2022-05-13 Thread GitBox


urfreespace merged PR #76:
URL: https://github.com/apache/pulsar-site/pull/76


-- 
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: dev-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [pulsar-site] urfreespace commented on pull request #76: Add announcement bar

2022-05-13 Thread GitBox


urfreespace commented on PR #76:
URL: https://github.com/apache/pulsar-site/pull/76#issuecomment-1125965606

   LGTM,thanks @SignorMercurio 


-- 
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: dev-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [pulsar-helm-chart] youg9203 opened a new issue, #265: Release tag pulsar-2.9.3 is not matching the images version in values.yaml

2022-05-13 Thread GitBox


youg9203 opened a new issue, #265:
URL: https://github.com/apache/pulsar-helm-chart/issues/265

   Hello,
   
   Is that intentional or a mistake, I believe it supposes to match the pulsar 
version, if not then I would suggest adding the build number in the version, 
the original version must be synced with the apache-pulsar version.
   
   Please correct me if I'm wrong, or did I miss something here?
   
   Thanks


-- 
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: dev-unsubscr...@pulsar.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[GitHub] [pulsar-site] Anonymitaet commented on pull request #76: Add announcement bar

2022-05-13 Thread GitBox


Anonymitaet commented on PR #76:
URL: https://github.com/apache/pulsar-site/pull/76#issuecomment-1125822413

   @SignorMercurio thanks for your contribution! The blue looks great! 
   
   @urfreespace can you help review it?


-- 
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: dev-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[ANNOUNCE] Apache BookKeeper 4.14.5 released

2022-05-13 Thread Nicolò Boschi
The Apache BookKeeper team is proud to announce Apache BookKeeper version
4.14.5.

Apache BookKeeper is a scalable, fault-tolerant, and low-latency storage
service optimized for
real-time workloads. It has been used for a fundamental service to build
reliable services.
It is also the log segment store for Apache DistributedLog and the message
store for Apache Pulsar.

This is the 32nd release of the Apache BookKeeper.

Release 4.14.5 is a maintenance release and includes important stability
improvements, upgrades to third party libraries marked with CVEs and more!

For BookKeeper release details and downloads, visit:

https://bookkeeper.apache.org/releases

BookKeeper 4.14.5 release notes are at:

https://bookkeeper.apache.org/release-notes/#4145

We would like to thank the contributors that made the release possible.

Regards,
The BookKeeper Team


[GitHub] [pulsar-site] SignorMercurio opened a new pull request, #76: Add announcement bar

2022-05-13 Thread GitBox


SignorMercurio opened a new pull request, #76:
URL: https://github.com/apache/pulsar-site/pull/76

   Implemented task 3 in apache/pulsar#15550. Screenshot:
   
   
![image](https://user-images.githubusercontent.com/32540679/168243182-1450126f-f5ab-4ca5-ad87-757e5bd56a3a.png)
   
   Not sure which background color and text color are suitable. Please let me 
know if these colors need to be changed.


-- 
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: dev-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [Discussion] Do you like the blue background of the New Pulsar Website?

2022-05-13 Thread Yu
- Translation work will start from zero after we finish the rest tasks here
[1].

- We've collected similar feedback on the background color from the
previous New Pulsar Website Survey, and now we get more from DMs.

[1]
https://docs.google.com/document/d/1IV35SI_F8G8cL-Vuzknc6RTGLK9_edRMpZpnrHvAWNs/edit#heading=h.xgaqzjl3894x

On Fri, May 13, 2022 at 3:03 PM Li Li  wrote:

> About the search issue, here is the discussion context link:
> https://apache-pulsar.slack.com/archives/C02Q4JLUB38/p1649233950692869 <
> https://apache-pulsar.slack.com/archives/C02Q4JLUB38/p1649233950692869>
>
> Anyway, May need cckell...@gmail.com to help with this
>
>
> > On May 13, 2022, at 11:33 AM, Dave Fisher  wrote:
> >
> > Hi -
> >
> > The two most important issues are search and translations. I’d like to
> know when these will be fixed. Also, I’ve been trying google as an
> alternative to our broken search and it is giving me ancient docs instead
> of latest.
> >
> > IMO - These graphical issues are comparatively trivial. That and there
> was a survey. Why weren’t these criticisms provided?
> >
> > Regards,
> > Dave
> >
> > Sent from my iPhone
> >
> >> On May 12, 2022, at 8:23 PM, Yu  wrote:
> >>
> >> Hi everyone,
> >>
> >> For the new Pulsar website, we got much negative feedback about the
> >> blue background
> >> color, it decreases readability significantly.
> >>
> >> They prefer the white background color as before, which looks more
> clearly.
> >>
> >> Feel free to thumb up on this comment [1] if you feel the same.
> >>
> >>
> >> We may change the background color to white based on your thoughts,
> thanks!
> >>
> >>
> >> [1]
> https://github.com/apache/pulsar/issues/15538#issuecomment-1125602899
> >>
> >>
> >> Anonymitaet
> >
>
>


Re: [Discussion] Do you like the blue background of the New Pulsar Website?

2022-05-13 Thread Li Li
About the search issue, here is the discussion context link:
https://apache-pulsar.slack.com/archives/C02Q4JLUB38/p1649233950692869 


Anyway, May need cckell...@gmail.com to help with this


> On May 13, 2022, at 11:33 AM, Dave Fisher  wrote:
> 
> Hi -
> 
> The two most important issues are search and translations. I’d like to know 
> when these will be fixed. Also, I’ve been trying google as an alternative to 
> our broken search and it is giving me ancient docs instead of latest.
> 
> IMO - These graphical issues are comparatively trivial. That and there was a 
> survey. Why weren’t these criticisms provided?
> 
> Regards,
> Dave
> 
> Sent from my iPhone
> 
>> On May 12, 2022, at 8:23 PM, Yu  wrote:
>> 
>> Hi everyone,
>> 
>> For the new Pulsar website, we got much negative feedback about the
>> blue background
>> color, it decreases readability significantly.
>> 
>> They prefer the white background color as before, which looks more clearly.
>> 
>> Feel free to thumb up on this comment [1] if you feel the same.
>> 
>> 
>> We may change the background color to white based on your thoughts, thanks!
>> 
>> 
>> [1] https://github.com/apache/pulsar/issues/15538#issuecomment-1125602899
>> 
>> 
>> Anonymitaet
> 



[GitHub] [pulsar-site] urfreespace merged pull request #75: Add line number in code blocks

2022-05-13 Thread GitBox


urfreespace merged PR #75:
URL: https://github.com/apache/pulsar-site/pull/75


-- 
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: dev-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org