Hi, Xiangdong, 

Thank you for your reminder, I think it's okay to correct the description, but 
it's a bit rash to go directly to revert PR without seeing what PR did in 
detail. I don't think any community participant wants that.


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.


Thanks!


Chao Wang
BONC ltd
On 4/11/2023 14:04,Xiangdong Huang<saint...@gmail.com> wrote:
Hi Chao,

It is true that PMC should pay attention to the direction of the project, so 
what direction does this function affect? Does it affect the edge side? What 
are the effects of features that can be turned off?

I have claimed my standpoint.
I reclaim  it here once again and do not  want to mention it further:
when people heard of "multi-tenancy", the first impression is "this
product is for the cloud", which is conflict with IoTDB's description.

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

Chao Wang <ccgow...@163.com> 于2023年4月11日周二 13:19写道:

I missed this PR.  I also do not endorse this PR as I think setting
the limitation strategy is not what an open source project should
consider (It is desired only if the system will be unstable if we have
no such a limitation)


Why can't some restriction strategies be added to the open source system to 
prevent a single user from affecting the operation of the overall system. At 
present, mature open source systems have similar mechanisms, such as doris, 
hbase, etc.? In addition, what does this mechanism have to do with whether the 
system is open source or not? It itself is a function that a more mature 
multi-user system should have. Isn't IoTDB a multi-user system?



What we can do is avoid the case. But if something has conflict with the 
project's position, we must do some action.


Does this function affect the positioning of IoTDB? IoTDB is only for the edge 
side? Can't be deployed and used on the cloud side?


Different users have different requirements. But, the PMC need to keep awake to 
know or make a CONSENSUS about where the project will go.


It is true that PMC should pay attention to the direction of the project, so 
what direction does this function affect? Does it affect the edge side? What 
are the effects of features that can be turned off?




Thanks!


Chao Wang
BONC ltd
On 4/11/2023 12:16,Xiangdong Huang<saint...@gmail.com> wrote:
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?

I missed this PR.  I also do not endorse this PR as I think setting
the limitation strategy is not what an open source project should
consider (It is desired only if the system will be unstable if we have
no such a limitation)

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.

Discussing and notifying on the community is absolutely right. But it
does not mean we have to accept and do not change all the fact that
has happened.
What we can do is avoid the case. But if something has conflict with
the project's position, we must do some action.

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.

Different users have different requirements. But, the PMC need to keep
awake to know or make a CONSENSUS about where the project will go.
That is why I start this discussion though I know it will cause many
complaint.

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

Chao Wang <ccgow...@163.com> 于2023年4月11日周二 09:16写道:

Hi,  Xiangdong,


what is the side effect when we manually create a time series?


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?


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?


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.




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.


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.






Thanks!


Chao Wang
BONC ltd
ccgow...@163.com
On 4/10/2023 23:45,Xiangdong Huang<saint...@gmail.com> wrote:
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.

I think I know this and I have shown my concern about the possible
harm of this featuer  to IoTDB's edge mode...

1) how many side-effects the feature will bring;
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.

The experiment is rather simple...
When we really want to show the added codes having no side-effects,
all the exepriemnt settings should follow a rule that how to fully
expose the possible problems.

For example, as mult-tenancy limits the available # of devices,
timeseries, and the spaces of disk, it should have side-effect on
create new device/timeseries, and writing new data.
So,
- what is the side effect when we manually create a time series?
- what is the side effect when we use automatical creating a time series?
- what is the side effect when we write new data? (as the data can be
compressed when it is flushed on disk in async mode, how to check the
disk space?). Besides, as it impaces each write operation, we need to
focus on write operstions which's batchsize=1.

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?

If not, then this big feature is not the time to be merged (and I will
call a vote then), and then let's rethink it and make it really
available together.
If yes, we also need to   rethink it and improve it for better performance.


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

Chao Wang <ccgow...@163.com> 于2023年4月10日周一 19:14写道:

Agree with Houliang's opinion.


Thanks!


Chao Wang
BONC ltd
On 4/10/2023 19:01,Houliang Qi<neuyi...@163.com> wrote:
-1

First of all, thanks Xiangdong for pointing out IoTDB's Charter.

"RESOLVED, that the Apache IoTDB Project be and hereby is
responsible for the creation and maintenance of software
related to an IoT native database with high performance
for data management and analysis, on the edge and the cloud."

As the charter post, IoTDB can be deployed in the cloud, this is why we deploy 
the multi-tenancy feature.

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.

-> 1) how many side-effects the feature will bring;

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.

-> 2) how to reduce the effect when IoTDB is deployed on the edge.

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.
This also answers Jinrui's doubt.

-> 3) some checks failed on WinOS, are they irrelevant?

No, I think they are not irrelevant, the false check message is about the 
Compaction module, and
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

-> 4) The feature SHOULD be discussed carefully in the community, rather that 
submit PRs and merged after some reviews.

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.


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.

[1] https://apache-iotdb.feishu.cn/docx/DbqCd8t3EoxlCFx1yYicd9N4n4s
[2] https://github.com/apache/iotdb/actions/runs/4625220921/jobs/8181102446
[3] https://github.com/apache/iotdb/actions/runs/4531046594/jobs/7980725316
[4] https://apache-iotdb.feishu.cn/docx/doxcnKOYKDmJ40FpVnVsPMd3nTg
[5] https://lists.apache.org/thread/y6dqcm2o7qk0nbkllb61bp8cv6d3m1h7





Thanks,
---------------------------------------
Houliang Qi
BONC, Ltd


---- Replied Message ----
| From | 张金瑞<329920...@qq.com.INVALID> |
| Date | 04/10/2023 15:03 |
| To | dev<dev@iotdb.apache.org> |
| Subject | Re:[discuss] consider revert the feature of multi-tenancy |
+1,


Agree with Xiangdong's opinion.&nbsp;
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



Thanks,
Zhang Jinrui,Apache IoTDB PMC



Original



From:"Xiangdong Huang"< saint...@gmail.com &gt;;

Date:2023/4/10 10:05

To:"dev"< dev@iotdb.apache.org &gt;;

Subject:[discuss] consider revert the feature of multi-tenancy


Hi all,

I see the multi-tenancy feature is merged, and several committers made
a lot of contributions on that.

As multi-tenancy is quite a big feature, which may change IoTDB's
position. The feature SHOULD be discussed carefully in the community,
rather that submit PRs and merged after some reviews.

Therefore, I call to revert the PR and discuss ASAP about the feature
after that.

At least, the proposer need to answer the following questions,
1) how many side-effect  the feature will bring;
2) how to reduce the effect when IoTDB is deployed on the edge.
3) some checks failed on WinOS, are they irrelevant?

I don't mean of rejecting any big contribution to IoTDB or harming the
community's diversity, but  accepting this feature is really big
decision and it deserves us to take time to deliberate.


Attached IoTDB's Charter:
"RESOLVED, that the Apache IoTDB Project be and hereby is
responsible for the creation and maintenance of software
related to an IoT native database with high performance
for data management and analysis, on the edge and the cloud."


[1] https://github.com/apache/iotdb/pull/9534/checks

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

Reply via email to