Hi guys,

Here is a suggestion. If a change is identified as a large or controversial
change. It might require an Improvement Proposal(refer to FLIP*1), and a
discussion on the dev mailing list to reach agreement and consensus.


1*
https://cwiki.apache.org/confluence/display/FLINK/Flink+Improvement+Proposals

Houliang Qi <[email protected]> 于2023年4月12日周三 21:30写道:

> A healthy community requires different voices. It is these different
> voices that enable us to strictly review each feature and consider each
> scenario more comprehensively, so that we can better provide users with
> better features.
>
> I am also very grateful to the colleagues who participated in this
> discussion.
>
> If it is still the previous discussion point, I will stick to my previous
> opinion and will not reply again.
>
> If someone brings up a new discussion point, I think it is possible to
> open another discussion.
>
>
>
>
>
> Thanks.
> ---------------------------------------
> Houliang Qi
> BONC, Ltd
>
>
> ---- Replied Message ----
> | From | Houliang Qi<[email protected]> |
> | Date | 04/12/2023 20:08 |
> | To | [email protected]<[email protected]> |
> | Subject | Re: [discuss] consider revert the feature of multi-tenancy |
> Hi,
> I would like to end by stating my point of view. And I don't want to say
> it a second time.
>
> First of all, I agree to change the name of this feature to resource
> control. The reason why I think that both multi-tenancy and
> resource-control are suitable for us is that what we are currently doing is
> to limit the functions of users or databases resources.
>
>
> @Jinrui 2. A true multi-tenant system should also have features such as
> per-tenant configurations, customized tenant roles and permissions, and
> clear separation of tenant data.
> @Jinrui 3. In our case, the lack of configuration file isolation in the
> current implementation means that different tenants may inadvertently
> affect each other's configurations, which goes against the core principle
> of multi-tenancy. The example I raised in last mail is also used to
> illustrate it rather than the function scope definition.
>
>
>
> But I disagree with Jinrui said above:
>
> You can refer to this paper [1]. This document summarizes multi-tenancy
> very well. First of all, it does not mean that multi-tenancy must have the
> ability to configure isolation. For this feature, we do share
> configuration, but our data is logically isolated and can limit some
> resources such as cpu, memory, timeseries, etc. This is also a way to
> realize multi-tenancy. Of course, each tenant can even use a different
> operating system, which is also a way to realize multi-tenancy. Please
> don't limit the way to realize multi-tenancy. There I would like to paste a
> passage from the paper as a conclusion:
>
>
> By sharing infrastructure, middleware, or application among tenants,
> multi-tenancy can be achieved
>
> In a multi-tenant architecture, a single instance of the software is
> deployed on the server functioning on the service provider infrastructure.
> It provides access to multiple tenants at the same time, as describe by
> Karataş et al. [KCD+17]. Abdul et al. [ABG+18]describe several multi-tenant
> data layer models, such as dedicated, isolated, shared, and hybrid. By
> sharing infrastructure, middleware, or application among tenants,
> multi-tenancy can be achieved. Figure 2.2 visualizes the multi-tenancy
> strategies described by Walraven et al. [WLJ14]. However, application-level
> multi-tenancy with a shared everything architecture can lead to cost
> reduction. Chong et al. [CCW06] have outlined several viable database
> patterns, primarily for Microsoft SQL Server, which supports
> application-level multi-tenancy. In a multi-tenant situation, they present
> three major strategies which are: distinct databases, shared databases with
> distinct schemes, and shared databases with shared schemes.
>
> [1] Enabling multi-tenant scalable IoT platforms.
> https://elib.uni-stuttgart.de/bitstream/11682/11024/1/Enabling%20multi-tenant%20scalable%20IoT%20platforms.pdf
>
>
>
>
>
> Thanks,
> ---------------------------------------
> Houliang Qi
> BONC, Ltd
>
>
> ---- Replied Message ----
> | From | Jinrui 张金瑞<[email protected]> |
> | Date | 04/12/2023 19:14 |
> | To | <[email protected]> |
> | Subject | Re: [discuss] consider revert the feature of multi-tenancy |
> Hi,
>
> Perhaps I need to emphasize again that regarding the multi-tenancy section
> discussed, the following is my conclusion:
> 1. The implementation of the PR cannot be called multi-tenancy
> 2. Multi-tenancy is not equal to resource control.
>
> The reasons are:
> 1. While resource isolation or control can be used to enable
> multi-tenancy, it's not the only requirement.
> 2. A true multi-tenant system should also have features such as per-tenant
> configurations, customized tenant roles and permissions, and clear
> separation of tenant data.
> 3. In our case, the lack of configuration file isolation in the current
> implementation means that different tenants may inadvertently affect each
> other's configurations, which goes against the core principle of
> multi-tenancy. The example I raised in last mail is also used to illustrate
> it rather than the function scope definition.
>
>
> @Chao: You think this pr function is missing, and I can understand it,
> after all, you have found some bad cases. So next time if there are other
> PRs and I find out the bad case, is it better to consider launching a
> discussion and reverting it?
>
> (Jinrui): You have raised a good point. In some cases, reverting the code
> might be the best option to prevent further damage. So, yes, please feel
> free to start a discussion if you find any issues in the future. I
> appreciate your understanding and willingness to consider discussions and
> reverts if any bad cases are found in future PRs. It is definitely
> welcomed. It’s important for us to maintain a high standard of code quality
> and ensure that our users can rely on our product. Let's continue to work
> together to achieve this goal.
>
> Thanks,
> Zhang Jinrui
>
> 2023年4月12日 下午6:13,Chao Wang <[email protected]> 写道:
>
> Hi,
>
>
> Especially when exposing these concepts to users, we don't want to create
> any misunderstandings about the core functionality of IoTDB, which is also
> mentioned in Xiangdong's mail. That's why we need to be precise in our
> definitions and avoid interchangeable usage of terms that could lead to
> confusion.
>
>
> I agree that the term multi-tenancy is somewhat imprecise in a sense and
> can be modified to avoid unnecessary misunderstandings. But just like the
> multi-tenant form you defined, what will be affected? Based on resource
> isolation technology or resource control technology, what's wrong with
> providing services to multiple tenants and declaring that this is a
> multi-tenant function (possibly weak)?
>
>
> I think it is good for everyone to discuss the definition clearly. Before
> the definition is clear, there is no need to question a bunch of questions
> first.
>
>
> However, based on my personal judgment and the current state of the code,
> I don't believe it's ready to be merged yet due to its significant missing
> functionality.
>
>
> I have tested the code and the steps below are working. I think the basic
> functions are done.
>
>
> set space quota timeseries=3 on root.test
> create timeseries root.test.wf01.wt01.status with
> datatype=BOOLEAN,encoding=PLAIN
> create timeseries root.test.wf01.wt01.status1 with
> datatype=BOOLEAN,encoding=PLAIN
> create timeseries root.test.wf01.wt01.status2 with
> datatype=BOOLEAN,encoding=PLAIN
> create timeseries root.test.wf01.wt01.status4 with
> datatype=BOOLEAN,encoding=PLAIN
>
>
> The fourth statement will report an error.
>
>
>
>
> You think this pr function is missing, and I can understand it, after all,
> you have found some bad cases. So next time if there are other PRs and I
> find out the bad case, is it better to consider launching a discussion and
> reverting it?
>
>
>
>
>
>
>
>
>
>
> Thanks!
>
>
> Chao Wang
> BONC ltd
> On 4/12/2023 17:28,Jinrui 张金瑞<[email protected]> wrote:
> Hi,
>
> @Chao: Well, there is a difference between multi-tenancy and resource
> control as you define. Sometimes in communication, a certain application
> form is often used to refer to the core technology or representative
> technology, or the core technology represents a certain application form. I
> think it is not accurate, but it is acceptable. Just like when I say cloud
> native, I will naturally think of k8s, and when it comes to containers, I
> will think of docker. I think the core technology of multi-tenancy is
> resource control or isolation, so it is also possible to mention
> multi-tenancy. Functions similar to multi-tenancy can be realized based on
> the resource control function.
> (Jinrui): I understand your point of view, but I still believe that there
> is a difference between multi-tenancy and resource control. While it may be
> acceptable to use a certain application form to refer to a core technology
> or representative technology, I think it's important to be accurate in our
> terminology, especially when it comes to technical discussions. In my
> opinion, the core technology of multi-tenancy is about providing separate
> environments for different tenants, while resource control or isolation is
> a means to achieve that. While functions similar to multi-tenancy can be
> realized based on the resource control function, I think it's important to
> distinguish between the two and use the appropriate term depending on the
> context.
> Especially when exposing these concepts to users, we don't want to create
> any misunderstandings about the core functionality of IoTDB, which is also
> mentioned in Xiangdong's mail. That's why we need to be precise in our
> definitions and avoid interchangeable usage of terms that could lead to
> confusion.
>
> @Chao: I think there is a problem with this code and it needs to be fixed.
> You can continue to submit the code to fix it. We don't need to revert and
> wait for the repair to be completed before submit it. What you emphasize is
> that it affects the stability of the code, so it's better to revert. I
> Agree with that. But I don’t see how a function that is turned off by
> default affects the stability and affects the user? Has it affected the
> development of other functions? Does it affect pipeline testing? Only
> bug-free code does not affect stability? As Houliang said, can someone be
> sure that their code has no bugs?
> (Jinrui): While it's true that no one can guarantee bug-free code, it's
> also important to ensure that the code meets the minimum requirements for
> functionality and stability. We don't want to risk introducing more issues
> to the system by merging incomplete or flawed code. I would like to clarify
> that the current issue with the code is not just about the presence of
> bugs, but also about the basic functionality that is missing. Furthermore,
> even if the function is turned off by default, it could still have an
> impact on the development of other functions.
> I understand that we may have different opinions on whether this code
> should be merged or not. If you think it's acceptable to merge the code, I
> respect your opinion and we can proceed accordingly. However, based on my
> personal judgment and the current state of the code, I don't believe it's
> ready to be merged yet due to its significant missing functionality.
>
>
> @Houliang: Second: why can't we call it multi-tenant? We can achieve
> logical isolation of data through this feature and auth permission, and we
> can also manage and control users and database resources. Doesn't this just
> verify what you said above?
> (Jinrui): Let's say there are two tenants in the system, Tenant A and
> Tenant B. In the current implementation, if Tenant A disables the
> compaction function, it will also be disabled for Tenant B. This means that
> Tenant B has no control over this feature and must accept the configuration
> set by Tenant A. This is not an ideal scenario for multi-tenancy, as each
> tenant should be able to configure their own settings independently without
> affecting other tenants.
> Additionally, if one user modifies the configuration of their IoTDB
> instance, it can potentially impact the experience of other users sharing
> the same resources. This is not desirable for multi-tenancy, as each tenant
> should be isolated from each other and their actions should not impact
> other tenants.
> Therefore, it's important to have proper multi-tenancy implementation to
> avoid these kinds of issues and ensure each tenant can operate
> independently without interfering with each other.
>
> Thanks,
> Zhang Jinrui
>
>
> 2023年4月12日 下午4:08,Houliang Qi <[email protected]> 写道:
>
> Hi, Jinrui
>
>
> (Jinrui): Just like how I believe that multi-tenancy and multi-user are
> not the same thing, regarding the suggestion to interchange "multi-tenancy"
> and "resource control," while they may have some similarities in concept,
> they are not interchangeable.
>
> First of all, you misunderstood me. I never said that multi-tenancy and
> multi-user are the same thing. What I want to emphasize is: one user per
> tenant is also one of the ways to realize multi-tenancy, and one tenant
> manages one database, which is also one of the ways to realize
> multi-tenancy, and dories, spanner also has such an implementation.
>
> (Jinrui): multi-tenancy is a specific approach to architecture that
> enables multiple tenants to share the same resources while keeping their
> data isolated, whereas resource control is a broader term that can refer to
> any mechanism used to manage and allocate system resources.
>
> Second: why can't we call it multi-tenant? We can achieve logical
> isolation of data through this feature and auth permission, and we can also
> manage and control users and database resources. Doesn't this just verify
> what you said above?
>
>
>
>
>
>
> Thanks,
> ---------------------------------------
> Houliang Qi
> BONC, Ltd
>
>
> ---- Replied Message ----
> | From | Jinrui 张金瑞<[email protected]> |
> | Date | 04/12/2023 14:55 |
> | To | <[email protected]> |
> | Subject | Re: [discuss] consider revert the feature of multi-tenancy |
> Hi,
>
>
> the following description assumes that multi-tenancy = resource control,
> the two words can be interchanged. Are there any objections?
>
> (Jinrui): Just like how I believe that multi-tenancy and multi-user are
> not the same thing, regarding the suggestion to interchange "multi-tenancy"
> and "resource control," while they may have some similarities in concept,
> they are not interchangeable. Multi-tenancy is a specific approach to
> architecture that enables multiple tenants to share the same resources
> while keeping their data isolated, whereas resource control is a broader
> term that can refer to any mechanism used to manage and allocate system
> resources.
>
> Based on this, continue to infer, if it is found that the released version
> has a bug a few days after it was released, should the release be
> cancelled, and it is better to wait for the bug to be fixed.
> (Jinrui): Actually, we were not discussing how to do code control. But
> since you brought up the issue of code quality, do you think the current
> code is of sufficient quality to be merged? Or did you notice the issue
> when reviewing the code? Of course, I understand that we don't have a
> quantifiable standard to judge whether code is mergeable or not, and
> everyone has their own criteria for making that judgment. Regarding your
> question about cancelling a release if a bug is found a few days after it
> was released, I think it depends on the severity of the bug and the impact
> it has on users. If the bug is minor and does not affect the core
> functionality of the software, it may be acceptable to wait for the bug to
> be fixed in the next release. However, if the bug is severe and causes
> major issues for users, it may be necessary to cancel the release and fix
> the bug immediately.
>
> As for the fact that it hasn’t been fixed for two days, this function is
> being discussed whether it should be discarded or not. Does it still take
> time to fix bugs?
>
> (Jinrui): I didn't fully understand what you meant, could you please
> explain it again?
>
> Thanks,
> Zhang Jinrui
>
> 2023年4月12日 下午1:35,Chao Wang <[email protected]> 写道:
>
> Hi all,
>
>
> It seems that Houliang didn't make it very clear before.  Let me add some
> more information.
>
>
> If you think this code is doing multi tenant things now, why do we need to
> change the name to some other words like resource control ? Is it > just to
> prevent users from misunderstandings from the definition? If that's the
> case, does it mean that users perceive multi tenancy as different from what
> we do? This is contradictory.
>
>
> Why change multi-tenancy to resource control is just because everyone’s
> perception of multi-tenancy is not very unified. It may be more unified to
> change it to resource control. This should not be contradictory.
>
>
> Suppose, under the advance statement in pr, the following description
> assumes that multi-tenancy = resource control, the two words can be
> interchanged. Are there any objections?
>
>
> It has been two days since this code was merged, and I don't know if
> anyone is fixing the issue I mentioned. Bug is definitely accepted, but I
> don't think this issue belongs to a 'bug' because it failed even the most
> basic functional testing.
>
>
>
>
> From your test, it is true that there is a problem with this pr, and there
> is no pr fix at present. For the stability of the code base, it should be
> better to revert, even if this function is turned off by default (reminds
> me of developing a new version of distributed Framework, it seems that many
> codes are merged when they can't run, I don't know if it's suitable for
> this scenario). Then according to this inference, whether all PRs in the
> future have to repair and submit bugfix immediately once a bug is found,
> and it is better to revert after a certain period of time (assuming 2
> days). Based on this, continue to infer, if it is found that the released
> version has a bug a few days after it was released, should the release be
> cancelled, and it is better to wait for the bug to be fixed.
>
>
> As for the fact that it hasn’t been fixed for two days, this function is
> being discussed whether it should be discarded or not. Does it still take
> time to fix bugs?
>
>
>
>
> Thanks!
>
>
> Chao Wang
> BONC ltd
> On 4/12/2023 11:26,张金瑞<[email protected]> wrote:
> Hi all,
>
>
> Although it seems that we have reached an agreement on what this PR really
> did, there are a few issues that I think are still unclear and need to be
> further discussed.
>
>
> &gt; @Houliang said in previous mail: "a user is a tenant, and each tenant
> has different resources. This is also multi-tenancy"
> (Jinrui) Everyone difinitely can have their own understanding of
> multi-tenancy but I don't think "Tenant is equal to User". We can refer the
> definition of MultiTenancy from wikipedia here&nbsp;
> https://en.wikipedia.org/wiki/Multitenancy. I think no&nbsp;matter how we
> define the concept of multi tenant ourselves, the reaction of most users
> when they see this word is more important when they use IoTDB. On the other
> hand, If you think this code is doing multi tenant things now, why do we
> need to change the name to some other words like resource control ? Is it
> just to prevent users from misunderstandings from the definition? If that's
> the case, does it mean that users perceive multi tenancy as different from
> what we do? This is contradictory.
>
>
>
> &gt;&nbsp;&nbsp;@Houliang said in previous mail: "I STRONGLY think that
> this PR does not violate the positioning and future development of IOTDB,
> so I STRONGLY think that revert is not needed"
> (Jinrui) I think the first part of my previous mail is not noticed.
> Maybe&nbsp;I need to emphasize it again. I didn't say that it was a MUST to
> perform a revert. What actually I said is if there is significant
> uncertainty in the code, revert is a quick way to make the repo keep
> stable. And I also appended a simple test report in last mail. And the test
> report showed that a very simple scenario cannot passed when enable the
> feature.&nbsp;It has been two days since this code was merged, and I don't
> know if anyone is fixing the issue I mentioned. Bug is definitely accepted,
> but I don't think this issue belongs to a 'bug' because it failed even the
> most basic functional testing.
>
>
>
> Thanks,
> Zhang Jinrui
>
>
> Original
>
>
>
> From:"Jialin Qiao"< [email protected] &gt;;
>
> Date:2023/4/11 21:47
>
> To:"dev"< [email protected] &gt;;
>
> Subject:Re: [discuss] consider revert the feature of multi-tenancy
>
>
> Hi,
>
> &gt; I think we have reached a consensus from the discussion, change the
> name of this feature to resource control, and continue to contribute to
> this feature.
>
> +1, Thanks for Houliang and Yuhua's contribution! We indeed need a
> resource control module to keep the system safe :)
>
> Best,
> —————————————————
> Jialin Qiao
> Apache IoTDB PMC
>
> Houliang Qi  于2023年4月11日周二 16:02写道:
> &gt;
> &gt; Hi, all
> &gt;
> &gt;
> &gt; I think we have reached a consensus from the discussion, change the
> name of this feature to resource control, and continue to contribute to
> this feature.
> &gt; Thank you for your concern.
> &gt;
> &gt;
> &gt;
> &gt;
> &gt;
> &gt; Thanks,
> &gt; ---------------------------------------
> &gt; Houliang Qi
> &gt; BONC, Ltd
> &gt;
> &gt;
> &gt; ---- Replied Message ----
> &gt; | From | Xiangdong Huang |
> &gt; | Date | 04/11/2023 15:39 |
> &gt; | To |  |
> &gt; | Subject | Re: [discuss] consider revert the feature of
> multi-tenancy |
> &gt; Hi Houliang,
> &gt;
> &gt; It makes no sense to refer Doris.  Doris is not a lightweight db, and
> &gt; edge side is never its goal.
> &gt;
> &gt; The topic of this discussion is whether to revert the feature of
> multi-tenancy.
> &gt;
> &gt; I wonder why you fall into these words.... I think I have mentioned at
> &gt; least twice (or maybe 3 times) that Jialin's suggestion is fine for
> &gt; me.
> &gt;
> &gt; Best,
> &gt; -----------------------------------
> &gt; Xiangdong Huang
> &gt; School of Software, Tsinghua University
> &gt;
> &gt;
> &gt; Houliang Qi  于2023年4月11日周二 15:05写道:
> &gt;
> &gt; Hi Jinrui,
> &gt;
> &gt; (Jinrui) From my perspective, Multi-tenancy is different from
> resource-control and they are not the different term for same thing.
> According to our implementation, current feature focus on the resource
> control on users of one tenant rather than on different tenants. If we did
> not reflect the wording `multi-tenancy` in the code, why do we use it on
> user docs and PR's description ?
> &gt;
> &gt; Sorry, I am not agree with you, from my perspective, a user is a
> tenant, and each tenant has different resources. This is also
> multi-tenancy. Even each tenant can only have one db. In our current
> implementation, a user is a tenant.
> &gt; For doris, they also mention multi-tenancy, but it is limited user
> resources.[1], the same as our current implementation.
> &gt; For Spanner, a tenant can also have only one db. [2]
> &gt; The reason why I think that both multi-tenancy and resource-control
> are suitable for us is that what we are currently doing is to limit the
> functions of users or db resources.
> &gt; On this point, I agree with Wang Chao's point of view.
> &gt;
> &gt; As for whether the multi-tenant function you mentioned affects the
> positioning of IoTDB, I don't think it is accurate.  I personally think
> that the multi-tenant function is a term for resource isolation technology
> and will not affect the positioning of IoTDB. I don't know how you define
> the multi-tenant function. If it refers to the connection with the billing
> system of the cloud service provider, it may be another form. This
> discussion will not continue to discuss multi-tenancy.
> &gt;
> &gt;
> &gt;
> &gt; (Jinrui) REVERT does not mean REJECT. It is only a quick way to keep
> the code more reliable before we reach the same page. And furthermore, I
> don't think it is harmful or discouraging and it is only a regular way we
> use to replace hot-fix.
> &gt; (Jinrui) The reviewers may be confused by the PR's description and
> then focus on whether `multi-tenant` should be integrated in current
> development stage of IoTDB.
> &gt;
> &gt; The topic of this discussion is whether to revert the feature of
> multi-tenancy. I STRONGLY think that this PR does not violate the
> positioning and future development of IOTDB, so I STRONGLY think that
> revert is not needed, as this function is not enabled by default, and we
> are continuing Iterate and refine this feature. Before the actual release,
> it is necessary to consider some scenarios and do some testing.
> &gt;
> &gt;
> &gt;
> &gt; [1] https://doris.apache.org/docs/dev/admin-manual/multi-tenant/
> &gt <https://doris.apache.org/docs/dev/admin-manual/multi-tenant/&gt>;
> [2]
> https://cloud.google.com/solutions/implementing-multi-tenancy-cloud-spanner
> &gt
> <https://cloud.google.com/solutions/implementing-multi-tenancy-cloud-spanner&gt>
> ;
> &gt;
> &gt; Thanks,
> &gt; ---------------------------------------
> &gt; Houliang Qi
> &gt; BONC, Ltd
> &gt;
> &gt;
> &gt; ---- Replied Message ----
> &gt; | From | Chao Wang |
> &gt; | Date | 04/11/2023 13:42 |
> &gt; | To | [email protected] |
> &gt; | Subject | Re: Re:Re: [discuss] consider revert the feature of
> multi-tenancy |
> &gt; Everyone's contribution counts. But what we are talking about is
> whether `multi-tenancy` is suitable for current IoTDB's development.
> &gt; From my perspective, Multi-tenancy is different from resource-control
> and they are not the different term for same thing. According to our
> implementation, current feature focus on the resource control on users of
> one tenant rather than on different tenants. If we did not reflect the
> wording `multi-tenancy` in the code, why do we use it on user docs and PR's
> description ?
> &gt;
> &gt;
> &gt; As I said before, the description is indeed not very clear, and the
> description can be modified as a resource control. So what's the point of
> wondering if this pr is a multi-tenant function? Even if it is a
> multi-tenant function, how will it affect the development of IoTDB?
> &gt;
> &gt;
> &gt; REVERT does not mean REJECT. It is only a quick way to keep the code
> more reliable before we reach the same page. And furthermore, I don't think
> it is harmful or discouraging and it is only a regular way we use to
> replace hot-fix.
> &gt;
> &gt;
> &gt; Yes, revert is a normal process, and PR also has some problems. Let's
> discuss the reason for reverting this PR. As Xiangdong said, this is a
> feature that will affect the positioning of IoTDB, so how does this feature
> affect the positioning of IoTDB?
> &gt;
> &gt;
> &gt; Agree. But if we don't make it clear before PR merged, pushing
> forward the discussion is better than directly merging, from my side.
> &gt;
> &gt;
> &gt; Agree.  I remember sending an email to discuss it. Does that mean
> that every PR needs to send an email to discuss clearly? After all, pushing
> forward the discussion is better than directly merging.
> &gt;
> &gt;
> &gt;
> &gt;
> &gt; Thanks!
> &gt;
> &gt;
> &gt; Chao Wang
> &gt; BONC ltd
> &gt; On 4/11/2023 13:10,张金瑞<[email protected]&gt; wrote:
> &gt; (Sorry for the format issue in previous mail)
> &gt; ======
> &gt; Hi, all
> &gt;
> &gt; I tried this feature locally according to the User Manual, and I am
> blocked at the beginning.
> &gt;
> &gt;
> &gt; Firstly, I didn't found the parameters `quota_enable` and
> `rate_limiter_type` in iotdb-common.properties to enable this functionality.
> &gt; I am not sure whether it is by design but it is not aligned with the
> user manual. And I have to add these two parameters into configuration file
> manually.
> &gt;
> &gt;
> &gt; Then, I tried the function to limit devices regarding a database and
> it seems some basic functionality is unexpected. See the test step below:
> &gt; 1. create a databse named `root.iov` and insert 5 devices into it.
> &gt; 2. run the command "set space quota devices=4 on root.iov" to set the
> device limit to 4. It can be executed successfully. (UNEXPECTED)
> &gt; 3. try to insert a new devices.
> &gt; 4. try to use the command "set space quota devices=8 on root.iov" to
> increase the threshold of device count but failed. (UNEXPECTED)
> &gt; 5. I created another database named `sg2` and tried to set quota
> limit to it but failed (UNEXPECTED)
> &gt; 6. After this test, I tried another test with more simple scenario
> but still failed.
> &gt;
> &gt;
> &gt; The detailed test steps can be found in this doc:
> https://apache-iotdb.feishu.cn/docx/IerZdPFHroEbRYxKvihcBpncnie
> &gt <https://apache-iotdb.feishu.cn/docx/IerZdPFHroEbRYxKvihcBpncnie&gt>;
> &nbsp; &nbsp; &nbsp;
> &gt; My confidence in the completeness of testing regarding this feature
> has greatly decreased. And at least from my perspective, I cannot guarantee
> how much impact this feature will have on the user experience.
> &gt;
> &gt;
> &gt; On the other hand, I also have some thoughts to share with you
> regarding the questions raised in the previous email.
> &gt;
> &gt;
> &gt; &gt;&gt; Leaving aside this feature, has the PR of the big feature we
> merged in been discussed in detail? How to define detailed discussion?
> &gt; (Jinrui) I think currently we are focusing on the side effects of
> this PR, whether the discussion is detailed depends on whether we have
> enough confidence of this feature's definition and implementation.
> &gt;
> &gt;
> &gt; &gt;&gt; &nbsp;I think that we should discuss some of our discussion
> points clearly at the beginning of the design, instead of how to revert the
> PR after the PR is merged. I think there is a problem with this process.
> &gt; (Jinrui) Agree. But if we don't make it clear before PR merged,
> pushing forward the discussion is better than directly merging, from my
> side.
> &gt;
> &gt;
> &gt; &gt;&gt; Who can guarantee that there are no bugs and no problems in
> the developed functions, and we are all improving through continuous
> iteration
> &gt; (Jinrui) Yes. But the developer should do enough tests including
> different scenarios to ensure this feature can work smoothly.
> &gt;
> &gt;
> &gt; &gt;&gt; However, reverting will undoubtedly be harmful to the
> community, will discourage the enthusiasm of community participants, and is
> very unfriendly to community participants
> &gt; (Jinrui) REVERT does not mean REJECT. It is only a quick way to keep
> the code more reliable before we reach the same page. And furthermore, I
> don't think it is harmful or discouraging and it is only a regular way we
> use to replace hot-fix.
> &gt;
> &gt;
> &gt; &gt;&gt; If in doubt, I think it would be better to raise it as soon
> as possible, instead of waiting for others to finish their hard work before
> questioning.
> &gt; (Jinrui) My words has no doubt and offense to anyone and it is only a
> discussion about this issue. Contribution is welcomed and talking is also
> welcomed. If we notice some potential issue which is worth to be talked
> about, any time is ok I think.
> &gt;
> &gt;
> &gt; &gt;&gt; This discuss is not for getting "+1" or "-1" (though anyone
> can reply the vote..). I just want to discuss that do we REALLY consider
> and analyze the feature and the implementation carefully?
> &gt; (Jinrui) The reviewers may be confused by the PR's description and
> then focus on whether `multi-tenant` should be integrated in current
> development stage of IoTDB.
> &gt;
> &gt;
> &gt; &gt;&gt; As for the name of this feature, in doris, it is called
> multi-tenancy[1], in hbase it is called quota[2], we can call it
> resource-control, I think it is ok.
> &gt; (Jinrui) From my perspective, Multi-tenancy is different from
> resource-control and they are not the different term for same thing.
> According to our implementation, current feature focus on the resource
> control on users of one tenant rather than on different tenants. If we did
> not reflect the wording `multi-tenancy` in the code, why do we use it on
> user docs and PR's description ?
> &gt;
> &gt;
> &gt; &gt;&gt; Another point is that the multi-tenancy function may be a
> function required by other companies' IOTDB releases, but will other
> people's contributions to the community affect the development of the
> community?
> &gt; (Jinrui) Everyone's contribution counts. But what we are talking
> about is whether `multi-tenancy` is suitable for current IoTDB's
> development.
> &gt;
> &gt;
> &gt;
> &gt;
> &gt; Thanks,
> &gt; Zhang Jinrui
> &gt;
> &gt;
> &gt;
> &gt;
> &gt;
> &gt;
> &gt;
> &gt;
> &gt; Original
> &gt;
> &gt;
> &gt;
> &gt; From:"Xiangdong Huang"< [email protected] &gt;;
> &gt;
> &gt; Date:2023/4/11 12:27
> &gt;
> &gt; To:"dev"< [email protected] &gt;;
> &gt;
> &gt; Subject:Re: [discuss] consider revert the feature of multi-tenancy
> &gt;
> &gt;
> &gt; Hi Houliang,
> &gt;
> &gt; Notice that I never said the feature should be reverted because of
> &gt; bugs.. The key point is the feature is harmful for Industry users
> &gt; because most of them do not like cloud. (that is why I opt for
> &gt; Jialin's suggestion).
> &gt;
> &gt; &gt; I think that we should discuss some of our discussion points
> clearly at the beginning of the design, instead of how to revert the PR
> after the PR is merged. I think there is a problem with this process.
> &gt;
> &gt; It is of course right, but it does not mean that we can not revert a
> &gt; PR if it is merged.
> &gt;
> &gt; &gt; Leaving aside this feature, has the PR of the big feature we
> merged in been discussed in detail? How to define detailed discussion?
> &gt;
> &gt; Yes for each big feature we need a discussion in detail. As I have no
> &gt; much time to join all the features, being the PMC chair, at least I
> &gt; need to keep the project following its original destination or new
> &gt; destination if we all agree.
> &gt;
> &gt; Considering my personal time, I judge and intervene featuers which may
> &gt; change the product's position. That is why I spent time to discuss
> &gt; whether we redesign the cluster mode, whether we split an IoTDB
> &gt; instance into two (CN and DN), and whether we tell IoTDB is for
> &gt; cloud-native... And that is why I do not care about more detailed
> &gt; features..
> &gt;
> &gt; Best,
> &gt; -----------------------------------
> &gt; Xiangdong Huang
> &gt; School of Software, Tsinghua University
> &gt;
> &gt; Houliang Qi  于2023年4月11日周二 09:51写道:
> &gt; &gt;
> &gt; &gt; Hi, all
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Leaving aside this feature, has the PR of the big feature we
> merged in been discussed in detail? How to define detailed discussion?
> &gt; &gt;
> &gt; &gt; I think that we should discuss some of our discussion points
> clearly at the beginning of the design, instead of how to revert the PR
> after the PR is merged. I think there is a problem with this process.
> &gt; &gt;
> &gt; &gt; Who can guarantee that there are no bugs and no problems in the
> developed functions, and we are all improving through continuous iteration.
> And this feature also refers to the design of some other excellent
> projects, such as doris and hbase.
> &gt; &gt;
> &gt; &gt; As for the name of this feature, in doris, it is called
> multi-tenancy[1], in hbase it is called quota[2], we can call it
> resource-control, I think it is ok. After all, we did not reflect the
> wording of multi-tenancy in the code implementation.
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; [1] https://doris.apache.org/docs/dev/admin-manual/multi-tenant
> &gt <https://doris.apache.org/docs/dev/admin-manual/multi-tenant&gt>;
> &gt; [2] https://hbase.apache.org/book.html#quota
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Thanks,
> &gt; &gt; ---------------------------------------
> &gt; &gt; Houliang Qi
> &gt; &gt; BONC, Ltd
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; ---- Replied Message ----
> &gt; &gt; | From | Chao Wang |
> &gt; &gt; | Date | 04/11/2023 09:15 |
> &gt; &gt; | To | [email protected] |
> &gt; &gt; | Cc | [email protected] |
> &gt; &gt; | Subject | Re: [discuss] consider revert the feature of
> multi-tenancy |
> &gt; &gt; Hi,  Xiangdong,
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; what is the side effect when we manually create a time series?
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; How about the pr https://github.com/apache/iotdb/pull/9430,
> limit the timeseries number of cluster, anyone analyze the side effect
> about creating a time series?
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; This discuss is not for getting "+1" or "-1" (though anyone can
> reply
> &gt; &gt; the vote..).
> &gt; &gt; I just want to discuss that do we REALLY consider and analyze the
> &gt; &gt; feature and the implementation carefully?
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Why not discuss before the PR submission, but wait until the PR
> submission before discussing, wouldn't it waste the energy of community
> participants? I have also seen emails sent before, not without notifying
> everyone.
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; In addition, I think Jialin's suggestion is more reasonable. The
> description of this function may not be particularly clear. It can be said
> in another way, such as resource control. However, reverting will
> undoubtedly be harmful to the community, will discourage the enthusiasm of
> community participants, and is very unfriendly to community participants.
> If in doubt, I think it would be better to raise it as soon as possible,
> instead of waiting for others to finish their hard work before questioning.
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Another point is that the multi-tenancy function may be a
> function required by other companies' IOTDB releases, but will other
> people's contributions to the community affect the development of the
> community? I think it will be more conducive to the development of
> community diversity.
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Thanks!
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Chao Wang
> &gt; &gt; BONC ltd
> &gt; &gt; [email protected]
> &gt; &gt; On 4/10/2023 23:45,Xiangdong Huang wrote:
> &gt; &gt; Besides the above, when we merge this pr, we posted the design
> in the feishu[4] and discussed it online as least two times, and emailed
> and discussed it with everyone[5], it has been passed 10 days.
> &gt; &gt;
> &gt; &gt; I think I know this and I have shown my concern about the
> possible
> &gt; &gt; harm of this featuer  to IoTDB's edge mode...
> &gt; &gt;
> &gt; &gt; 1) how many side-effects the feature will bring;
> &gt; &gt; We have done some tests under[1], which says with 20 databases
> and 1 user when we set `quota_enable` to true to enable the multi-tenancy
> feature, the write performance is only slowed down 1.75%, the read latency
> has not much difference, we will do more tests to show the side-effects in
> the feature.
> &gt; &gt;
> &gt; &gt; The experiment is rather simple...
> &gt; &gt; When we really want to show the added codes having no
> side-effects,
> &gt; &gt; all the exepriemnt settings should follow a rule that how to
> fully
> &gt; &gt; expose the possible problems.
> &gt; &gt;
> &gt; &gt; For example, as mult-tenancy limits the available # of devices,
> &gt; &gt; timeseries, and the spaces of disk, it should have side-effect on
> &gt; &gt; create new device/timeseries, and writing new data.
> &gt; &gt; So,
> &gt; &gt; - what is the side effect when we manually create a time series?
> &gt; &gt; - what is the side effect when we use automatical creating a
> time series?
> &gt; &gt; - what is the side effect when we write new data? (as the data
> can be
> &gt; &gt; compressed when it is flushed on disk in async mode, how to
> check the
> &gt; &gt; disk space?). Besides, as it impaces each write operation, we
> need to
> &gt; &gt; focus on write operstions which's batchsize=1.
> &gt; &gt;
> &gt; &gt; This discuss is not for getting "+1" or "-1" (though anyone can
> reply
> &gt; &gt; the vote..).
> &gt; &gt; I just want to discuss that do we REALLY consider and analyze the
> &gt; &gt; feature and the implementation carefully?
> &gt; &gt;
> &gt; &gt; If not, then this big feature is not the time to be merged (and
> I will
> &gt; &gt; call a vote then), and then let's rethink it and make it really
> &gt; &gt; available together.
> &gt; &gt; If yes, we also need to   rethink it and improve it for better
> performance.
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Best,
> &gt; &gt; -----------------------------------
> &gt; &gt; Xiangdong Huang
> &gt; &gt; School of Software, Tsinghua University
> &gt; &gt;
> &gt; &gt; Chao Wang  于2023年4月10日周一 19:14写道:
> &gt; &gt;
> &gt; &gt; Agree with Houliang's opinion.
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Thanks!
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Chao Wang
> &gt; &gt; BONC ltd
> &gt; &gt; On 4/10/2023 19:01,Houliang Qi wrote:
> &gt; &gt; -1
> &gt; &gt;
> &gt; &gt; First of all, thanks Xiangdong for pointing out IoTDB's Charter.
> &gt; &gt;
> &gt; &gt; "RESOLVED, that the Apache IoTDB Project be and hereby is
> &gt; &gt; responsible for the creation and maintenance of software
> &gt; &gt; related to an IoT native database with high performance
> &gt; &gt; for data management and analysis, on the edge and the cloud."
> &gt; &gt;
> &gt; &gt; As the charter post, IoTDB can be deployed in the cloud, this is
> why we deploy the multi-tenancy feature.
> &gt; &gt;
> &gt; &gt; The cloud can be a public or private cloud if we can deploy only
> one IoTDB cluster, and manage multi databases and users with different
> resources, which will simplify the maintenance.
> &gt; &gt;
> &gt; &gt; -&gt; 1) how many side-effects the feature will bring;
> &gt; &gt;
> &gt; &gt; We have done some tests under[1], which says with 20 databases
> and 1 user when we set `quota_enable` to true to enable the multi-tenancy
> feature, the write performance is only slowed down 1.75%, the read latency
> has not much difference, we will do more tests to show the side-effects in
> the feature.
> &gt; &gt;
> &gt; &gt; -&gt; 2) how to reduce the effect when IoTDB is deployed on the
> edge.
> &gt; &gt;
> &gt; &gt; We supply one switch about this feature, called `quota_enable`,
> by default this value is false, so it has no effect when IoTDB is deployed
> on the edge.
> &gt; &gt; This also answers Jinrui's doubt.
> &gt; &gt;
> &gt; &gt; -&gt; 3) some checks failed on WinOS, are they irrelevant?
> &gt; &gt;
> &gt; &gt; No, I think they are not irrelevant, the false check message is
> about the Compaction module, and
> &gt; &gt; I see the former pr[2][3] which have been merged 4 days ago has
> the same issue, so I suspect that the compaction module has occasional bugs
> &gt; &gt;
> &gt; &gt; -&gt; 4) The feature SHOULD be discussed carefully in the
> community, rather that submit PRs and merged after some reviews.
> &gt; &gt;
> &gt; &gt; Besides the above, when we merge this pr, we posted the design
> in the feishu[4] and discussed it online as least two times, and emailed
> and discussed it with everyone[5], it has been passed 10 days.
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; The IoTDB community is open and different opinions are welcome.
> After all, we all have the same original intention of wanting IoTDB's
> features to be more diverse.
> &gt; &gt;
> &gt; &gt; [1]
> https://apache-iotdb.feishu.cn/docx/DbqCd8t3EoxlCFx1yYicd9N4n4s
> &gt <https://apache-iotdb.feishu.cn/docx/DbqCd8t3EoxlCFx1yYicd9N4n4s&gt>;
> &gt; [2]
> https://github.com/apache/iotdb/actions/runs/4625220921/jobs/8181102446
> &gt
> <https://github.com/apache/iotdb/actions/runs/4625220921/jobs/8181102446&gt>;
> &gt; [3]
> https://github.com/apache/iotdb/actions/runs/4531046594/jobs/7980725316
> &gt
> <https://github.com/apache/iotdb/actions/runs/4531046594/jobs/7980725316&gt>;
> &gt; [4] https://apache-iotdb.feishu.cn/docx/doxcnKOYKDmJ40FpVnVsPMd3nTg
> &gt <https://apache-iotdb.feishu.cn/docx/doxcnKOYKDmJ40FpVnVsPMd3nTg&gt>;
> &gt; [5] https://lists.apache.org/thread/y6dqcm2o7qk0nbkllb61bp8cv6d3m1h7
> &gt <https://lists.apache.org/thread/y6dqcm2o7qk0nbkllb61bp8cv6d3m1h7&gt>;
> &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Thanks,
> &gt; &gt; ---------------------------------------
> &gt; &gt; Houliang Qi
> &gt; &gt; BONC, Ltd
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; ---- Replied Message ----
> &gt; &gt; | From | 张金瑞<[email protected]&gt; |
> &gt; &gt; | Date | 04/10/2023 15:03 |
> &gt; &gt; | To | dev |
> &gt; &gt; | Subject | Re:[discuss] consider revert the feature of
> multi-tenancy |
> &gt; &gt; +1,
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Agree with Xiangdong's opinion.&nbsp;
> &gt; &gt; And on the other hand,&nbsp; checking this PR's side effects may
> take lot of time&nbsp; and during this period, there may be lots of users
> using latest code to deploy/upgrade their systems. So the best practice is
> reverting this PR until the side-effect is eliminated
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Thanks,
> &gt; &gt; Zhang Jinrui,Apache IoTDB PMC
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Original
> &gt; &gt;
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; From:"Xiangdong Huang"< [email protected] &gt;;
> &gt; &gt;
> &gt; &gt; Date:2023/4/10 10:05
> &gt; &gt;
> &gt; &gt; To:"dev"< [email protected] &gt;;
> &gt; &gt;
> &gt; &gt; Subject:[discuss] consider revert the feature of multi-tenancy
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Hi all,
> &gt; &gt;
> &gt; &gt; I see the multi-tenancy feature is merged, and several
> committers made
> &gt; &gt; a lot of contributions on that.
> &gt; &gt;
> &gt; &gt; As multi-tenancy is quite a big feature, which may change IoTDB's
> &gt; &gt; position. The feature SHOULD be discussed carefully in the
> community,
> &gt; &gt; rather that submit PRs and merged after some reviews.
> &gt; &gt;
> &gt; &gt; Therefore, I call to revert the PR and discuss ASAP about the
> feature
> &gt; &gt; after that.
> &gt; &gt;
> &gt; &gt; At least, the proposer need to answer the following questions,
> &gt; &gt; 1) how many side-effect  the feature will bring;
> &gt; &gt; 2) how to reduce the effect when IoTDB is deployed on the edge.
> &gt; &gt; 3) some checks failed on WinOS, are they irrelevant?
> &gt; &gt;
> &gt; &gt; I don't mean of rejecting any big contribution to IoTDB or
> harming the
> &gt; &gt; community's diversity, but  accepting this feature is really big
> &gt; &gt; decision and it deserves us to take time to deliberate.
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; Attached IoTDB's Charter:
> &gt; &gt; "RESOLVED, that the Apache IoTDB Project be and hereby is
> &gt; &gt; responsible for the creation and maintenance of software
> &gt; &gt; related to an IoT native database with high performance
> &gt; &gt; for data management and analysis, on the edge and the cloud."
> &gt; &gt;
> &gt; &gt;
> &gt; &gt; [1] https://github.com/apache/iotdb/pull/9534/checks
> &gt; &gt;
> &gt; &gt; Best,
> &gt; &gt; -----------------------------------
> &gt; &gt; Xiangdong Huang
> &gt; &gt; School of Software, Tsinghua University
>
>
>

-- 
Thanks,
Xin

Reply via email to