Hello, replies inline.

On Wed, Dec 6, 2023 at 5:28 PM Xiangying Meng <xiangy...@apache.org> wrote:

> Hi Girish,
>
> Thank you for your explanation. Because Joe's email referenced the current
> implementation of Pulsar, I misunderstood him to be saying that this
> current implementation is not good.
>
> A possible use case is where there is one or a small number of topics in
> the namespace that store important messages, which need to be replicated to
> other clusters. Meanwhile, other topics only need to store data in the
> local cluster.
>

Is it not possible to simply have the other topics in a namespace which
allows for that other cluster, and the local topics remain in the namespace
with local cluster needs. Seems to me like a proper use case of two
different namespaces as the use case is different in both cases.



>
> For example, only topic1 needs replication, while topic2 to topic100 do
> not. According to the current implementation, we need to set replication
> clusters at the namespace level (e.g. cluster1 and cluster2), and then set
> the topic-level replication clusters (cluster1) for topic2 to topic100 to
> exclude them. It's hard to say that this is a good design.
>

No, all you need is to put topic1 in namespace1 and topic2 to topic100 in
namespace2 . This is exactly what me and Joe were saying is a bad design
choice that you are clubbing all 100 topics in same namespace.



>
> Best regards.
>
> On Wed, Dec 6, 2023 at 12:49 PM Joe F <joefranc...@gmail.com> wrote:
>
> > Girish,
> >
> > Thank you for making my point much better than I did ..
> >
> > -Joe
> >
> > On Tue, Dec 5, 2023 at 1:45 AM Girish Sharma <scrapmachi...@gmail.com>
> > wrote:
> >
> > > Hello Xiangying,
> > >
> > > I believe what Joe here is referring to as "application design" is not
> > the
> > > design of pulsar or namespace level replication but the design of your
> > > application and the dependency that you've put on topic level
> > replication.
> > >
> > > In general, I am aligned with Joe from an application design
> standpoint.
> > A
> > > namespace is supposed to represent a single application use case, topic
> > > level override of replication clusters helps in cases where there are a
> > few
> > > exceptional topics which do not need replication in all of the
> namespace
> > > clusters. This helps in saving network bandwidth, storage, CPU, RAM etc
> > >
> > > But the reason why you've raised this PIP is to bring down the actual
> > > replication semantics at a topic level. Yes, namespace level still
> exists
> > > as per your PIP as well, but is basically left only to be a "default in
> > > case topic level is missing".
> > > This brings me to a very basic question - What's the use case that you
> > are
> > > trying to solve that needs these changes? Because, then what's stopping
> > us
> > > from bringing every construct that's at a namespace level (bundling,
> > > hardware affinity, etc) down to a topic level?
> > >
> > > Regards
> > >
> > > On Tue, Dec 5, 2023 at 2:52 PM Xiangying Meng <xiangy...@apache.org>
> > > wrote:
> > >
> > > > Hi Joe,
> > > >
> > > > You're correct. The initial design of the replication policy leaves
> > room
> > > > for improvement. To address this, we aim to refine the cluster
> settings
> > > at
> > > > the namespace level in a way that won't impact the existing system.
> The
> > > > replication clusters should solely be used to establish full mesh
> > > > replication for that specific namespace, without having any other
> > > > definitions or functionalities.
> > > >
> > > > BR,
> > > > Xiangying
> > > >
> > > >
> > > > On Mon, Dec 4, 2023 at 1:52 PM Joe F <joefranc...@gmail.com> wrote:
> > > >
> > > > > >if users want to change the replication policy for
> > > > > topic-n and do not change the replication policy of other topics,
> > they
> > > > need
> > > > > to change all the topic policy under this namespace.
> > > > >
> > > > > This PIP unfortunately  flows from  attempting to solve bad
> > application
> > > > > design
> > > > >
> > > > > A namespace is supposed to represent an application, and the
> > namespace
> > > > > policy is an umbrella for a similar set of policies  that applies
> to
> > > all
> > > > > topics.  The exceptions would be if a topic had a need for a
> deficit,
> > > The
> > > > > case of one topic in the namespace sticking out of the namespace
> > policy
> > > > > umbrella is bad  application design in my opinion
> > > > >
> > > > > -Joe.
> > > > >
> > > > >
> > > > >
> > > > > On Sun, Dec 3, 2023 at 6:00 PM Xiangying Meng <
> xiangy...@apache.org>
> > > > > wrote:
> > > > >
> > > > > > Hi Rajan and Girish,
> > > > > > Thanks for your reply. About the question you mentioned, there is
> > > some
> > > > > > information I want to share with you.
> > > > > > >If anyone wants to setup different replication clusters then
> > either
> > > > > > >those topics can be created under different namespaces or
> defined
> > at
> > > > > topic
> > > > > > >level policy.
> > > > > >
> > > > > > >And users can anyway go and update the namespace's cluster list
> to
> > > add
> > > > > the
> > > > > > >missing cluster.
> > > > > > Because the replication clusters also mean the clusters where the
> > > topic
> > > > > can
> > > > > > be created or loaded, the topic-level replication clusters can
> only
> > > be
> > > > > the
> > > > > > subset of namespace-level replication clusters.
> > > > > > Just as Girish mentioned, the users can update the namespace's
> > > cluster
> > > > > list
> > > > > > to add the missing cluster.
> > > > > > But there is a problem because the replication clusters as the
> > > > namespace
> > > > > > level will create a full mesh replication for that namespace
> across
> > > the
> > > > > > clusters defined in
> > > > > > replication-clusters if users want to change the replication
> policy
> > > for
> > > > > > topic-n and do not change the replication policy of other topics,
> > > they
> > > > > need
> > > > > > to change all the topic policy under this namespace.
> > > > > >
> > > > > > > Pulsar is being used by many legacy systems and changing its
> > > > > > >semantics for specific usecases without considering consequences
> > are
> > > > > > >creating a lot of pain and incompatibility problems for other
> > > existing
> > > > > > >systems and let's avoid doing it as we are struggling with such
> > > > changes
> > > > > > and
> > > > > > >breaking compatibility or changing semantics are just not
> > > acceptable.
> > > > > >
> > > > > > This proposal will not introduce an incompatibility problem,
> > because
> > > > the
> > > > > > default value of the namespace policy of allowed-clusters and
> > > > > > topic-policy-synchronized-clusters are the replication-clusters.
> > > > > >
> > > > > > >Allowed clusters defined at tenant level
> > > > > > >will restrict tenants to create namespaces in regions/clusters
> > where
> > > > > they
> > > > > > >are not allowed.
> > > > > > >As Rajan also mentioned, allowed-clusters field has a different
> > > > > > meaning/purpose.
> > > > > >
> > > > > > Allowed clusters defined at the tenant level will restrict
> tenants
> > > from
> > > > > > creating namespaces in regions/clusters where they are not
> allowed.
> > > > > > Similarly, the allowed clusters defined at the namespace level
> will
> > > > > > restrict the namespace from creating topics in regions/clusters
> > where
> > > > > they
> > > > > > are not allowed.
> > > > > > What's wrong with this?
> > > > > >
> > > > > > Regards,
> > > > > > Xiangying
> > > > > >
> > > > > > On Fri, Dec 1, 2023 at 2:35 PM Girish Sharma <
> > > scrapmachi...@gmail.com>
> > > > > > wrote:
> > > > > >
> > > > > > > Hi Xiangying,
> > > > > > >
> > > > > > > Shouldn't the solution to the issue mentioned in #21564 [0]
> > mostly
> > > be
> > > > > > > around validating that topic level replication clusters are
> > subset
> > > of
> > > > > > > namespace level replication clusters?
> > > > > > > It would be a completely compatible change as even today the
> case
> > > > > where a
> > > > > > > topic has a cluster not defined in namespaces's
> > > replication-clusters
> > > > > > > doesn't really work.
> > > > > > > And users can anyway go and update the namespace's cluster list
> > to
> > > > add
> > > > > > the
> > > > > > > missing cluster.
> > > > > > >
> > > > > > > As Rajan also mentioned, allowed-clusters field has a different
> > > > > > > meaning/purpose.
> > > > > > > Regards
> > > > > > >
> > > > > > > On Thu, Nov 30, 2023 at 10:56 AM Xiangying Meng <
> > > > xiangy...@apache.org>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi, Pulsar Community
> > > > > > > >
> > > > > > > > I drafted a proposal to make the configuration of clusters at
> > the
> > > > > > > namespace
> > > > > > > > level clearer. This helps solve the problem of
> geo-replication
> > > not
> > > > > > > working
> > > > > > > > correctly at the topic level.
> > > > > > > >
> > > > > > > > https://github.com/apache/pulsar/pull/21648
> > > > > > > >
> > > > > > > > I'm looking forward to hearing from you.
> > > > > > > >
> > > > > > > > BR
> > > > > > > > Xiangying
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Girish Sharma
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > >
> > > --
> > > Girish Sharma
> > >
> >
>


-- 
Girish Sharma

Reply via email to