You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

March 21, 2021, 2021, Sunday.

Time: 2021-03-21 9:00 PM Beijing Time
Host: Yuyuan Kang

Status Updates

Announce

Apache IoTDB 0.11.13 to release

Bug Fixes

  • ISSUE-2505 ignore PathNotExistException in recover and change recover error to warn
  • IOTDB-1119 Fix C++ SessionDataSet bug when reading value buffer
  • Fix SessionPool does not recycle session and can not offer new Session due to RunTimeException
  • ISSUE-2588 Fix dead lock between deleting data and querying in parallel
  • ISSUE-2546 Fix first chunkmetadata should be consumed first
  • IOTDB-1126 Fix unseq tsfile is deleted due to compaction
  • IOTDB-1137 MNode.getLeafCount error when existing sub-device
  • ISSUE-2624 ISSUE-2625 Avoid OOM if user don't close Statement and Session manually
  • ISSUE-2639 Fix possible NPE during end query process
  • Alter IT for An error is reported and the system is suspended occasionally
  • IOTDB-1149 print error for -e param when set maxPRC<=0
  • IOTDB-2648 Last query not right when having multiple devices
  • Delete mods files after compaction
  • ISSUE-2687 fix insert NaN bug
  • ISSUE-2598 Throw explicit exception when time series is unknown in where clause
  • Fix timeseriesMetadata cache is not cleared after the TsFile is deleted by a compaction
  • ISSUE-2611 An unsequence file that covers too many sequence file causes OOM query
  • IOTDB-1135 Fix count timeseries bug when the paths are nested
  • ISSUE-2709 IOTDB-1178 Fix cache is not cleared after compaction
  • ISSUE-2746 Fix data overlapped bug after the elimination unseq compaction process
  • Fix getObject method in JDBC should return an Object
  • IOTDB-1188 Fix IoTDB 0.11 unable to delete data bug
  • Fix when covering a tsfile resource with HistoricalVersion = null, it鈥檒l throw a NPE
  • fix the elimination unseq compaction may loss data bug after a delete operation is executed

New Features

  • Add explain sql support

Improvements

  • IOTDB-1140 optimize regular data encoding
  • Add more log for better tracing
  • Add backgroup exec for cli -e function
  • Add max direct memory size parameter to env.sh


Closed development

Meta data:

  •  Implement device template (a group of measurements)
  • Eliminate redundant definition of the leaf node

Data in Memory:

  • New data structure for multiple columns sharing a same timestamp
  • Eliminate redundant timestamp
  • Reduce memory consumption

Data on disk:

  • Designed new TsFile format
  • Support data of multiple columns sharing a same timestamp
  • Reduce disk consumption

Result:

       One of the scenarios:


Write efficiency (row/sec)

Single-state, old strategy

190,624

Single-state, new strategy

487,656

Distributed, 3 nodes 1 replica, new strategy

1,095,331


Open Floor
new ideas, feedback, suggestions.

[Discussion] Monthly Contributor Award

February‘s “Contributors of The Month”

  • sunjincheng121(Jincheng Sun), with 132571 lines changed and 8 mails sent;
  • HTHou(Haonan Hou), with 2116 lines changed and 4 mails sent;
  • neuyilan(Houliang Qi), with 2692 lines changed and 3 mails sent.

There are also 22 other contributors who contributed to IoTDB this month.

7 New contributors submitted their first PR in IoTDB

  • wuzhaojie(Zhaojie Wu),
  • WilliamSong11(Yuxiang Song),
  • GLBB,
  • THUMarkLau(Xuxin Liu),
  • chenjun40,
  • 543202718(Haoyu Wang)
  • jxlgzwh(Wenhao Zhong).

[Proposal] Hackthon (April)


Mar 7st, 2021, Sunday.

Time: 2021-03-07 9:00 PM Beijing Time

Host: Kaifeng Xue


Agenda

Status Updates 

Announce

