Hi Houliang,

It makes no sense to refer Doris.  Doris is not a lightweight db, and
edge side is never its goal.

> The topic of this discussion is whether to revert the feature of 
> multi-tenancy.

I wonder why you fall into these words.... I think I have mentioned at
least twice (or maybe 3 times) that Jialin's suggestion is fine for
me.

Best,
-----------------------------------
Xiangdong Huang
School of Software, Tsinghua University


Houliang Qi <neuyi...@163.com> 于2023年4月11日周二 15:05写道:
>
> Hi Jinrui,
>
> > (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 ?
>
> 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.
> For doris, they also mention multi-tenancy, but it is limited user 
> resources.[1], the same as our current implementation.
> For Spanner, a tenant can also have only one db. [2]
> 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.
> On this point, I agree with Wang Chao's point of view.
>
> > 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.
>
>
>
> > (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.
> > (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.
>
> 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.
>
>
>
> [1] https://doris.apache.org/docs/dev/admin-manual/multi-tenant/
> [2] 
> https://cloud.google.com/solutions/implementing-multi-tenancy-cloud-spanner
>
>
> Thanks,
> ---------------------------------------
> Houliang Qi
> BONC, Ltd
>
>
> ---- Replied Message ----
> | From | Chao Wang<ccgow...@163.com> |
> | Date | 04/11/2023 13:42 |
> | To | dev@iotdb.apache.org<dev@iotdb.apache.org> |
> | Subject | Re: Re:Re: [discuss] consider revert the feature of multi-tenancy 
> |
> Everyone's contribution counts. But what we are talking about is whether 
> `multi-tenancy` is suitable for current IoTDB's development.
> 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 ?
>
>
> 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?
>
>
> 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.
>
>
> 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?
>
>
> Agree. But if we don't make it clear before PR merged, pushing forward the 
> discussion is better than directly merging, from my side.
>
>
> 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.
>
>
>
>
> Thanks!
>
>
> Chao Wang
> BONC ltd
> On 4/11/2023 13:10,张金瑞<329920...@qq.com.INVALID> wrote:
> (Sorry for the format issue in previous mail)
> ======
> Hi, all
>
> I tried this feature locally according to the User Manual, and I am blocked 
> at the beginning.
>
>
> Firstly, I didn't found the parameters `quota_enable` and `rate_limiter_type` 
> in iotdb-common.properties to enable this functionality.
> 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.
>
>
> Then, I tried the function to limit devices regarding a database and it seems 
> some basic functionality is unexpected. See the test step below:
> 1. create a databse named `root.iov` and insert 5 devices into it.
> 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)
> 3. try to insert a new devices.
> 4. try to use the command "set space quota devices=8 on root.iov" to increase 
> the threshold of device count but failed. (UNEXPECTED)
> 5. I created another database named `sg2` and tried to set quota limit to it 
> but failed (UNEXPECTED)
> 6. After this test, I tried another test with more simple scenario but still 
> failed.
>
>
> The detailed test steps can be found in this doc: 
> https://apache-iotdb.feishu.cn/docx/IerZdPFHroEbRYxKvihcBpncnie
> &nbsp; &nbsp; &nbsp;
> 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.
>
>
> On the other hand, I also have some thoughts to share with you regarding the 
> questions raised in the previous email.
>
>
> &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?
> (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; &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.
> (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; Who can guarantee that there are no bugs and no problems in the 
> developed functions, and we are all improving through continuous iteration
> (Jinrui) Yes. But the developer should do enough tests including different 
> scenarios to ensure this feature can work smoothly.
>
>
> &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
> (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; 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.
> (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; 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?
> (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; 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.
> (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; 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?
> (Jinrui) Everyone's contribution counts. But what we are talking about is 
> whether `multi-tenancy` is suitable for current IoTDB's development.
>
>
>
>
> Thanks,
> Zhang Jinrui
>
>
>
>
>
>
>
>
> Original
>
>
>
> From:"Xiangdong Huang"< saint...@gmail.com &gt;;
>
> Date:2023/4/11 12:27
>
> To:"dev"< dev@iotdb.apache.org &gt;;
>
> Subject:Re: [discuss] consider revert the feature of multi-tenancy
>
>
> Hi Houliang,
>
> Notice that I never said the feature should be reverted because of
> bugs.. The key point is the feature is harmful for Industry users
> because most of them do not like cloud. (that is why I opt for
> Jialin's suggestion).
>
> &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.
>
> It is of course right, but it does not mean that we can not revert a
> PR if it is merged.
>
> &gt; Leaving aside this feature, has the PR of the big feature we merged in 
> been discussed in detail? How to define detailed discussion?
>
> Yes for each big feature we need a discussion in detail. As I have no
> much time to join all the features, being the PMC chair, at least I
> need to keep the project following its original destination or new
> destination if we all agree.
>
> Considering my personal time, I judge and intervene featuers which may
> change the product's position. That is why I spent time to discuss
> whether we redesign the cluster mode, whether we split an IoTDB
> instance into two (CN and DN), and whether we tell IoTDB is for
> cloud-native... And that is why I do not care about more detailed
> features..
>
> Best,
> -----------------------------------
> Xiangdong Huang
> School of Software, Tsinghua University
>
> Houliang Qi  于2023年4月11日周二 09:51写道:
> &gt;
> &gt; Hi, all
> &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; 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; 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; 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; [1] https://doris.apache.org/docs/dev/admin-manual/multi-tenant
> &gt; [2] https://hbase.apache.org/book.html#quota
> &gt;
> &gt;
> &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 09:15 |
> &gt; | To | dev@iotdb.apache.org |
> &gt; | Cc | dev@iotdb.apache.org |
> &gt; | Subject | Re: [discuss] consider revert the feature of multi-tenancy |
> &gt; Hi,  Xiangdong,
> &gt;
> &gt;
> &gt; what is the side effect when we manually create a time series?
> &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; This discuss is not for getting "+1" or "-1" (though anyone can reply
> &gt; the vote..).
> &gt; I just want to discuss that do we REALLY consider and analyze the
> &gt; feature and the implementation carefully?
> &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; 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; 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; Thanks!
> &gt;
> &gt;
> &gt; Chao Wang
> &gt; BONC ltd
> &gt; ccgow...@163.com
> &gt; On 4/10/2023 23:45,Xiangdong Huang wrote:
> &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; I think I know this and I have shown my concern about the possible
> &gt; harm of this featuer  to IoTDB's edge mode...
> &gt;
> &gt; 1) how many side-effects the feature will bring;
> &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; The experiment is rather simple...
> &gt; When we really want to show the added codes having no side-effects,
> &gt; all the exepriemnt settings should follow a rule that how to fully
> &gt; expose the possible problems.
> &gt;
> &gt; For example, as mult-tenancy limits the available # of devices,
> &gt; timeseries, and the spaces of disk, it should have side-effect on
> &gt; create new device/timeseries, and writing new data.
> &gt; So,
> &gt; - what is the side effect when we manually create a time series?
> &gt; - what is the side effect when we use automatical creating a time series?
> &gt; - what is the side effect when we write new data? (as the data can be
> &gt; compressed when it is flushed on disk in async mode, how to check the
> &gt; disk space?). Besides, as it impaces each write operation, we need to
> &gt; focus on write operstions which's batchsize=1.
> &gt;
> &gt; This discuss is not for getting "+1" or "-1" (though anyone can reply
> &gt; the vote..).
> &gt; I just want to discuss that do we REALLY consider and analyze the
> &gt; feature and the implementation carefully?
> &gt;
> &gt; If not, then this big feature is not the time to be merged (and I will
> &gt; call a vote then), and then let's rethink it and make it really
> &gt; available together.
> &gt; If yes, we also need to   rethink it and improve it for better 
> performance.
> &gt;
> &gt;
> &gt; Best,
> &gt; -----------------------------------
> &gt; Xiangdong Huang
> &gt; School of Software, Tsinghua University
> &gt;
> &gt; Chao Wang  于2023年4月10日周一 19:14写道:
> &gt;
> &gt; Agree with Houliang's opinion.
> &gt;
> &gt;
> &gt; Thanks!
> &gt;
> &gt;
> &gt; Chao Wang
> &gt; BONC ltd
> &gt; On 4/10/2023 19:01,Houliang Qi wrote:
> &gt; -1
> &gt;
> &gt; First of all, thanks Xiangdong for pointing out IoTDB's Charter.
> &gt;
> &gt; "RESOLVED, that the Apache IoTDB Project be and hereby is
> &gt; responsible for the creation and maintenance of software
> &gt; related to an IoT native database with high performance
> &gt; for data management and analysis, on the edge and the cloud."
> &gt;
> &gt; As the charter post, IoTDB can be deployed in the cloud, this is why we 
> deploy the multi-tenancy feature.
> &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; 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; 2) how to reduce the effect when IoTDB is deployed on the edge.
> &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; This also answers Jinrui's doubt.
> &gt;
> &gt; -&gt; 3) some checks failed on WinOS, are they irrelevant?
> &gt;
> &gt; No, I think they are not irrelevant, the false check message is about 
> the Compaction module, and
> &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; 4) The feature SHOULD be discussed carefully in the community, 
> rather that submit PRs and merged after some reviews.
> &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; 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; [1] https://apache-iotdb.feishu.cn/docx/DbqCd8t3EoxlCFx1yYicd9N4n4s
> &gt; [2] 
> https://github.com/apache/iotdb/actions/runs/4625220921/jobs/8181102446
> &gt; [3] 
> https://github.com/apache/iotdb/actions/runs/4531046594/jobs/7980725316
> &gt; [4] https://apache-iotdb.feishu.cn/docx/doxcnKOYKDmJ40FpVnVsPMd3nTg
> &gt; [5] https://lists.apache.org/thread/y6dqcm2o7qk0nbkllb61bp8cv6d3m1h7
> &gt;
> &gt;
> &gt;
> &gt;
> &gt;
> &gt; Thanks,
> &gt; ---------------------------------------
> &gt; Houliang Qi
> &gt; BONC, Ltd
> &gt;
> &gt;
> &gt; ---- Replied Message ----
> &gt; | From | 张金瑞<329920...@qq.com.INVALID&gt; |
> &gt; | Date | 04/10/2023 15:03 |
> &gt; | To | dev |
> &gt; | Subject | Re:[discuss] consider revert the feature of multi-tenancy |
> &gt; +1,
> &gt;
> &gt;
> &gt; Agree with Xiangdong's opinion.&nbsp;
> &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; Thanks,
> &gt; Zhang Jinrui,Apache IoTDB PMC
> &gt;
> &gt;
> &gt;
> &gt; Original
> &gt;
> &gt;
> &gt;
> &gt; From:"Xiangdong Huang"< saint...@gmail.com &gt;;
> &gt;
> &gt; Date:2023/4/10 10:05
> &gt;
> &gt; To:"dev"< dev@iotdb.apache.org &gt;;
> &gt;
> &gt; Subject:[discuss] consider revert the feature of multi-tenancy
> &gt;
> &gt;
> &gt; Hi all,
> &gt;
> &gt; I see the multi-tenancy feature is merged, and several committers made
> &gt; a lot of contributions on that.
> &gt;
> &gt; As multi-tenancy is quite a big feature, which may change IoTDB's
> &gt; position. The feature SHOULD be discussed carefully in the community,
> &gt; rather that submit PRs and merged after some reviews.
> &gt;
> &gt; Therefore, I call to revert the PR and discuss ASAP about the feature
> &gt; after that.
> &gt;
> &gt; At least, the proposer need to answer the following questions,
> &gt; 1) how many side-effect  the feature will bring;
> &gt; 2) how to reduce the effect when IoTDB is deployed on the edge.
> &gt; 3) some checks failed on WinOS, are they irrelevant?
> &gt;
> &gt; I don't mean of rejecting any big contribution to IoTDB or harming the
> &gt; community's diversity, but  accepting this feature is really big
> &gt; decision and it deserves us to take time to deliberate.
> &gt;
> &gt;
> &gt; Attached IoTDB's Charter:
> &gt; "RESOLVED, that the Apache IoTDB Project be and hereby is
> &gt; responsible for the creation and maintenance of software
> &gt; related to an IoT native database with high performance
> &gt; for data management and analysis, on the edge and the cloud."
> &gt;
> &gt;
> &gt; [1] https://github.com/apache/iotdb/pull/9534/checks
> &gt;
> &gt; Best,
> &gt; -----------------------------------
> &gt; Xiangdong Huang
> &gt; School of Software, Tsinghua University

Reply via email to