Apache IoTDB 0.11.3 and 0.12.0 is still in progress


Improvement

# 2738 [IOTDB-1177] Trigger module: ANTLR, logical operators, physical plans and authorization

It is the entrance to the trigger management module, and should mainly contain the following parts of code:

  1. Trigger management SQL (ANTLR, logical operators, physical plans and corresponding execution interfaces)
  2. User authentication for trigger management

User Manual:

Chinese:

https://github.com/apache/iotdb/blob/0f48ba2de83d2b1c0da00bba8485baa1c60abe28/docs/zh/UserGuide/Operation%20Manual/Triggers.md

English: https://github.com/apache/iotdb/blob/0f48ba2de83d2b1c0da00bba8485baa1c60abe28/docs/UserGuide/Operation%20Manual/Triggers.md


#2732 [ISSUE-2493] show child nodes path


#2725 Optimize the executeBatch interface in JDBC

At present, the executeBatch method in JDBC is executed separately for each statement.

For the cluster version, each statement will be a raft log, which will lead to the cost of the raft log scrambling for locks and the RPC cost between the raft replication groups.

The insertRecords and insertTablets interfaces in session API also have the same problem, for details please see the following links.

The solution is similar to the previous one. The only difference is that the statements in the executeBatch interface may not only insert data, but also have metadata operations(like set storage group, create timeseries and so on). It is necessary to distinguish between metadata operations and data operations.

Now we let execute batch statment in JDBC really execute in batch at server.


#2714 [IOTDB-1024] Support multiple aggregated measurements for group by level statement

Currently, only one aggregated measurement is supported in this statement to avoid result ambiguity.

This PR is to support multiple aggregated measurements in group by level statement.


Future work:

1 performance improvement in distribute version

2 performance improvement in IoTDB in special user case

3 solve issues in Jira and github



Open Floor 

new ideas, feedback, suggestions.

1. [Discussion] Monthly Contributor Award

Goal: Keep community more vibrant and attract new contributors

Attention: Not really an award, just a title that we can recognize with an announcement on the official wechat account

Preliminary measure:

  • Amount of PR and reviews on GitHub (codes amount)
  • Activity on mailing lists
  • Contributions(publicity, tutorial, etc.) on social media (e.g. WeChat official account, CSDN, Stack Overflow)
  • Being a conference host or event organizer will also count.


The final equation would be S=0.8Z(code)+0.1Z(doc)+0.1Z(mail)

2.[Discussion] Community Mentors

  • Call for mentors and plans
  • Q & A docs(maintained in Github issue,shared by all groups)
  • start up docs (mentor should provide some basic information doc such as code repository, design doc, experiment doc and official account)
  • Wechat group
  • Phase Feedback
  • Sign up : 45 people
  • To be as commiter : 17
  • Users needing professional help : 5
  • Both : 23

3.[Proposal] Hackthon (April)

issue:provide by people who interested in

https://github.com/apache/iotdb/issues/2715

provide a templet for consistency

num of member in a group:

<= 5

1 committer + 2-4 non-committer

aimed participants:student + contributor in community

reward:cash

1st price 30-50k RMB

T-shirt, backpack, bottle with IoTDB logo


agenda:

3.8-3.15 design of propaganda

The end of Mar: sign in

April: get familiar with each other and communicate with mentor

May: coding


10th Meeting Schedule

Time: 2021-03-21

Host: Yuyuan Kang


Feb 21st, 2021, Sunday.

Host: Yuan Tian

Online Meeting (Tencent Meeting):

Link: https://meeting.tencent.com/s/1mMNkx54Ejra

meeting room ID: 690 200 054

password: 0221


Time: 2021-02-21 9:00 PM Beijing Time

Host: Yuan Tian


Agenda

Status Updates 

Announce

Apache IoTDB 0.11.3 and 0.12.0 is still in progress



Improvement

#2596 Improve the flush pipeline

We used PublicBAOS(which extends ByteArrayOutputStream in java) as container to hold the encoded data. Encoding task call the write method to put data into it and IO task call the read method to read data from it, persist it to disk.

However, the methods we called in ByteArrayOutputStream are mostly synchronized. Although we won't call the method of the same object simultaneously in the stage of encoding and io, the Biased locking(which is added as a feature after JDK1.6 and is announced to be deprecated in JDK15) will cause the encoding stage to be influenced by the io stage.

The detailed analysis and experiments can be seen in confluence(https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=173085039&preview=/173085039/173085040/Pipeline%E5%88%86%E6%9E%90.pdf)


#2629 [Github Issue 2624, 2625] Avoid OOM if user don't close Statement and Session manually

When reusing IoTDBStatement to do queries. The Set in statementId2QueryId is never removed unless the statment is clsoed.

This will cause OOM if using a Statement is used for too long time.


 

#2658 Enhancement: add backgroup exec for cli -e function

Previously, there were some problems while we use the following command to execute in background. Now, we can successfully use it.

nohup ./start-cli.sh -e



#2684 Improve the quality and efficiency of code formatting

The Spotless with google-java-format now in effect.

Notice:

This change touched most of single java file in the repository(70K+). So

most of PRs will require a rebase, follow the steps below:

1. git checkout YOUR_PR

2. git cherry-pick b1261ecb5893ee0d357fec311b4d92ff9039a989

3. mvn spotless:check

4. mvn spotless:apply

5. git add .

6. git commit -m 'Apply Spotless'

# asf git@github.com:apache/iotdb.git (fetch)

# Pull the latest master branch

7. git checkout -b asf_master asf/master

8. git checkout YOUR_PR

9. git rebase asf_master

# Resolve your conflict:

# NOTE: `Accept Yours` for your PR involves files, and `accept Theirs` for

other files.

10 git rebase --continue

# Double check

11. mvn spotless:check

# If you see "build success" successfully, it is proved that rebase has

been successful.

12. mvn clean package -DskipTests

# If you see "build success" successfully, you can push your changes to you

PR branch.


Open Floor 

new ideas, feedback, suggestions.

[Discussion] Monthly Contributor Award

Goal: Keep community more vibrant and attract new contributors

Attention: Not really an award, just a title that we can recognize with an announcement on the official wechat account

Preliminary measure:

  • Amount of PR and reviews on GitHub (codes amount)
  • Activity on mailing lists
  • Contributions(publicity, tutorial, etc.) on social media (e.g. WeChat official account, CSDN, Stack Overflow)
  • Being a conference host or event organizer will also count.


The final equation would be S=0.9Z(code)+0.1Z(mail)

两个方向上的称号:

代码贡献+代码review贡献

[Discussion] Community Mentors

  • Call for mentors and plans
  • Q & A docs(使用 Github issue 维护,所有小组共享)
  • start up docs (导师提供的上手基础资料,如代码仓库、设计文档、如何调、经验分享、公众号等,导师之间可以共享) —— 组建小组群之前
  • Wechat group
  • Phase Feedback(阶段性反馈)


Sign up : 45 people

  • To be as commiter : 17
  • Users needing professional help : 5
  • Both : 23


报名人群可以细分:已经熟悉IoTDB但是对于设计不够熟悉,如何入手修改

感兴趣的模块:查询 / 存储 / 分布式 / 实时计算 / 全部


灵活、不限时间,没有集中的开发时间,与现有社区的committer建立联系

每个导师负责 1-3 人,作为小组


2月10日之前:建群,start up文档,找导师


[Proposal] Hackthon (April)

开issue:大家罗列一些想法

https://github.com/apache/iotdb/issues/2715

1 committer + 3 non-committer

面向人群:校内学生+社区贡献者

奖励:现金奖励形式

流程:

报名(3月下旬)

提前1个月确定导师与学生,一个月内可以进行线上沟通交流与设计(4月份)

两三天的集中code时间(5月初)

奖励评定(code结束后)

New Committers公众号推送

祥威、禹任 采访


9th Meeting Schedule

Time: 2021-03-07

Host: Kaifeng Xue



Meeting bi-weekly Sunday at 9:00 pm Beijing Time.

Language:

  • Meeting Minutes: English
  • Speaking: Chinese (if all the attendees are Chinese), English (if there is at least one non-chinese speaker ) 

Online Meeting (Tencent Meeting or VooV Meeting):

January 31st, 2021, Sunday.

Time: 2021-01-31 9:00 PM Beijing Time
Host: Zesong Sun

https://shimo.im/docs/dt8C9cQtKHGgkH89

Status Updates

Announce

Apache IoTDB 0.11.2 released (01-23)

Notice: Prepare to release 0.11.3, and keep maintaining 0.11.x version for a while until v0.12.x is stable.

Currently, the main branch is serving for 0.12 and the version changes the TsFile format once again.

Though we will provide the upgrade tool, it is still a big decision for users to upgrade the version (as they need to upgrade existing data files).

Besides, even 0.12.0 will be released, we may need 1~2 versions (or more) to guarantee the version stable.

Vote

change release tags from release/{full-version} to v{full-version}

eg. release/0.11.2 to v0.11.2

Currently, we use release/{major}.{minor}.{patch} as our tag stale, which may bring some troubles for some languages like GoLang.

New Features


#2405 [IOTDB-1079] Virtual storage group first mile stone

Currently out concurrency unit is storage group which can't make full use of cpu cores when user only set 1 or 2 storage group. We need virtual storage group to improve concurrent performance. This PR finish first part of the design

#2488 Add DirectByteBufferPool for WAL

There are two problems in the process of current wal flushing.

Because wal uses FileChannel while flushing, it involves one more memory copy. FileChannel will copy the contents of HeapByteBuffer to DirectByteBuffer before calling native write method, and then call native write with DirectByteBuffer as a parameter, which will cause An extra memory copy operation.

Although 0.12 uses the thread pool to complete asynchronous flushing, to a certain extent, solves the problem of the surge of non-heap memory caused by the wal of 0.11, but when the non-heap memory is released is still depends on the jvm (depends on when gc is performed), jvm cannot know whether non-heap memory should be released in time, so it may also cause non-heap memory not be released in time, but we are clear about that.

So, I want to use DirectByteBufferPool to solve the above two questions.

#2184 [IOTDB-1081] New TsFile Format

The TsFile format version will update to V3.
It will be applied in the next major version (i.e., 0.12).
We find that the former tsfile format waste some disk space, some information was stored duplicately and some legacy fields are no longer useful.

#2603 Accelearate CI by split a CI into several parts

split the main-ci into 3 parts: server, cluster, and others
add two parameters to just test the server or the cluster, e.g.,
-DskipTests -Diotdb.test.only=true
-DskipTests -Dcluster.test.only=true
Split the main-ci into two github action groups to save resource when re-run some actions.
disable enforcer by default, to enable it, use -P enforce
disable generating jar-with-dependencies, to enable it, use -P get-jar-with-dependencies

Open Floor
new ideas, feedback, suggestions.

1. [Discussion] Monthly Contributor Award

Goal: Keep community more vibrant and attract new contributors
Attention: Not really an award, just a title that we can recognize with an announcement on the official wechat account
Preliminary measure:
Amount of PR and reviews on GitHub (codes amount)
Activity on mailing lists
Contributions(publicity, tutorial, etc.) on social media (e.g. WeChat official account, CSDN, Stack Overflow)
Being a conference host or event organizer will also count.

2. [Discussion] Community Mentors

Call for mentors and plans
Q & A docs
start up docs
Wechat group

Sign up : 45 people
To be as commiter : 17
Users needing professional help : 5
Both : 23

3. [Experiment] Compares to influxDB in terms of performance

Need to update to the website:
https://iotdb.apache.org/UserGuide/Master/Comparison/TSDB-Comparison.html

4. [Proposal] Hackthon (April)

1 committer + 3 non-committer

January 3rd, 2021, Sunday.

Time:  9:00 PM Beijing Time

Host:Xinyu Tan

Attendees 

Agenda: (put what you want to discuss in the meeting here before the meeting starts)

  1. review of the conclusions of 4rd meeting
    1. Call for community mentors
      1. all committers can be mentors(wechat group)
      2. Q & A docs, FAQ docs, start up docs.
      3. combine
      4. attract new contributors(wechat official accounts)
    2. About IoTDB publicity
      1. WeChat official account, Bilibili, Tiktok, aliyun(private account)
      2. video is uploaded in Bilibili
      3. self ask, self answer in StackOverFlow - ask jincheng
    3. compares to influx in terms of performance
      1. https://iotdb.apache.org/UserGuide/Master/Comparison/TSDB-Comparison.html
      2. upgrade version 0.8.0→0.11.1 - xiangdong
      3. tsbs benchmark: timescaledb、influxdb
    4. preproduction site
      1. chinese ppt
      2. ApacheCon - use cases
      3. https://iotdb.apache.org/Community/Materials.html upgrade 2020 - xiangdong
    5. New committer introduction - qiaojialin(1.4-1.9)
      1. Houliang Qi
      2. Xinyu Tan
    6. the label coverage of PR - xiangdong
    7. announce of 0.11.2 (qiaojialin)
      1. WeChat official account 
    8. github robot - next meeting to be discussed(benedict, qiaojialin)
      1. https://github.com/marketplace
      2. Dependabot, Codecov, Imgbot,  PEP 8 Speaks, Labelbot,
      3. Hi,

        Thanks for letting us know so many good tools.

        I do not believe code changes by robots very much unless I read the code
        changes myself.
        But I also think having such tools can help us saving time.

        - Mergify: I do not like it. :( I think it is dangerous...

        - Dependabot: I like this tool. (But we'd better to have a full test, as
        some dependencies may lead to performance reduction when it fixes
        something.

        - Codecov: Well, if someone can set this up, I opt for it! I have spent
        more than 3 days to fix the coveralls... but failed. We need code coverage
        checking very much.

        - Imgbot: OK from my view, as we have few images in the repo.

        - Pull Request Size: OK from my view.

        - PEP 8 Speaks: I like it.

        Best,
        -----------------------------------
        Xiangdong Huang
        School of Software, Tsinghua University
    9. best contributor monthly- need discuss and proposal (zhouyurun)
      1. PR
      2. review
      3. mailing list
      4. WeChat official account
      5. doc
      6. event(activity)
      7. stackoverflow, csdn
    10. to be a committer - need discuss
      1. code
        1. PRs(xinyu)
        2. modules - fix significant bug(xinyu)
        3. can maintain a module(xiangdong)
          1. a clear impression of someone
      2. doc or others
      3. pingcap : https://pingcap.com/blog-cn/tidb-community-upgrade/
  2. code management by git flow:
    1. avoid pushing to the repository directly
    2. provide relatively detailed commit message.
    3. Do not force-update a commit if someone has reviewed your code
    4. use squash merge(whether need to disable directly-merge?)(xinyu Tan)
    5. list the reproduction procedure when reporting bugs
    6. detailed pr/issue title(is Chinese needed?)
  3. next host : 1.17 : suyurong

Minutes:

  • discuss1 (proposer): content
  • discuss2 (): ...

December 20th, 2020, Sunday.

Time:  9:00 PM Beijing Time

HostLingzhe Zhang

Attendees 

Agenda: (put what you want to discuss in the meeting here before the meeting starts.)

  1. review of the conclusions of 3rd meeting
    1. About meet up
    2. Call for community mentors
      1. waiting
    3. About IoTDB publicity
      1. WeChat official account, Bilibili, Tiktok, aliyun(private account)
      2. video is uploaded in Bilibili
      3. self ask, self answer in StackOverFlow - ask jincheng
  2. compares to influx in terms of performance
    1. https://iotdb.apache.org/UserGuide/Master/Comparison/TSDB-Comparison.html
    2. upgrade version 0.8.0→0.11.1 - xiangdong
    3. tsbs benchmark: timescaledb、influxdb
  3. preproduction site
    1. chinese ppt
    2. ApacheCon - use cases
    3. https://iotdb.apache.org/Community/Materials.html upgrade 2020 - xiangdong
  4. interop with ML tools
    1. need roadmap - need discuss
    2. python client - suyurong
      1. doc
      2. readme
      3. use case
  5. New committer introduction - qiaojialin
    1. Houliang Qi
    2. Xinyu Tan
  6. the label coverage of PR - xiangdong
  7. github robot - next meeting to be discussed
    1. https://github.com/marketplace
  8. contributor weekly (qiaojialin) - need discuss
    1. all important contribution
    2. for all new contributor
  9. best contributor monthly (zhouyurun) - need discuss and proposal
    1. PR
    2. review
    3. mailing list
    4. WeChat official account 
    5. doc
    6. event(activity)
  10. announce of 0.11.1 (haonan)
    1. WeChat official account 
    2. or just announce 0.11.2 (qiaojialin)
      1. flush
  11. to be a committer - need discuss
    1. code
      1. PRs(xinyu)
      2. modules - fix significant bug(xinyu)
      3. can maintain a module(xiangdong)
        1. a clear impression of someone
    2. doc or others
  1. (5th presenter) next host
    1. tanxinyu,suyurong

Minutes:

  • discuss1 (proposer): content
  • discuss2 (): ...

December 6th, 2020, Sunday.

Time:  9:00 PM Beijing Time

Join Tencent Meeting or VooV Meeting:

https://meeting.tencent.com/s/U17cHJmg5T2n

Meeting ID: 335854726

HostXiangwei Wei

Attendees 

Minutes:

  1. About meet up
    We held the first Apache IoTDB offline meetup successfully in 29 November. We mainly talked about the experience of using IoTDB and the development of it. But as it's the first time, we have many aspects to improve.

    1. Add free talk
      In last meetup, the main activities we held were the lectures about IoTDB using and developing. We got a lot from these lectures. But the offline meetup is also a good chance to help community members get to know each other. So I think, we can add free talk in meetup, maybe academic or not, to offer this chance.

    2. Bring the summary of meetup back to community
      For various reasons, some friends in the community can't join meetup offline. Therefore, we need to record the meetup by video and doc, and share the summary of meetup to them by mailing list or IoTDB website.

  2. Community gift
    We plan to design some community themed little gifts for contributors who has contributions (code, doc or something else) to the community. At present, we have completed the design of mouse pad. Next, we can collect the personal information of the contributors to mail these gifts.

  3.    Call for community mentors
    We used to propagate IoTDB in many Chinese universities, and many students are interested in IoTDB. However, the development threshold of IoTDB may be difficult for some newcomers who have no development experience.
    So we think if some community members are familiar with some aspects of IoTDB and interested in developing new people. They can be community mentors to help these newcomers by explaining some code and introducing some simple issues etc.
    We can start an enrollment program to recruit mentors, and after that start a vote about whether they can be the mentors.

  4. About IoTDB publicity
    For a long time, due to the lack of special attention to publicity, the effect of IoTDB publicity is not good. This also leads to the lack of contributors and the unknown situation of IoTDB.
    Therefore, next we can try to put IoTDB's promotional materials, documents and conference videos like the meetup video on more platforms, like IoTDB website, WeChat official account, Bilibili or even Tiktok.


All records before Dec 6th, 2020, can be accessed here : https://shimo.im/docs/rqxJrjHwx6r8tJwd (in Chinese)

  • No labels